千家信息网

如何挖到多个D-LINK高危漏洞

发表于:2025-02-24 作者:千家信息网编辑
千家信息网最后更新 2025年02月24日,本篇文章给大家分享的是有关如何挖到多个D-LINK高危漏洞,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。近期,360企业安全集团代码卫士
千家信息网最后更新 2025年02月24日如何挖到多个D-LINK高危漏洞

本篇文章给大家分享的是有关如何挖到多个D-LINK高危漏洞,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

近期,360企业安全集团代码卫士团队安全研究人员发现友讯(D-LINK)公司旗下产品系列DIR-619、DIR-605系列路由器的两个高危安全漏洞(CVE-2018-20056和CVE-2018-20057),并第一时间向友讯(D-LINK)公司汇报,协助其修复漏洞。

图 致谢360代码卫士

CVE-2018-20056是一个缓冲区溢出漏洞,下面将针对该漏洞进行技术分析。

漏洞概述

CVE-2018-20056

该漏洞是一个无需授权的栈缓冲区溢出漏洞,影响D-LINK DIR-605L 300M wireless cloud routing和DIR-619L 300M wireless cloud routing型号。漏洞出现在 web 服务器中的一个功能接口中,可被未经验证的用户通过post请求进行调用。请求的URL为:http://[target_ip]/goform/formLanguageChange,其中POST数据的currtime参数未进行长度校验通过危险的内存拷贝函数写入栈上,导致精心构造的currtime参数可以触发缓冲区溢出漏洞,甚至直接获得设备的 rootshell。

技术分析

通过binwalk解包固件后分析系统文件目录,发现系统中存在boa程序。Boa程序是一个轻量级的web服务器程序。常见于嵌入式系统中。通过逆向分析发现此程序在boa开源代码的基础上新增了很多功能接口以实现路由器上的不同功能。

其中大部分功能接口都需要经过身份验证后才可以使用,但仍旧存在少部分功能接口如登录注销等可以使用。通过逆向分析boa程序定位至process_header_end函数,可以找到未验证用户可使用的部分功能。其中部分关键代码如下,其判断流程可简单总结为,若is_valid_user函数判断请求来自于未验证用户后, 会再次通过strstr函数判断url请求是否为此用户可使用的功能接口。 通过分析及实验发现,除了login功能外,未验证用户还可以使用formlanguagechange功能接口来改变web前台界面显示的语言。

接下来通过定位分析分发函数websaspinit寻找进入此函数的方式,关键代码如下:

通过分析实验发现,在post请求访问http://[target_ip]/goform/formLanguageChange时会进入formLanguageChange函数流程,函数中通过websgetvar函数获取post请求中config.i18n_languagecurrtimenextpage参数的值。

websgetvar函数中,通过strlenmallocmemcpy函数将参数值保存至申请出的一块内存空间中,但并未对参数长度进行判断和限制。这种参数获取的方式在遇到危险的内存拷贝函数时极易产生问题,是后面产生漏洞的根源所在。

图 websgetvar函数

继续分析formLanguageChange函数,程序将获取到的currtime参数值直接通过危险函数sprintf写入栈上0x110-0xf8的位置导致了缓冲区溢出。

通过分析, 函数返回地址保存在0x110-0x4位置,即当参数长度大于0xf4时会直接覆盖函数返回地址,导致程序控制流被劫持。

图 formLanguageChange函数

结合路由器环境本身防护机制的不足,在攻击者控制程序流程后,可通过rop技术实现任意代码执行。

Rop流程为:1.赋值a0参数。

2.调用sleep函数。

3.赋值某寄存器为栈上地址。

4.通过寄存器跳转的方式跳入栈中shellcode的位置完成利用。

图 利用结果

以上就是如何挖到多个D-LINK高危漏洞,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

函数 漏洞 分析 功能 参数 程序 代码 接口 用户 验证 流程 缓冲区 缓冲 危险 安全 位置 内存 技术 方式 系统 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 linux远程服务器传输文件 vc 软件开发 互联网芯片科技 深圳项目软件开发哪家可靠 赛茂雅网络技术有限公司靠谱 连接用户名和邮件服务器 上海网络安全准入控制系统供应商 iphone 13无法验证服务器 未转变者如何创建多人服务器 网络安全手抄报上应该写什么 华为网络安全中心可以对外服务吗 广电网络技术专家排名 网络安全防护开展情况 宜春正规服务器要多少费用 天津服务器电源售价 浙江北斗校时服务器地址 grid删除选中行数据库 服务器运算优化 数据库描述语言的用途 c 窗体如何连接数据库 SQL数据库创建触发器代码 模拟建造3怎么加装谷歌服务器 大同市百汇网络技术有限公司 多媒体服务器搭建 app与服务器安全连接失败 现金股利数据锐思数据库 上海专业软件开发哪家实惠 电话推销云服务器安全吗 加强粤港澳网络安全合作 计算机网络技术以及应用
0