【代码审计】VAuditDemo 文件包含漏洞
在 index.php中先判断get过来的module是否设置了变量,如果已经设置,则包含module,并与字符串.inc拼接
inc格式一般是图标或者头像格式,因此我们可以初步判断,这个包含应该是基于图像上传
那么我们就应该搜索上传相关的函数 $_FILES
这里我们看到,图像上传的功能,上传图片的路径的格式为:u_ 当前时间戳_原来的文件名
(我们可以用PHP函数来解时间戳)
跟踪 is_pic
is_inc只是单纯的验证后缀名,我们可以尝试用00截断或者为协议进行验证
--------------------------------------------------------------------------------------------------------------------------------------------------------------
我们首先先介绍一下phar伪协议
这是一个压缩包有关的协议,它可以打开一个压缩包,并可以打开其中一个文件,并读取压缩包里面的内容。
它的用法为:phar://path/file/所压缩的文件名。
--------------------------------------------------------------------------------------------------------------------------------------------------------------
漏洞验证
我们先创建inc的文件,在里面写入一句话木马,添加压缩文件后改名为png格式
但是我们要去解密时间戳来获取图片地址
解密时间戳用到的函数
1 <?php 2 date_default_timezone_set('UTC'); 3 echo strtotime('Wed, 24 May 2017 03:03:14 GMT'); 4 ?>