发帖
 找回密码
 立即注册
搜索
0 0

分享 第三十一课 樊子健

技术分享 1091 0 2025-6-4 15:56:11
文件包含漏洞(一)


⽂件包含漏洞原理

⽂件包含严格来说不算漏洞,算功能,但是,由于包含、引⽤、读取、访问的⽂件不可控的性质,导致漏洞的产⽣


⽂件包含-功能


include("../sql-connections/sql-connect.php");
10 个地⽅⽤到同样的 600 ⾏代码⽂件
如果调⽤了⽂件包含相关的函数,那么就可以直接解析执⾏⽂件内的 php 代码,不会受到⽂件类型的影响


实例代码


<?php
$file = $_GET['file'];
include($file);
?>




1.txt
hello world!!
2.txt
<?php phpinfo();?>


如果读取的⽂件是 php 代码类的⽂件,那么可以直接解析执⾏
如果不是 php 代码⽂件,那么就会将⽂件的原始内容直接输出出来


漏洞分类


LFI: local file include(本地⽂件包含)




RFI:remote file include(远程⽂件包含)
需要满⾜两个前提php.ini 配置⽂件内
allow_url_fopen allow_url_include 都要为 ON




⽂件包含函数


include():⽤到⽂件就去读取使⽤,如果出错只会警告但代码会继续执⾏
Incluede_once():⽤到⽂件就去读取使⽤,如果出错只会警告但代码会继续执⾏(包含的⽂件只会读取⼀次,不会
重复读取)
Require():如果发⽣错误,代码会停⽌执⾏
require_once():如果发⽣错误,代码会停⽌执⾏(包含的⽂件只会读取⼀次,不会重复读取)
2.php


<?php
$a="这是 2.php ⽂件"
?>


3.php


<?php
//使⽤ include 函数包含 2.php ⽂件
include '2.php';
echo "⽂件包含测试:".$a;
//使⽤ inclede 函数包含⼀个不存在的⽂件
include 'abc.php';//致命错误
echo "这是代码的中间部分";
//使⽤ require函数包含⼀个不存在的⽂件
require ‘abc.php’; //这⾥会产⽣⼀个致命错误
echo "这是代码的结尾"; //代码不会执⾏到这⾥
?>


利⽤


常⻅敏感⽬录:https://www.cnblogs.com/NBeveryday/articles/sensitvefile.html


php 伪协议


file:// — 访问本地⽂件系统
http:// — 访问 HTTP(s) ⽹址
ftp:// — 访问 FTP(s) URLs
php:// — 访问各个输⼊/输出流(I/O streams)

php://filter/read=convert.base64-encode/resource=⽂件名

php://input:将 post请求的数据当做代码执⾏
压缩类型:可以直接访问压缩包⾥⾯的⼦⽂件
zlib:// compress.zlib://压缩包名 (只能够执⾏ gz 后缀的压缩包)
zip://压缩⽂件绝对路径%23压缩⽂件内的⼦⽂件名
bzip://
phar://压缩⽂件绝对路径/⼦⽂件名 (可以使⽤相对路径也可以使⽤绝对路径)
bzip2://
data:// — 数据(RFC 2397) 执⾏代码

data://text/plain;base64,编码的代码

data://text/plain,原始代码
glob:// — 查找匹配的⽂件路径模式
phar:// — PHP 归档
ssh2:// — 安全外壳协议 2
rar:// — RAR
ogg:// — ⾳频流
expect:// — 处理交互式的流




WEB渗透测试工程师系统班250303
31节课作业
1. 为什么会需要文件包含功能?

include("../sql-connections/sql-connect.php");
10 个地⽅⽤到同样的 600 ⾏代码⽂件
如果调⽤了⽂件包含相关的函数,那么就可以直接解析执⾏⽂件内的 php 代码,不会受到⽂件类型的影响
2. 文件包含漏洞的原理是什么?
由于包含、引⽤、读取、访问的⽂件不可控的性质,导致漏洞的产⽣
实操课程内讲解的文件包含漏洞靶场


──── 0人觉得很赞 ────
免责声明:
1、本论坛中所有用户发布的内容仅代表作者个人观点,与本网站立场无关,本站不对其真实性、完整性或观点承担任何责任。
2、本论坛所提供的全部信息与内容,不保证其准确性、完整性或时效性。因阅读或使用本站内容而产生的任何误导、损失或风险,本站概不承担任何连带或法律责任。
3、当国家司法、行政机关依照法定程序要求本论坛披露用户信息时,本站予以配合并因此免责。
4、因网络线路故障、技术问题、不可抗力或本站无法控制的其他原因导致的服务中断或暂停,本站不承担由此造成的任何直接或间接损失。
5、对于任何通过技术手段破坏、攻击本论坛系统或扰乱正常秩序的行为,本站有权采取包括但不限于限制账号、封禁账号、追究法律责任等措施。
您需要登录后才可以回帖 立即登录
高级模式
返回