记一次审计某站泄露的源码

admin 2024年10月21日16:09:37评论16 views字数 978阅读3分15秒阅读模式

原文首发在:先知社区

https://xz.aliyun.com/t/15886

某次源码泄露审计时,易优CMS老版本的任意文件删除突然就出现了,
漏洞点一到四为一套thinkphp框架的源码,漏洞点五为易优CMS的任意文件删除

漏洞点一(没用):

提交url=http://ip:8000/ct_ceshi.php&method=get&post[a]=111
能够利用http或者伪协议php://input给$res赋值,

记一次审计某站泄露的源码

记一次审计某站泄露的源码

这里没有输出file_get_contents读取的内容,因此利用伪协议也返回不了数据,

之后会使用writelog将请求内容写入日志中,
可以尝试截断文件名,这里是文件名拼接的 ,不过没有成功,
(%00需要php版本小于5.3.4 magic_quotes_gpc为off)
(长度截断需要php版本小于php 5.2.8)

记一次审计某站泄露的源码

记一次审计某站泄露的源码

不过这里将读取的内容写入了日志文件中,路径我们可以爆破出来,
后续可以通过file_get_content读取到日志中,
日志路径:https://xxx.xxx/soapGetDateXt/2024-09-02/get/16_45_48_10000.txt,

这里就没有尝试了,费时间,

漏洞点二(没用):

curl_exec,这里没有输出curl_exec,和file_get_content情况类似,能利用伪协议,不过没有输出内容,

记一次审计某站泄露的源码

这里可以尝试去利用dict等协议去尝试利用redis未授权等漏洞,

漏洞点三(没用)

可以上传本地文件到目标服务器中,这里其实没有CURLOP_POSTFILELDS,
这里只是熟悉下利用方式,如果存在CURLOP_POSTFILELDS,就能达到文件读取,
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

这里直接在本地搭建环境,

记一次审计某站泄露的源码

记一次审计某站泄露的源码

漏洞点四sql注入

参考:https://xz.aliyun.com/t/14451
sql注入,利用了thinkphp3的sql注入,

记一次审计某站泄露的源码

记一次审计某站泄露的源码

漏洞点五任意文件删除(易优CMS任意文件删除)

这里设置路径当做头像,然后会删除上一次头像路径,然后就可以上传两次,第一次的路径就会被删除,

记一次审计某站泄露的源码

会删除根目录下的robots.txt,

记一次审计某站泄露的源码

之后自己搭建新版,发现对filename做了限制,因此新版修复了此漏洞,

记一次审计某站泄露的源码

原文始发于微信公众号(亿人安全):记一次审计某站泄露的源码

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年10月21日16:09:37
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   记一次审计某站泄露的源码https://cn-sec.com/archives/3295535.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息