原创 | D-LINK任意文件读取漏洞(CVE-2021-27250)分析

  • A+
所属分类:安全文章

作者 | 绿盟科技格物实验室 田泽夏

一、前言

近日D-Link发布公告[1]称旗下产品DAP-2020存在任意文件读取漏洞,CVE编号为CVE-2021-27250,目前已在硬件版本:A1,固件版本:1.01 上测试了PoC,由于漏洞影响核心组件,因此其他版本也可能受到此漏洞的影响。

二、漏洞影响分布

当前网上大概暴露有 1,882,813 潜在脆弱主机。其中分布在哥伦比亚的机器最多。查看当地互联网用户统计信息[2],可以注意到该地使用互联网的人口占总人口的 65%。根据哥伦比亚总人口 4965 万中的 65%可以估算大约有 3200 万互联网用户。

原创 | D-LINK任意文件读取漏洞(CVE-2021-27250)分析

数据来源:绿盟科技威胁情报中心

三、体系结构与固件提取

由于厂商的官方“固件更新”镜像没有加密,所以可以直接使用而无需通过UART或SPI闪存转储固件。

固件下载地址:

ftp://ftp.dlink.de/dap/dap-2020/driver_software/DAP-2020_fw_reva_102rc002_ALL_en_20200322.zip

原创 | D-LINK任意文件读取漏洞(CVE-2021-27250)分析

从D-Link的FTP 服务器下载固件后,可以使用binwalk提取文件系统。

binwalk -e DAP-2020_RevA_Firmware_102rc002.bin
原创 | D-LINK任意文件读取漏洞(CVE-2021-27250)分析

重要文件存储在 webroot 中,路径为usrwww,包含Web服务器使用的一些 html 文件以及一个 cgi-bin目录,功能实现的二进制文件如下:

Webproc:用于处理Web界面的 Main Binary。

Webupg:用于文件上传,固件升级,配置更改。

相关的系统保护措施可以使用checksec程序进行检测,结果如下:

原创 | D-LINK任意文件读取漏洞(CVE-2021-27250)分析

通过检测结果可以发现编译时未启用安全性功能。

四、漏洞分析

在登录时,POST请求中有很多可选的标签供使用,其中errorpage标签用于跳转页面显示登陆失败时的信息。由于程序没有对用户的输入做足够的过滤,在用户登陆失败时,攻击者通过修改errorpage标签的值即可重定向到任意文件,实现任意文件读取。

原创 | D-LINK任意文件读取漏洞(CVE-2021-27250)分析

登陆时的HTTP POST请求

原创 | D-LINK任意文件读取漏洞(CVE-2021-27250)分析

原创 | D-LINK任意文件读取漏洞(CVE-2021-27250)分析

由于在文件操作前并没有对用户输入路径进行必要的过滤,errorpage标签指定的文件内容会显示在Response中,因此攻击者可以利用这个标签来读取目标系统的敏感文件。

读取日志文

修改errorpage标签,读取/var/log/sysevent.txt 日志文件:

原创 | D-LINK任意文件读取漏洞(CVE-2021-27250)分析

POST请求

原创 | D-LINK任意文件读取漏洞(CVE-2021-27250)分析

Response中返回的/var/log/sysevent.txt 日志内容

读取passwd等敏感文件

原创 | D-LINK任意文件读取漏洞(CVE-2021-27250)分析

原创 | D-LINK任意文件读取漏洞(CVE-2021-27250)分析

五、

由于欠缺对errorpage路径的合理过滤,导致用户可以任意修改该标签内容,触发文件操作,造成信息泄露。建议程序开发的时候全面考虑文件的安全使用场景并对参数路径做安全检查,避免产生敏感数据泄露导致的进一步网络攻击。

参考链接:

https://suid.ch/research/DAP-2020_Preauth_RCE_Chain.html

参考文献
[1]https://supportannouncement.us.dlink.com/announcement/publication.aspx?name=SAP10201
[2]https://data.worldbank.org/indicator/IT.NET.USER.ZS?name_desc=false&locations=CO



转载请注明来源:网络安全应急技术国家工程实验室

原创 | D-LINK任意文件读取漏洞(CVE-2021-27250)分析

本文始发于微信公众号(网络安全应急技术国家工程实验室):原创 | D-LINK任意文件读取漏洞(CVE-2021-27250)分析

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: