《电子技术应用》
您所在的位置:首页 > 通信与网络 > 业界动态 > D-LINK任意文件读取漏洞(CVE-2021-27250)分析

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

2021-03-24
来源: 关键基础设施安全应急响应中心
关键词: 漏洞分析 D-Link

  一、前言

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

  二、漏洞影响分布

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

  1.png

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

  三、体系结构与固件提取

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

  固件下载地址:

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

 2.png

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

  binwalk -e DAP-2020_RevA_Firmware_102rc002.bin

  3.png

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

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

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

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

 4.png

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

  四、漏洞分析

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

5.png

  登陆时的HTTP POST请求

  6.png

7.png

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

  读取日志文件

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

  8.png

  POST请求

 9.png

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

  读取passwd等敏感文件

 10.png

11.png 

  五、总结

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


本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。