根据漏洞描述可得到几个关键词:远程命令执行、/lan.jsp页面、Device Name 参数、HTTP、POST、get set cpp。
使用binwalk对固件解包,获取文件系统:
根据漏洞描述,查看www/lan.asp文件,并在该文件中查找DeviceName和get set ccp相关内容:
通过lan.asp源码可知在DEVICE_NAME处填入的参数会被拼接到paramStr中,然后函数copyDataToDataModelFormat将paramStr返回为提交参数传给submitParam.arg,传递的URL为get_set.ccp。这里应该是一个POST请求提交数据。在文件系统中查找一下关键词get set ccp:
在复现这个漏洞中发现2022年刚披露的信息和2023年有所不同,2022年的描述更具体,2023的变得模糊一些。刚开始以为是为了保护厂商,避免提示太明显容易被利用。后来在复现过程中发现应该是后续被验证漏洞点不仅仅是/lan.jsp页面、Device Name 参数,其他参数也存在同样的漏洞,所以2023的描述范围扩大为HTTP POST 的get set ccp。如果是这样那么现在发现不仅是get set ccp中存在漏洞点,ping ccp中同样存在。顺便提一下,去厂商的网站查了一下漏洞补丁,在补丁中hasInjectionString的过滤内容修改为: