首页 » PHP教程 » cvephp复现技巧_Apache HTTPD 换行解析马脚CVE201715715复现及运用

cvephp复现技巧_Apache HTTPD 换行解析马脚CVE201715715复现及运用

访客 2024-12-05 0

扫一扫用手机浏览

文章目录 [+]

攻击者可以利用这个漏洞在做事器上上传恶意文件。
例如,如果做事器阻挡了某些文件的上传,但许可上传的文件名以"$"字符结尾,攻击者可以布局一个恶意文件名,使其在匹配<FilesMatch>指令时仅匹配到文件名的末端部分。
这样,攻击者就可以绕过做事器的安全限定,并成功上传恶意文件。

为了修复该漏洞,Apache HTTP Server的掩护者发布了更新版本(2.4.33),个中修复了<FilesMatch>指令对""字符的阐明办法。
现在,""字符将被精确地阐明为表示文件名结束的分外字符,从而避免了潜在的攻击。

cvephp复现技巧_Apache HTTPD 换行解析马脚CVE201715715复现及运用

受影响版本:Apache HTTP Server的2.4.0至2.4.29版本。

cvephp复现技巧_Apache HTTPD 换行解析马脚CVE201715715复现及运用
(图片来自网络侵删)

详细利用办法:Apache HTTPD是一款HTTP做事器,它可以通过mod_php来运行PHP网页。
其2.4.0~2.4.29版本中存在一个解析漏洞,在解析PHP时,1.php\x0A将被按照PHP后缀进行解析,导致绕过一些做事器的安全策略。

利用条件:网站须要供应上传功能,通过burpsuite抓包构建,绕过拦截,然后获取上传的文件地址,通过文件名称+%0a来进行访问。

1.2漏洞环境搭建

这里采取Vulhub(https://vulhub.org/)一键搭建漏洞测试靶场,来进行漏洞复现。
本次用到的所有测试环境在httpd目录下,如图1所示。

图1 所有漏洞测试环境信息

1.启动漏洞docker环境

(1)到漏洞docker所在环境

cd /opt/vulhub/httpd/CVE-2017-15715

(2)构建 Docker Compose 文件中定义的做事的镜像

docker-compose build

(3)启动在docker-compose.yml文件中定义的做事容器

docker-compose up –d

图2 启动docker

如果前面存在docker,则须要停滞前面docker。

docker ps

docker dockerid stop

2.访问漏洞环境

可以通过docker ps命令查看docker开启的端口,在本例中默认开启8080端口,直接访问虚拟机http://192.168.19.134:8080/,如图3所示,显示漏洞存在的页面。

图3 漏洞存在页面

1.3漏洞复现

1.拦截测试

启动burpsuite2022版本,打开默认的调试浏览器,输入前面地址地址,单击上传,如图4所示,正常上传php文件就会涌现上传失落败提示“bad file”。

图4 上传缺点提示

2.绕过上传限定

在BurpSuite的历史记录中将该页发送到重放攻击“Send to Repeater”中,如图5所示。

图5 发送到重放攻击

在重放攻击页面中单击“16进制(hex)”找到上传文件的名称evil.php处,然后单击“insert byte”,如图6所示。

图6探求文件上传名称地址

在evil.php后面插入一个\x0A这里只须要选中0d,右击选择insert byte…后,输入0a即可插入至里面,如图7所示,确定然后发送包。
比拟其值的变革前期值为“70 0d 0a 2d 2d”变动后为“70 0a 0d 0a 2d”。

图7 构建分外文件名称

3.访问文件

这里访问地址http://192.168.19.134:8080/evil.php%0a即可。

图8实行效果

防御方法:升级到最新版本

标签:

相关文章