首页 > 代码库 > 【代码审计】VAuditDemo 文件包含漏洞

【代码审计】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 ?>

技术分享

 

技术分享

【代码审计】VAuditDemo 文件包含漏洞