第一部分:文件包含
1.文件包含基本概念
开发人员都希望代码更加灵活,所以通常会将被包含的文件设置为变量,用来进行动态调用。正是这种灵活性,从而导致客户端可以调用一个恶意文件,造成文件包含漏洞。文件包含分本地包含和远程包含.
典型特征
变量的值为一个页面:
?page=a.php
?home=b.html
?file=content…
2.文件包含漏洞利用的前提条件
(1)web 应用采用 include 等文件包含函数,并且需要包含的文件路径是通过用户传输参
数的方式引入;
(2)用户能够控制包含文件的参数,被包含的文件可被当前页面访问;
常见的导致文件包含的函数:
PHP:include()、include_once()、require()、require_once()等;
1.php文件包含可以直接执行包含文件的代码,包含的文件格式不受任何限制
在 php 中提供了四个文件包含函数:
(1) Require: 找不到被包含的文件时会产生致命错误(E_COMPILE_ERROR),并停止脚本;
(2) Include:找不到被包含的文件时只会产生一个(E_warinng),脚本将继续执行;
(3) Require_once:与 include 类似会产生警告,区别是如果文件代码已经被包含,则不会再
次被包含;
3.文件包含获取 webshell 的条件:
(1)攻击者需要知道文件存放的物理路径;
(2)对上传文件所在目录拥有可执行权限;
(3)存在文件包含漏洞;
一.本地包含
1.无限制
同级访问:http://127.0.0.1/include.php?filename=1.txt
跨级访问:http://127.0.0.1/include.php?filename=../../../www.txt
2.有限制
绕过思路:
一、%00截断(条件:magic_quotes_gpc = off ,php版本<5.3.4>)
例如:1.txt%00
原理:将后面的.html给截断
二、长度截断:(条件:windows,点号需要长于256,linux长于4096)
例如:
1.txt/./././././././././././././././././././././././././././././././././././././././././././././././././././././././.
/././././././././././././././././././././././././././././././././././././././././././././././././././././././././././.
三、点绕过
1.txt................................................................................................................
原理:(其他符号也可以)只要超过了256个,那么限制后面的html就无法加入了,
且系统会将后面的符号进行自动删除。
第二部分:远程包含
绕过方法
http://127.0.0.1/include.php?filename=1.txt%20
http://127.0.0.1/include.php?filename=1.txt%23
http://127.0.0.1/include.php?filename=1.txt?
等等... ...
常见的敏感路径:
1 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 配置文件
2 UNIX/Linux
/etc/passwd
/usr/local/app/apache2/conf/httpd.conf //apache2 默认配置文件
/usr/local/app/apache2/conf/extra/httpd-vhosts.conf //虚拟网站设置
/usr/local/app/php5/lib/php.ini //PHP 相关配置
/etc/httpd/conf/httpd.conf //apache
/etc/php5/apache2/php.ini //ubuntu 系统的默认路径
文章部分转载,原文链接:https://blog.csdn.net/qq_39431542/article/details/88628225