奇安信NS-NGFW防火墙前台rce分析
奇安信NS-NGFW防火墙前台rce分析
最近hw行动愈演愈烈,漏洞也是层出不穷,之前爆出了网康防火墙的rce,就分析一下
影响
这次漏洞又是前台无条件rce,影响就还是挺大的。
详情
网上的poc
1 |
|
post请求部分如上,可以很明显的看出是一个命令注入的漏洞。
分析
根据漏洞我们就可以结合代码进行分析
首先根据路由,找到 /directdata/direct/router
这个请求的内容
发现调用了 Ext_Direct
类的 run
方法,发现这个类的作用是直接调用模板内的方法,继续跟进
开头调用了 Ext_Direct_Request
类解析请求
发现这个方法解析了请求体,他做的操作是先调用 json_decode
解析json,会返回一个对象,然后一次解析请求的类名、方法名、参数名。
并通过 call_user_func_array
调用方法,传递参数。
那这个漏洞的利用就很明了, DirectController.php
这个控制器存在未授权的问题,导致攻击者可以利用他调用任意模板。
那我们就可以对poc进行分析:
1 |
|
这三个参数,对应着:
1 |
|
那就直接去代码中寻找就行
一目了然,参数传递的是一个对象,取 data
的值(数组)进行遍历后,如果遍历的值不是default.png,则将该值拼接进命令执行删除,其中未作任何过滤,直接通过 ;
即可执行任意命令。
其他RCE点
其实可调用的model中还有很多的rce点,比如以下这个点
利用方式更简洁明了
而且此处是回显的。
又比如
这里,对于linux系统来说建立文件夹的名称是可以包含特殊字符的
这样的话其实对他们执行命令时需要通过转义符进行转义,比如
1 |
|
但是这个代码里明显没有,这个exec_cmd是执行环境变量 CMD
的值,所以这里又是一处命令注入点
应该还有很多地方把,不一个个挖了。。
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!