免责申明
本文章仅用于信息安全防御技术分享,因用于其他用途而产生不良后果,作者不承担任何法律责任,请严格遵循中华人民共和国相关法律法规,禁止做一切违法犯罪行为。
0x00 前言
最近看到一个公众号发了一个文章,是一个Nday漏洞远程命令执行,前台可以直接进行命令执行,并且提供了EXP脚本,通过脚本筛选,发现互联网存在9k多站点
但是真实存在漏洞的站点不足100个,于是找到好朋友要到了该套存在漏洞的源码,开始审计看看是否存在一些未被修复的漏洞,首先进行混分析一下这个远程命令执行漏洞
0x01 漏洞分析
在文件__debugging_center_utils___.php当中存在一个传参,传入了log参数,并且传入到print_file函数,但是这个函数当中使用system进行执行了命令,导致可以被执行任意命令
漏洞复现
在本地搭建起来这个源码,访问进行本地测试
payload:
http://ip/__debugging_center_utils___.php?log=;执行的命令
使用;管道符进行执行额外的命令,最后打印出来了,但是我们使用提供的EXP来查看
大部分已经修复了,于是想着看看这种存在漏洞的版本有没有还没有被发现的0day漏洞,可以在最新版本进行利用
0x02 新的审计
因为之前的漏洞是前台无条件RCE漏洞,所以我们这里写一个小脚本,用来将可以在前台访问的PHP文件都筛选出来并且复制到新的一个文件夹。
前台可以访问的文件,一般属于代码当中不包含鉴权代码的文件,我们前台可以进行访问,一般来说鉴权代码都是放到一个文件当中然后需要用到鉴权的时候直接去包含他,我们查看别的文件。
大部分文件都调用了这个函数,跟进去发现确实是鉴权代码,那么我们脚本当中检测不存在这个关键词的文件就筛选出来并且复制到新的文件夹
复制到了新的文件夹之后开始审计,这些文件全部都可以直接前台访问,师傅们还可以进行二次验证将每个文件都访问一次,来进行一个过滤
载入项目开始审计
0x03 无条件文件删除
在文件deletefile.php当中存在无条件任意文件删除
这么明显的一个文件删除POST传入filename之后直接进行来了删除,没有任何过滤,进行验证一下
在bin下新建一个文件为1.txt,尝试删除
查看文件成功删除
0x04 无条件任意文件读取
在文件css_parser.php当中
存在传参,传入css参数,并且没有任何过滤便传入了file_get_contents函数在最后27行打印出来有了回显
漏洞验证
让其自己读取自己,成功回显,拿到任意文件读取
0x05 反转
在拿到新的漏洞的时候兴高采烈的在互联网上的网站进行访问站点
发现老版本当中存在漏洞的文件已经被删除,并且任意文件读取也无法复现了,在新版本当中已经进行了修复,可能这个漏洞没有爆出来,但是已经被修复了
0x06 完结
欢迎师傅们打扰,碰撞出思想的火花
原文始发于微信公众号(进击安全):针对旧系统前台无条件漏洞审计过程
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论