###0x01漏洞简介 HDCMS内容管理系统在文件spacecontroller.class.php处的参数username存在SQL注入漏洞。 ###0x02漏洞详情 member/controller/spacecontroller.class.php ``` public function __init() { //用户名 if ($username = Q('username')) { $uid = M('user')->where("username='$username'")->getField('uid'); go(U("index", array('uid' => $uid))); } $this->uid = Q('uid', 0, 'intval'); if (!M('user')->find($this->uid)) { $this->error('会员不存在'); } } ``` 这个username字段应该是访问其他人空间时使用的,但是没有过滤。带入了查询。 这里需要带入一个存在的字段名,admin或者tesettest。就可以盲注了。 ###0x03漏洞证明 由于已经知道了数据库名是hdcms 用盲注验证一下。  为真会出现uid字段,为假就会出现一个array  ###0x04修复方案 过滤。
###0x01漏洞简介 HDCMS内容管理系统在文件spacecontroller.class.php处的参数username存在SQL注入漏洞。 ###0x02漏洞详情 member/controller/spacecontroller.class.php ``` public function __init() { //用户名 if ($username = Q('username')) { $uid = M('user')->where("username='$username'")->getField('uid'); go(U("index", array('uid' => $uid))); } $this->uid = Q('uid', 0, 'intval'); if (!M('user')->find($this->uid)) { $this->error('会员不存在'); } } ``` 这个username字段应该是访问其他人空间时使用的,但是没有过滤。带入了查询。 这里需要带入一个存在的字段名,admin或者tesettest。就可以盲注了。 ###0x03漏洞证明 由于已经知道了数据库名是hdcms 用盲注验证一下。  为真会出现uid字段,为假就会出现一个array  ###0x04修复方案 过滤。