漏洞详情

披露状态:

2014-03-01: 细节已通知厂商并且等待厂商处理中
2014-03-11: 厂商主动忽略漏洞,细节向第三方安全合作伙伴开放
2014-03-18: 细节向核心白帽子及相关领域专家公开
2014-03-28: 细节向普通白帽子公开
2014-04-17: 细节向实习白帽子公开
2014-05-27: 细节向公众公开

简要描述:

Srun3000计费系统 sql&GETSHELL 1

详细说明:

/srun3/srun/web/douser.php
case "checkip":
$user->user_ip=$_POST["user_ip"];//注入变量
$user->user_login_name=$_POST["user_login_name"];
if($user->checkUserIp())//直接注入
{
echo "ok";
}
exit;
break;
function checkUserIp()
{
$sql = "SELECT COUNT(*) FROM user WHERE (user_ip='".$this->user_ip."' OR user_ip2='".$this->user_ip."' OR //可以看到直入接带入查询的
user_ip3='".$this->user_ip."' OR user_ip4='".$this->user_ip."') AND user_login_name!='".$this->user_login_name."'";
if($this->getNumber($sql)>0)
return false;
return true;
}

漏洞证明:

这个软件的GPC默认是关闭的,所有没有转义的话。。直接无条件注射

这个应该是在用户模块上

测试方法

x.com/douser.php

POST action=checkip&user_ip='

而且该系统是的数据库是root用户 也有root权限

可以直接利用Into outfile写出shell即可~

修复方案:

你猜

版权声明:转载请注明来源 Matt@乌云


漏洞回应

厂商回应:

危害等级:无影响厂商忽略

忽略时间:2014-03-11 20:20

厂商回复:

最新状态:

2014-05-28:该漏洞是版本14.12之前的版本,在新的版本14.17.5已经做了过滤,非常感谢


漏洞评价: