赞
踩
文件包含漏洞(File Inclusion Vulnerability)是一种Web应用程序常见的安全漏洞,也是攻击者常用的攻击手段之一。这种漏洞通常存在于代码中,允许攻击者将未经过滤的输入作为参数传递给文件包含函数(如include()、require()等),从而加载恶意脚本或者敏感文件到服务器上,并进一步攻击系统。攻击者可以通过该漏洞窃取敏感信息、执行任意命令、控制服务器等。
常见的文件包含漏洞有两种类型:
1.本地文件包含(LFI):攻击者通过提交恶意请求,可以访问服务器上本地已存在的文件。这种漏洞通常发生在应用程序没有对用户输入进行过滤的情况下,接受用户的输入来指定文件名或者路径,并将其传递给包含函数的时候。
2.远程文件包含(RFI):攻击者通过构造一个URL链接,将远程服务器上的恶意脚本地址传递给包含函数,从而导致远程服务器上的脚本被执行。
?filename=php://filter/read=convert.base64-encode/resource=check.php
转换过滤器
如同 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
?filename=php://filter//convert.iconv.SJIS*.UCS-4*/resource=flag.php
知识点:文件包含漏洞
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。