DVWA文件包含漏洞(下)

补充:常见的URL编码

DVWA文件包含漏洞(下)_第1张图片

文件包含漏洞,我始终无法理解数据处理的细节部分,为什么修改page的值之后,就能弹出敏感的文件信息了?当点击链接文字后,浏览器如何和服务器进行数据交互的?这里面脚本又起到一个什么作用?始终想不清楚里面的细节。等以后再回头思考吧,现在可能缺少某个知识,无法理清逻辑。

下面是点击文字链接的一刹那,利用burpsuit抓到的数据包。

DVWA文件包含漏洞(下)_第2张图片

按道理说,我在前端看到的href=后面的地址明明是?page=file2.php,为什么这里却向/etc/passwd发送请求呢?(这里真没搞懂)

然后是回复包:

DVWA文件包含漏洞(下)_第3张图片

我目前的理解是:URL表示如何找到资源,而URI表示资源在哪。浏览器根据前端的url,

上面的内容应该是我想错了。首先,浏览器就是根据url去发送请求的,只不过,再我将该请求包扔到burpsuit的scan中扫描的时候,才爆出来不同的数据包!换句话说是scan模块帮我测试出来了可能存在哪些漏洞!而不是说,我点击链接,就发送的这个数据包!

想通了,那就很简单了。下面附一张不同等级的PHP防御代码图:


DVWA文件包含漏洞(下)_第4张图片

实际上这个白名单的范围还是比较大了。所以才会是高级。若是没有漏洞的情况,就是只保留三个规定的页面在白名单中,其他一律不允许就可以了。

DVWA文件包含漏洞(下)_第5张图片
无漏洞代码

补充一个知识:
$_GET['name']不仅能得到form提交的参数值,还有ajax也能得到,最后一个,我一直不敢确定的就是,在url栏输入参数后,$_GET[]也能得到。

burpsuit检测文件包含漏洞的流程:

点击一个链接,瞬间抓包,然后利用scan扫描这个请求包。根据扫描包中的请求,来确定漏洞产生的位置。我估计,扫描原理就是不断构造特殊的数据包向服务器发送,看服务器返回的信息来确定是否存在漏洞!然后,我们要么修改指定的参数,去网页验证,要么直接看应答包中的内容及可以了。

你可能感兴趣的:(DVWA文件包含漏洞(下))