15 常规漏洞 文件包含

在听这节课前我对于文件包含的理解仅限于包含执行图片马以及可以使用伪协议

听的时候就觉得真TM牛逼,给了我一些新的思路

 

文件包含本来是调用某些会重复使用的文件的一种快捷方式

被调用的文件会以php的方式执行

但是当被包含的文件被设置为变量且客户端可控时,就有可能出现文件包含漏洞

 

常见文件包含函数
include():执行到 include 时才包含文件,找不到被包含文件时只会产生警告,脚本将继续执行
require():只要程序一运行就包含文件,找不到被包含的文件时会产生致命错误,并停止脚本
include_once()和 require_once():若文件中代码已被包含则不会再次包含
 
本地文件包含
注意相对路径和绝对路径
可以包含系统文件读取系统信息
也可以和文件上传漏洞产生一波联动
执行上传文件中的图片马
 
包含日志文件
 
我们首先可以发送一个get请求
用burpsuite访问GET填写 <?php phpinfo(); ?>
然后使用文件包含调用日志文件
若是日志文件被成功调用,则文件包含漏洞利用成功
 
linux系统中日志文件一般无法被包含
由于linux系统中权限划分十分严格
调用日志文件所需要的权限一般是root权限
因此不做讨论
而Windows系统中权限是允许的
但是得注意需要先去调用apache的httpd.conf文件
查看日志文件的命名格式
Windows的apache日志文件的命名格式和linux的日志文件不太一样
我的Windows设置为 access.log.'%h %l %u %t \"%r\" %>s %b \"%{User-Agent}i\"'
linux直接是access.log
 
包含环境变量
修改User-Agen填写php代码
包含/proc/self/environ
但是一般权限不够的
 
phpinfo文件包含临时文件getshell
条件:
1.有phpinfo文件
2.有文件包含漏洞
用php post上传文件产生临时文件,phpinfo()会读出临时文件的路径和名字,利用本地文件包含漏洞生成后门文件
但是由于临时文件被删除的过程十分快
我们这里有两种争取时间的方法,以便于在临时文件删除前进行文件包含
1.通过在数据报文中加入大量的垃圾数据
2.通过大量的请求来延迟php脚本的执行速度
这里月师傅给了我一个python的exp
这里我就不放出来了
exp中需要修改两个地方
一个是phpinfo地址,另一个是文件包含漏洞地址
漏洞利用的过程比我想的要便捷
语句为 python2 lfi.py ip地址 本地端口
即可
 
伪协议
伪协议要注意的是php.ini里的两个重要的参数
allow_url_fopen和allow_url_include

 

 php://input

可以将访问请求的原始数据的只读流,也就是说开启后可以执行post传入的php代码

file:// 访问本地文件

php://filter 用于读取php源码

常用base64加密读取
php://filter/read=convert.base64-encode/resource=/etc/passwd
zip:// [压缩文件绝对路径]%23[压缩文件内的子文件名](#编码为%23)
用于读取压缩文件,zip:// 、 bzip2:// 、 zlib:// 均属于压缩流,可以访问压缩文件中的子文件,更
重要的是不需要指定后缀名,可修改为任意后缀:jpg png gif xxx 等等。
 
data:// 协议
1、data://text/plain,
http://127.0.0.1/include.php?file=data://text/plain,<?php%20phpinfo();?>
2、data://text/plain;base64,
http://127.0.0.1/include.php?file=data://text/plain;base64,PD9waHAgcGhwaW5mbygpOz8%2b
 
包含远程文件
这里有个点就是我在包含一个远程的phpinfo.php时,得到的结果竟然是被远程包含主机的phpinfo信息
当我使用.txt后缀时,得到的结果就正常了
 
文件包含截断攻击
首先为啥要截断呢
网页源代码可能在你的所希望包含的文件名后面还加了一些奇奇怪怪的后缀
那这个时候你的这个文件由于加了奇奇怪怪的后缀就无法被检索到
你就需要将所加的后缀给截断了
 
%00截断 
php版本小于小于 5.3.4且gpc=off
 
超长文件包含截断
win32系统
 
远程包含截断
#  %23
? %3f
00  %00
 
posted @ 2022-03-05 19:16  r0nGer  阅读(57)  评论(0)    收藏  举报