DIR-645远程命令执行漏洞

本文详细介绍了针对某品牌路由器service.cgi远程命令执行漏洞的分析过程。通过研究公开的exploit,利用IDA进行逆向工程,发现漏洞在于lxmldbc_system调用system执行命令时缺乏过滤,允许命令注入。实验中通过Burp Suite模拟GET和POST请求,使用不同参数和编码方式成功触发命令执行,验证了漏洞的存在。此外,还展示了如何在AttifyOS中复现此漏洞。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先我们分析网上公开的exp确定漏洞相关组件及payload,之后通过IDA分析研究漏洞是如何触发的,最后在attifyos中进行模拟,验证漏洞。

本次实验的漏洞是某品牌路由器service.cgi远程命令执行漏洞。
Packet storm有exp:https://packetstormsecurity.com/files/145859/dlinkroutersservice-exec.txt

看看exp中的关键信息
在这里插入图片描述

大概知道需要访问service.cgi,post请求,payload中有event=checkfw%26
我们先试试看自己能否分析

解压压缩文件
在这里插入图片描述

提取得到固件根目录
在这里插入图片描述

进入提取的文件夹
在这里插入图片描述

看看引发漏洞的cgi文件,其位于htdocs下
在这里插入图片描述

是32位mips小端可执行文件

接下来使用IDA分析
在这里插入图片描述

在main函数中看到
在这里插入图片描述

如果main函数判断访问的时候service.cgi就调用servicecgi_main
跟进servicecgi_main
先看一下其交叉引用的图
在这里插入图片描述

大概知道漏洞产生的地方了,servicecgi_main-》lxmldbc_system->system
接着跟下去看看
在这里插入图片描述

看到其会先判断request method请求方法,处理get和post
但是可以看到其实都是走一样的路径
在这里插入图片描述

调用cgibin_parse_request
跟进cgibin_parse_request
在这里插入图片描述

会解析content_type,content_length,然后就是解析参数的工作,回到servicecgi_main
在这里插入图片描述

我们需要找到调用lxmldbc_system的,而上图中我们发现EVENT,SERVICE会调用
在前面xref from图中看到lxmldbc_sytem会调用system,跟进去看看调用system时有没有一些过滤等防护措施
在这里插入图片描述

注意到,lxmldbc_system调用system执行command时没有任何过滤,此处就是引发命令注入的漏洞所在
这样我们就知道如何利用了,在访问时加上EVENT,或者利用SERVICE(加上ACTION字段),然后使用一些常见的方法截断再加上我们的要执行的命令就可以了。注入命令后需要是“&”符号的urlencode编码(%26),因为&在http请求中是请求域分隔符,所以必须做编码转换。在其他分隔符使用时也可以进行urlencode编码

接下来进行复现

fat.py启动
在这里插入图片描述
在这里插入图片描述

一共会提示3次firmadyne的密码和1次oit的密码,遇到输入firmadyne的密码时候,我们输入firmadyne,遇到输入oit的密码时,我们输入attify123
在这里插入图片描述

看一下网卡,待会儿我们抓包时需要用到

在这里插入图片描述

接下来启动burp
java -jar /home/oit/tools/burpsuite_free_v1.7.23.jar
火狐访问fat.pyt给出的ip
在这里插入图片描述

默认命令为空,点击login即可进入
然后开始设置代理
来到burp
打开后先恢复初始设置,如图所示
在这里插入图片描述

在火狐处访问192.168.0.1/service.cgi?EVENT=test
此时burp抓到包后修改如图,下图是采用|进行截断
在这里插入图片描述

可以看到repeater返回了路径
再试试使用;截断,来执行ls命令
在这里插入图片描述

repeater返回了命令执行的结果
下图是使用urldencode编码来截断,%26为&
在这里插入图片描述

同样成功了
再试试换行符,其编码为%0a
在这里插入图片描述

同样是可以的
前面试的是event,而在ida分析中我们知道serivce也是可以的,接下来看看service的
在这里插入图片描述

也是同样的截断思路
在这里插入图片描述

在ida分析时我们说过get,post走的路径是一样的,所以这里尝试使用post
现在burp这里把get改为post
在这里插入图片描述

可以看到已经成为post了
在这里插入图片描述

然后使用event来利用
在这里插入图片描述

同样成功了

还可以尝试自己抓包看看,attifyos自带了wireshark
我这里直接给出一个已经抓好的
在这里插入图片描述

跟踪tcp流
可以看到返回的相应就是命令执行后的结果
在这里插入图片描述


参考:
https://www.cnvd.org.cn/flaw/show/CNVD-2018-01084
1.https://packetstormsecurity.com/files/145859/dlinkroutersservice-exec.txt

<think>好的,我需要帮助用户搭建泛微E-MobileServer远程命令执行漏洞的测试环境。首先,用户提到的漏洞涉及E-Mobile 6.0版本,根据提供的引用[1]和[3],这个漏洞允许攻击者通过特殊字符或命令序列执行任意命令。接下来,我需要整理搭建测试环境的步骤。 首先,用户需要获取受影响的版本,即E-Mobile 6.0。根据引用[1]和[3],官方可能不再提供下载,所以可能需要寻找历史版本或镜像。然后,准备虚拟机环境,比如VMware或VirtualBox,推荐使用Windows Server系统,因为企业应用常用。安装必要的依赖环境,比如Java、数据库(如MySQL),以及Web服务器(如Tomcat)。 接下来是漏洞复现部分。引用[1]提到攻击者通过输入特殊字符来执行命令,可能需要构造特定的HTTP请求,利用漏洞点进行测试。例如,使用Burp Suite拦截请求并插入恶意命令,测试是否能执行系统命令如whoami或dir。需要注意安全隔离,确保测试环境与外部网络断开,避免风险扩散。 此外,用户可能需要漏洞验证的步骤,比如检查服务器响应或使用检测脚本。引用[3]提到网络空间测绘,可能涉及使用工具扫描漏洞是否存在。最后,提醒用户遵守法律,仅在授权环境下测试,并参考官方补丁进行修复,如引用[2]提到的安全补丁。 现在需要将这些步骤组织成清晰的结构,分点说明,并确保使用正确的LaTeX格式。同时生成相关问题,覆盖漏洞分析、修复、检测工具、历史漏洞对比等,帮助用户深入理解。</think>### 搭建泛微 E-MobileServer 远程命令执行漏洞(RCE)测试环境的步骤 #### 1. **获取受影响版本** - 根据漏洞描述,受影响版本为 **泛微E-Mobile 6.0**。需从可信渠道获取历史版本安装包(如镜像站、漏洞复现社区资源)。由于官方可能已下架漏洞版本,需通过安全研究社区或漏洞库(如Exploit-DB)获取[^1][^3]。 #### 2. **准备虚拟机环境** - 使用 **VMware Workstation** 或 **VirtualBox** 搭建隔离的测试环境,推荐操作系统为 **Windows Server 2012/2016**(因企业OA系统多部署于Windows环境)。 - 配置虚拟机网络为 **NAT模式** 或 **仅主机模式**,避免对外网造成影响。 #### 3. **安装依赖环境** - **Java环境**:安装JDK 1.8(企业应用常见版本),配置环境变量。 - **数据库**:安装MySQL 5.7,创建数据库并导入E-Mobile的初始化脚本。 - **Web中间件**:部署Tomcat 8.x,将E-Mobile应用包(WAR文件)放入`webapps`目录并启动服务。 #### 4. **漏洞复现配置** - 根据引用[1],漏洞触发点通常位于 **HTTP请求参数** 或 **文件上传接口**。示例复现步骤: 1. 使用 **Burp Suite** 拦截登录或文件上传请求。 2. 在参数中插入命令注入Payload,例如: ```http POST /api/upload HTTP/1.1 ... filename="test; whoami;" ``` 3. 观察服务器响应,若返回系统命令执行结果(如用户信息),则漏洞存在。 #### 5. **安全隔离与验证** - 使用 **Wireshark** 监控测试环境流量,确保无异常外连。 - 通过 **Metasploit** 模块(如`exploit/multi/http/emobile_rce`)验证漏洞利用可行性。 #### 6. **修复与防护验证** - 参考引用[2][^2],安装官方补丁或升级到最新版本。 - 测试补丁后是否仍可触发漏洞,验证防护措施有效性。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值