Cisco RV32X系列路由器 从1day分析到0day挖掘

科技资讯 投稿 7500 0 评论

Cisco RV32X系列路由器 从1day分析到0day挖掘

前言

https://sec.cloudapps.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-rv-command-inject-BY4c5zd

1day分析

diff了一下修补前和修补后两个固件。

ssi.cgi这个文件当中,笔者发现修复之后的固件比修复前的固件多出了两个函数,那么大概率就是通过这两个函数对存在命令注入的地方加上了检查以修复命令注入漏洞。直接看一下修复之后的固件里的NK_CHECK_LANGUAGE函数。很明显,这个函数的作用是对参数进行了判断和设置,和我们预想的一致。那么旧版本固件中存在的命令注入漏洞大概率出现在这个函数的上层函数中。

NK_UiLanguageChange,我们看一下修补前的固件中的这个函数实现了什么功能。通过函数名,大体可以判断出这个函数的作用应该是切换界面的语言。这个函数首先获取了submitStatuschangelanguage的值,经过一些判断后,把changelanguage的值作为参数传进CreateFormatFile函数中。

CreateFormatFile函数。很明显,这个函数由于传进来的参数param_1没有进过任何检查,存在一个命令注入漏洞。

NK_CHECK_LANGUAGE函数对参数进行了过滤。

捕获0day

漏洞分析

NK_UiSetPassword这个函数,这个函数的作用是更改用户的密码。

Poc

https://github.com/fxc233/iot-vul/tree/main/Cisco/Cisco%20RV32X

Notices

文章首发

https://mp.weixin.qq.com/s/UwsQH9nr1D4FzK2lhy_W2A

编程笔记 » Cisco RV32X系列路由器 从1day分析到0day挖掘

赞同 (34) or 分享 (0)
游客 发表我的评论   换个身份
取消评论

表情
(0)个小伙伴在吐槽