搜了一下thinkPHP6 的洞,看到一个可以RCE的洞,就赶紧试试
利用方式大概就是首先 session文件的命名我们是可控的,通常是 sess_+ PHPSESSID 的值
命名的
注意:这里 PHPSESSID是32位
其次,会把提交的 key 写入到 session 文件
,所以利用就是想办法把payload写到可控的session文件中
先注册个账号,然后抓登录的包,把 PHPSESSID改成 PHPSESSID=1234567812345678123456781236.php
现在写入key
访问 /runtime/session/sess_1234567812345678123456781236.php
蚁剑连上来,确实是在这里
flag被限制了读取,找个可以上传的地方传php7-gc-bypass的 exp 过 disable_functions
我们只需要包含进这个exp就可以正常读取flag了