iwebsec靶场 文件包含漏洞通关笔记5-远程文件包含绕过

目录

前言

1.%00截断

2.问号截断

3.#号截断法

第05关 远程文件包含绕过

1.打开靶场

2.源码分析

3.00截断的条件

4.文件包含00截断绕过

5.问号截断

6.#号截断


前言

PHP的文件包含可以直接执行包含文件的代码,包含的文件格式是不收限制的,只要能正常执行即可。文件包含函数有include、include_once,require、require_once。他们之前的区别就是include遇到报错还会执行下面的代码,require则是会报错退出程序。

文件上传的截断绕过通常源码包含如下字段,比如说传入的参数filename=phpinfo.txt,那么include时会为文件名加上 .html后缀,于是include的文件名就变为了phpinfo.txt.html,这样会导致文件包含漏洞利用出现失败。于是如何进行漏洞渗透,使得此时渗透过程中即便传入的参数为phpinfo.txt,但是包含的文件仍为phpinfo.txt,这个后缀.html加不到后面,就可以绕过这个文件包含的过滤了。

    $filename  = $_GET['filename'];
    include($filename . ".html");

通常来讲文件包含的绕过方法为%00截断以及字符长度截断法。

1.%00截断

前提是php<5.3.4且  magic_quotes_gpc=off,原理是%00是被会url解码成0x00,如果遇到0x00,就会认为读取已结束,所以导致截断。

2.问号截断

这种阶段方法不受magic_quotes_gpc和PHP版本号的影响,值得注意的是此绕过仅对远程文件包含有效,webserver会把问号当作请求的参数,后面的内容自然就可以忽略,不过这种方法对本地文件包含并不生效。

3.#号截断法

在井号#后面添加html字符串,#会截断后面的扩展名,从而绕过过滤名的过滤

号要进行URL编码,这里要注意编码为%23

第05关 远程文件包含绕过

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mooyuan天天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值