玄学waf+注入盒子
注意到8080是filtered
先看web
checkpromo.php可以POST,image.php可能有SSRF
但是WAF很讨厌
POST内容只要有单引号,就拦掉
先看SSRF
可以读文件
但是找了一圈没啥用。。。
可以读数据库配置
拿ssrf探测一下localhost的端口
之前被拦的8080可以
而且内容和80一样
那么可以这样绕WAF
src带入一层url编码,SSRF访问8080的checkpromo,把注入的payload再带入一层url编码
类似这样
即可过WAF
写tamper
这里有个非常玄学的问题 … 请求包太长会卡10秒,然后报408错误 可以这样搞 删掉useragent 删掉referer //sqlmap把level开高会带上 删掉payload后面的几个随机字符。。。 可以通过burpsuite代理一下,然后拿正则把这些东西弄掉 这里卡了超级久…
以下是完整的sqlmap指令
sqlmap -u "http://192.168.20.192/image.php?src=http://127.0.0.1:8080/checkpromo.php?promocode=PENTEST123*" --tamper=demo --dbms=mysql --technique=B -D fancydb -T users --proxy=http://127.0.0.1:8080 --dump --no-cast
结果
拿这账号密码登录ssh
进去是个rbash
没有回显。。。
wget下个meterpreter,找个gtfobins运行即可
这里不能直接跑
/tmp/111
换成awk 'BEGIN {system("/tmp/111")}'
即可得到meterpreter
然后看到内核3.13.0 直接提
拿到root
可以研究一下WAF
看到80是个python
真正的web再8080上
那么WAF就是个正向代理+过滤