网站备案 空间,文案策划公司,如何美化wordpress页面,注册教育培训机构需要什么条件前言
菜某的笔记总结#xff0c;如有错误请指正。
本文用的是PHP语言作为案例
文件包含漏洞的概念
开发者使用include#xff08;#xff09;等函数#xff0c;可以把别的文件中的代码引入当前文件中执行#xff0c;而又没有对用户输入的内容进行充分的过滤#xff0…前言
菜某的笔记总结如有错误请指正。
本文用的是PHP语言作为案例
文件包含漏洞的概念
开发者使用include等函数可以把别的文件中的代码引入当前文件中执行而又没有对用户输入的内容进行充分的过滤所以导致用户可以通过改变输入访问任何文件。
危害
单单一个文件包含的话并不能有什么大的威胁但是他像艾滋病一样他不会干掉你但是他能让其他的漏洞危害无限放大让其他漏洞干掉你。
最大功能不管什么形式的文件只要里面有PHP代码就能带入当前文件中执行。
1.配合文件上传让原本解析不了的文件通过文件包含直接解析。
2.读取网站中的敏感信息一些储存在文件中的敏感信息甚至可以跳出网站的文件夹看本盘的文件。
3.自我构建漏洞即使没有漏洞也可以直接写一个漏洞上传上去然后用文件包含去执行。比如SQL注入和远程命令执行。从而实现攻击数据库和操作系统。
4.作为跳板机攻击内网或者其他网站上传一个ssrf漏洞的代码然后用文件包含去执行它。让这个服务器去访问其他资源。
有了他你就拥有了一切~
所以这个漏洞大大的强大。
类型
本地包含包含本地文件
远程包含包含远程的文件这个是需要在PHP中进行配置的可以从phpinfo中看到 最下面的但是默认是这个off的状态。
这个怎么开百度一下吧开启之后就可以输入想要包含文件的url在自己网站上写一些漏洞或者后门让目标网站去包含就可以了。 文件包含漏洞的基础案例演示
环境为本地搭建
文件位置以及源代码 利用方法 可以看到我们用这个漏洞访问了show.txt.
文件包含漏洞的检测方法 白盒代码审计 黑盒 1.扫描工具 2.cms平台的公开漏洞 3.根据URL判断 根据URL的判断方法 1.看传参很明显这里能看出来他包含了show的文件 2.把传参去除看看页面是否一致再或者访问一下show看看界面是否一致。 3.看英语含义因为代码大多是用英语简写写的传参的时候id一般就是序号file一般就是文件file的话一般可能是包含的文件。 文件包含的防御方法 1.固定文件名的后缀 2.升级PHP防止%00的截断 3.使用waf 4.使用白名单规定部分文件 5.上传的文件进行重命名防止被读取 文件包含的部分绕过
绕过固定后缀
源代码和文件 包含的文件强制添加了html后缀 访问html正常
但是无法访问我们想要访问的txt文件了 绕过方法
%00截断法
前提对方PHP版本小于5.3.4
因为我的版本比较高所以就不演示了。
原理就是%00后面的内容会被截掉.html就不起作用了。
下面这个有一定争议哈
长度截断法
当名称长过了一定限制之后后面的就全没用了所以.html在最后面就不起作用。
截断长度windows长于256linux长于4096
具体还是要看版本而定。
思路就是添加一些符号但是系统会把这些符号过滤掉但是长度过长。后缀限制也给移除了。
但是实测我发现。。。我的并没有截断但是有人能截断这个还是看个人情况吧
文件包含的一些花活案例演示
配合文件上传进行攻击
这里我修改了pikachu靶场的文件上传模块让他含有文件包含漏洞
pikachu文件的修改如下
我在文件上传的部分添加了一个include和file的文件其中include包含了文件上传漏洞。 include代码 file中的代码 首先我们看到文件包含漏洞是可以利用的 接下来开始文件上传操作
文件上传处只允许上传图片假设这里过滤十分严谨没有能解析成PHP的可能。
但是我们利用文件包含漏洞
上传一个png文件里面写有一句话木马 上传毫无阻拦 这里利用文件包含漏洞去执行图片代码。 用蚁剑去连接 日网站成功
跳出网站文件夹包含上级文件
文件位置如下 包含文件路径如上
e盘中存在lookme.txt 我们需要向上跨越三级去包含这个文件。 成功日站。
伪协议
使用前提 各脚本的支持情况 几个特殊的伪协议 php://协议 常用 php://filter用于读取源码 储存在PHP文件中包含经常会直接运行用这个协议可以读取源码。 让他返回一个base64的文件然后解码。 语法php://filter/convert.base64-encode/resource文件路径 php://input用于执行php代码 把post请求中的数据作为代码执行 语法php://input [POST DATA] post写法?php phpinfo(); ? phar://、zip://、bzip2://、zlib:// 用来访问压缩包中的文件 语法案例 zip://[压缩包绝对路径]#[压缩包内文件] 我的PHP版本高演示不了。。。
还有一些其他的可以看一下这个
https://www.cnblogs.com/endust/p/11804767.html
总结
嗯总之就是很强大。