攻防世界-file_include
短信预约 -IT技能 免费直播动态提醒
题目
访问路径获得源码
通过阅读php代码,我们明显的可以发现,这个一个文件包含的类型题
文件包含漏洞也是一种“注入型漏洞”,其本质就是输入一段用户能够控制的脚本或者代码,并让服务器端执行。
- require(),找不到被包含的文件时会产生致命错误,并停止脚本运行。
- include(),找不到被包含的文件时只会产生警告,脚本将继续运行。
- include_once()与include()类似,唯一区别是如果该文件中的代码已经被包含,则不会再次包含。
- require_once()与require()类似,唯一区别是如果该文件中的代码已经被包含,则不会再次包含。
读题我们发现我们需要去读取./check.php中的数据,我们尝试用伪协议进行读取,接下来构造payload
?filename=php://filter/read=convert.base64-encode/resource=check.php
发现行不通,肯定是被过滤了,我去百度filter绕过过滤的时候发现了一种:
转换过滤器如同 string.* 过滤器,convert.* 过滤器的作用就和其名字一样。转换过滤器是 PHP 5.0.0 添加的。对于指定过滤器的更多信息,请参考该函数的手册页。https://www.php.net/manual/zh/filters.convert.php在激活 iconv 的前提下可以使用 convert.iconv.* 压缩过滤器, 等同于用 iconv() 处理所有的流数据。 该过滤器不支持参数,但可使用输入/输出的编码名称,组成过滤器名称,比如 convert.iconv.. 或 convert.iconv./ (两种写法的语义都相同)。
支持的字符编码
当前
mbstring
模块支持以下的字符编码。这些字符编码中的任意一个都能指定到mbstring
函数中的encoding
参数。该 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)
- JIS
- JIS-ms
- CP50220
- CP50220raw
- CP50221
- CP50222
- ISO-8859-1*
- ISO-8859-2*
- ISO-8859-3*
- ISO-8859-4*
- ISO-8859-5*
- ISO-8859-6*
- ISO-8859-7*
- ISO-8859-8*
- ISO-8859-9*
- ISO-8859-10*
- ISO-8859-13*
- ISO-8859-14*
- ISO-8859-15*
- ISO-8859-16*
- byte2be
- byte2le
- byte4be
- byte4le
- BASE64
- HTML-ENTITIES(别名:HTML)
- 7bit
- 8bit
- EUC-CN*
- CP936
- GB18030
- HZ
- EUC-TW*
- CP950
- BIG-5*
- EUC-KR*
- UHC(别名:CP949)
- ISO-2022-KR
- Windows-1251(别名:CP1251)
- Windows-1252(别名:CP1252)
- CP866(别名:IBM866)
- KOI8-R*
- KOI8-U*
- ArmSCII-8(别名:ArmSCII8)
对于我这种编码能力差的小白,我直接就是一个一个手测,然后呢,发现?filename=php://filter//convert.iconv.SJIS*.UCS-4*/resource=check.php好使,但是没有flag
那么我们看看flag.php有没有
?filename=php://filter//convert.iconv.SJIS*.UCS-4*/resource=flag.php
来源地址:https://blog.csdn.net/m0_49025459/article/details/128351671
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341