赞
踩
SQLMAP自动化注入工具
具有扫描、发现并利用给定的URL的SQL漏洞
1.判断可注入的参数
2.判断可以使用哪一种sql类型注入
3.从数据库读取数据
4.判断数据库类型
1.基于布尔盲注:根据返回页面判断条件真假的注入
2.基于时间盲注:不能根据页面返回内容判断任何信息,用条件语句查看时间延迟语句是否执行(页面返回时间是否增加)来判断
3.基于联合查询注入:可以使用union 的注入
4.基于堆查询注入:同时执行多条语句的注入
5.基于报错注入:页面会返回错误信息,或者把注入语句结果返回到页面中
关系型数据库MySQL、Oracle、PostgreSQL、Microsoft SQLServer、HSQLDB、SQLite、Firebird等
1.网站连通性检测:检测目标数据库连接状态
2.WAF检测:是否受到WAF保护
3.网页稳定性检测
4.参数动态性检测:参数是否具有动态性
5.启发式注入检测:探测该参数是否动态性,是否存在注入点
误报检测:SQLMAP的布尔盲注,时间盲注判断注入点,存在误报可能。
(在各种注入技术大量使用)
在SQLMAP检测整个过程中,会有一个原始响应的定义,指的是在网站连通性检测过程中,如果网站成功响应,则把该响应定义为原始响应(包括状态码、HTTP响应头、HTTP响应体)。一个HTTP请求成功响应之后,将与原始响应进行对比,得出对比结果,算法输出为True表示当前响应与原始响应相似,算法输出为False表示当前响应与原始响应不相似。
(在union注入和时间盲注过程使用)
网站的响应是基于逻辑的,如果一组请求,网站的处理逻辑相同,那么响应几乎也是相同的。如果某一个响应出现了变化,则可以人为该网站处理逻辑变了,这种逻辑的变化可能正是因为注入成功了。
sqlmap -u www.baidu.com/id=1
1.判断可注入的参数
2.判断sql注入类型来注入
3.识别所有存在的注入类型
4.判定数据库版本,开发语言,操作系统版本
sqlmap -u (URL) --current-db //爆当前数据库
sqlmap -u (URL) -D (数据库名) --tables //爆表名
sqlmap -u (URL) -D (数据库名) -T (表名) --columns //爆字段名
sqlmap -u (URL) -D (数据库名) -T (表名) -C (字段名1,字段名2)--dump //显示数据
sqlmap -r /user/x.txt
使用该命令必须指明x.txt(保存http请求包)文件所在的绝对路径
1.判断可注入的参数
2.判断sql注入类型来注入
3.识别所有存在的注入类型
4.判定数据库版本,开发语言,操作系统版本
1.利用BP截取http request报文
2.将报文保存在x.txt中
3.利用sqlmap对涉及到的目标网站进行注入
sqlmap -r /user/x.txt --current-db //爆数据库名
4.跟上面提到的一样爆库名、表名、字段名
sqlmap -m /user/a.txt
使用命令必须指明a.txt(保存多项URL)文件所在的绝对路径
声明:演示网站是作为提交公益src的,并未对网站数据库泄露
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。