CTF通关录
CTF通关录-mfw
打开题目:一串英文大概意识,就是可以通过给page传递参数来浏览网页
我想到了什么?文件包含,本地,远程
看了一下包含的参数,发现并不能使用文件包含
查看了一下源码,发现了flag,尝试输入参数flag,文件确实存在,但没有任何内容
仔细浏览了一下所有页面:这里给了提示Git,就想到.git源码泄露
这里使用Githack发现了templates下有个flag.php
cat一下
发现没有flag,然后cat index.php
发现命令执行新大陆这里的关键点assert函数
assert函数会把里面的字符串当成代码执行,而且这里的字符串是用拼接的方式,这也给了我们控制传入参数的可能
最后生成payload
123’,’…’) === false or system(‘cat templates/flag.php’);//
我这里payload很简单,当然这个题payload很多,变化莫测
最后查看源码: