Sapido RB- 1732 路由器命令执行漏洞

admin 2025年4月18日15:51:44评论5 views字数 1400阅读4分40秒阅读模式

漏洞介绍:

Sapido是一款家用路由器,其RB-1732系列v2.0.43之前的固件版本存在一处命令执行漏洞。该漏洞产生的原因是,服务器的syscmd.asp页面没有对传递过来的参数进行过滤,这使得用户的输入没有任何过滤,可以直接将系统命令发送给服务器并在服务器上执行。

Fofa特征

app="Sapido-路由器"

固件提取

固件下载:

https://pan.baidu.com/s/1Gj9RDlAQdCDiaLdLzQ2Aag?pwd=8381

使用binwalk Me参数提取固件

Sapido RB- 1732 路由器命令执行漏洞
解压出来后可以看到文件系统为squashfs
Sapido RB- 1732 路由器命令执行漏洞

我们已经知道漏洞点在syscmd.asp中,我们直接用find命令找到syscmd.asp的位置

Sapido RB- 1732 路由器命令执行漏洞

syscmd.asp位于当前目录也就是解压出来的squashfs-root的web目录下,我们直接打开syscmd.asp文件查看它的源代码。

Sapido RB- 1732 路由器命令执行漏洞

看到form表单指向了/goform/formSysCmd,接下来我们继续去找formSysCmd文件,find搜索无果后用grep搜索formSysCmd字符串,可以发现大部分都是引用在asp文件中,只有一个结果显示字符串包含在webs二进制文件中

Sapido RB- 1732 路由器命令执行漏洞

漏洞分析

接下来我们用ida pro打开这个webs这个二进制文件进行分析

Sapido RB- 1732 路由器命令执行漏洞

ida pro加载webs后按ctrl+f进行搜索,我们的目标是formSysCmd,所以这里搜索formSysCmd,找到与之相关的函数。

Sapido RB- 1732 路由器命令执行漏洞

这里分别找到地址为004044DB和00471A44两处地址,我们先双击004044DB进入到反汇编窗口

Sapido RB- 1732 路由器命令执行漏洞

这里ELF32_Sym是ELF的一个结构体,formSysCmd对应的就是formSysCmd函数的实际地址。

Sapido RB- 1732 路由器命令执行漏洞

用同样的方法再去查看00471A44地址处的formSysCmd函数,可以看到这里formSysCmd被解析为ascii字符,在右边注释处可以看到函数偏移量为AA4,单击AA4右边的箭头可以跳转到该函数位置

Sapido RB- 1732 路由器命令执行漏洞

接着双击formSysCmd字符串跳转到formSysCmd函数所在的位置,查看其反汇编代码

Sapido RB- 1732 路由器命令执行漏洞

为了方便阅读代码,我们可以按f5切换到伪代码窗口

Sapido RB- 1732 路由器命令执行漏洞

我们可以看到system函数执行处没有任何过滤,v20的值则是snprintf函数拼接v3的值来复制,而v3是通过websGetVar函数获取sysCmd传递过来的,因此,如果传递给v20参数的值内容是系统命令,则将导致命令执行漏洞。

漏洞复现

漏洞复现需要将固件模拟出真实环境,这里使用firmware-analysis-plus进行模拟

github地址:

https://github.com/liyansong2018/firmware-analysis-plus

运行如下命令可直接一键模拟:

python3 ./fap.py -q ./qemu-builds/2.5.0/ ./RB-1732_TC_v2.0.43.bin
Sapido RB- 1732 路由器命令执行漏洞

fap在模拟成功后会给出访问地址:192.168.1.1,在浏览器访问http://192.168.1.1,看到如下界面则表示固件模拟成功。

Sapido RB- 1732 路由器命令执行漏洞

输入默认账号密码:admin/admin登入后台

Sapido RB- 1732 路由器命令执行漏洞

直接访问http://192.168.1.1/syscmd.asp,可以看到一个命令执行的窗口,我们直接输入ls命令,成功执行命令。

Sapido RB- 1732 路由器命令执行漏洞

原文始发于微信公众号(有限的思考):Sapido RB- 1732 路由器命令执行漏洞

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年4月18日15:51:44
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Sapido RB- 1732 路由器命令执行漏洞https://cn-sec.com/archives/3974887.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息