ROCBOSS 1.1 /module/user.module.class.php SQL注入漏洞

2015-04-14T00:00:00
ID SSV:89126
Type seebug
Reporter Root
Modified 2015-04-14T00:00:00

Description

漏洞文件:

\module\user.module.class.php

第11行代码:

$userInfo=Common::getMemberInfo($this->db,is_numeric($userId) ? 'uid' : 'nickname', $userId);

这一行代码进行了数据库查询,关键之处在$userId这个变量上

向上回溯到第10行代码:

$userId=(isset($_GET['id']) && trim($_GET['id']) != '') ? $_GET['id'] : $this->loginInfo['uid'];

当$_GET[‘id’]被赋值的时候这个参数就能控制了,而且没有进行过滤。

再到数据库执行的地方查看一下 ``` public static function getMemberInfo($DB, $key, $value)

{

$memberArray = array(

"uid" => 0,

"nickname" => "",

"email" => "",

"password" => "",

"regtime" => "",

"qqid" => "",

"groupid" => 0

);

$DBArray = $DB->selectOneArray("SELECT * FROM " . PRE . "user WHERE " . $key . "='" . $value . "'"); ``` 传进去是第三个参数Value在没有开GPC的情况下可以引入污点数据,进行注入。

验证一下

首先需要注册一个用户

登陆后访问

http://192.168.45.131/rocboss/?m=user&w=index&id=1

存在注入的参数就是id

可以进行union 和盲注注入