漏洞概述
简介
Netgear wnap320 access point是一款很老的路由器设备,早已经停产了。
CVE-2016-1554是上述设备的一个未授权任意命令执行漏洞,通过构造字段macAddress
可以拼接成命令让路由器执行。
影响版本
Netgear wnap320 access point Firmware == v2.0.3
漏洞危害
高危
漏洞复现
复现环境
kali、qemu5.2
漏洞原理
漏洞产生的原因是boardDataWW.php
页面表单中,对于数据段macAddress
的值在后端只做了符合”12个连续整数“字符串的验证,并没有对值整体合法性进行验证
1 |
|
漏洞复现
使用qemu的system模式对路由器整体进行模拟,还是比较简单的,而且漏洞也是php漏洞,分析也不复杂。
首先进行固件的提取,比较简单,在官网上可以下载到存在漏洞版本的固件,然后使用binwalk直接就可以将固件解压,得到的是squashfs文件系统。
1 | binwalk -Me WNAP320_V2.0.3_firmware.tar |
使用qemu的system模式对路由器整体进行模拟,虚拟机的搭建过程以及文件系统的挂载可以参考此处。
搭建完毕后分析路由器相关进程的启动,在文件夹squashfs-root/etc/init.d
/中的启动脚本进行分析,可以知道路由器的整体是由脚本rcS
进行初始化的。于是挂载文件系统后直接启动脚本,对路由器进行初始化。
初始化完毕后,查看虚拟机的网络设置,对相关页面进行访问,看是否启动成功。
说明路由器的web服务至少是正常启动了,尝试使用EXP去打,的确存在命令执行漏洞
防护方案
这个程序员就是只对符合标准的字符串进行了正则的匹配,但是却没有对字符串整体进行合法性的验证。