Ywc's blog

巅峰极客 OneThink/Thinkphp 的缓存getshell漏洞

Word count: 402Reading time: 1 min
2018/07/25

题目思路

onethinkcms

关键点

  • 缓存文件路径
  • 用户注册成功并登陆成功(我试了很多都是用户收到限制或者不存在,姿势不对…)
  • 注册登陆必须每次抓包url解码后再发包回去
  • 每次注册和登陆在发包的时候URL-encode 必须勾选上再提交,否则会把换行符的url-encode当成字符串来处理。登陆的时候也需要抓包,在用户名前面加上换行符的URL-encode,且勾选上URL-encode.

payload

1
2
3
/Runtime/Temp/onethink_6d11f0be3af9c28d4120c8fd5fe65a40.php?X=system(‘cat /tmp/flag’);

或/Runtime/Temp/onethink_6d11f0be3af9c28d4120c8fd5fe65a40.php?X=cat /flag>/tmp/flag

参考文章

文章1
文章2

CATALOG
  1. 1. 题目思路
    1. 1.1. 关键点
    2. 1.2. payload
  2. 2. 参考文章