SQLMAP漏洞检测技术:

1.基于布尔的盲注检测:' and 1=1   'and 1=2等

2.基于时间的盲注检测:' and (select * from (select(sleep(20)))a) --

3.基于错误的盲注检测:比如输入单引号报错

4.基于联合查询的检测:取决于开发者是否使用循环语句,如果使用,才可以查出多条信息

5.基于堆叠查询的检测:分号分隔SQL语句

SQLMAP支持几乎所有主流的数据库,但不包含NoSQL

演示示例先不采用DVWA,因为登陆DVWA需要身份认证,具体身份认证的方法在后面介绍

使用Metaploitable的Mutillidae:

首先要处理数据库的问题,这里是Mutillidar数据库有问题:

找到$dbname变量,更改一下就可以了:

http://192.168.232.129/mutillidae/index.php?page=user-info.php&username=1&password=2&user-info-php-submit-button=View+Account+Details

使用SQLMAP对它进行检测

命令:

sqlmap -u "http://192.168.232.129/mutillidae/index.php?page=user-info.php&username=1&password=2&user-info-php-submit-button=View+Account+Details" -p username -f

解析:-u输入猜测存在注入的URL,-p猜测存在注入的参数,-f使用指纹信息

结果如下:

基于错误,基于时间,基于联合查询判断出存在注入而且数据库为MySQL

指纹信息如下:

得知目标系统的语言和Web服务器,数据库版本等关键信息

这条命令最后的参数其实可以不用-f,我们可以使用其他的参数:

比如--users:查询目标数据库账号

比如--banner:获取banner信息,其实和上面结果差不多

再比如--dbs:目标数据库中有哪些库

这里查到7个库

还有--schema:查看元数据库

数据过多,我这里只展示其中一部分的数据库

最后一个参数-a:查看所有信息

没有结束,sqlmap接下来提示我们发现了哈希值,是否需要继续破解下去

我选择是,它会将哈希值存入一个本地文件中,并且允许sqlmap进行进一步的破解

使用默认字典,不适用密码前缀

由于我们使用的是-a参数,最终破解出了所有的数据库信息和带有哈希的密文

我们可以用sqlmap作为客户端直接连接目标数据库:

执行命令:

sqlmap -d "mysql://root:@192.168.232.129:3306/dvwa" -f --users

结果很快就可以出来,其他参数和上边提到的一样,都可以做到相关的操作,但是速度要比上面快得多

注入多个URL:

执行命令:

sqlmap -m list.txt --users

将多个URL存入list.txt,然后注入,后边的参数很前面提到的一样

以上的方式都是采用GET方式提交的URL,如果是采用POST方式提交的URL呢?

这里就需要结合Burpsuite工具了

找一个需要POST方法提交表单的注入URL:

http://192.168.232.129/mutillidae/index.php?page=login.php

使用Burp截获HTTP请求:

存入一个文本post.txt

然后就可以执行了:

命令:后边的参数还是可选的那些

sqlmap -r post.txt --users

第二种方式:

使用Burp的log文件:

首先我们到Burp的设置中配置Log:

然后使用命令:

sqlmap -l log.txt -p username

后面参数还是类似的,就可以对日志中的requests信息进行检测了

基于HTTPS的检测:

其实很简单,只需要加一个参数--force-ssl

扫描配置文件:

sqlmap -c config.txt

由于配置文件的参数过多,所以具体的使用方法会在后边介绍

可以来看看sqlmap的默认的配置文件:

查询位置,然后进入/etc/sqlmap/sqlmap.conf查看

后边内容就是围绕这个配置文件中的其他参数进行讲解

Kali学习笔记44:SQLMAP的更多相关文章

  1. [原创]java WEB学习笔记44:Filter 简介,模型,创建,工作原理,相关API,过滤器的部署及映射的方式,Demo

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  2. CUBRID学习笔记 44 UPDATE 触发器 更新多表 教程

    cubrid的中sql查询语法UPDATE c#,net,cubrid,教程,学习,笔记欢迎转载 ,转载时请保留作者信息.本文版权归本人所有,如有任何问题,请与我联系wang2650@sohu.com ...

  3. Kali学习笔记31:目录遍历漏洞、文件包含漏洞

    文章的格式也许不是很好看,也没有什么合理的顺序 完全是想到什么写一些什么,但各个方面都涵盖到了 能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道 目录遍历漏洞: 应用程序如果有操作文件的功能,限制不严 ...

  4. Kali学习笔记30:身份认证与命令执行漏洞

    文章的格式也许不是很好看,也没有什么合理的顺序 完全是想到什么写一些什么,但各个方面都涵盖到了 能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道 实验环境: Kali机器:192.168.163.13 ...

  5. Kali学习笔记29:默认安装漏洞

    文章的格式也许不是很好看,也没有什么合理的顺序 完全是想到什么写一些什么,但各个方面都涵盖到了 能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道 默认安装漏洞: 早期Windows默认自动开启很多服务 ...

  6. Kali学习笔记27:Burpsuite(上)

    文章的格式也许不是很好看,也没有什么合理的顺序 完全是想到什么写一些什么,但各个方面都涵盖到了 能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道 如果我只能选择一款工具进行Web渗透,那么一定就是Bu ...

  7. Kali学习笔记26:OWASP_ZAP

    文章的格式也许不是很好看,也没有什么合理的顺序 完全是想到什么写一些什么,但各个方面都涵盖到了 能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道 OWASP_ZAP扫描器不同于之前介绍的Web扫描器: ...

  8. Kali学习笔记25:Arachni使用(实现分布式扫描)

    文章的格式也许不是很好看,也没有什么合理的顺序 完全是想到什么写一些什么,但各个方面都涵盖到了 能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道 Arachni不同于上次介绍的nikto和skipfi ...

  9. Kali学习笔记24:Nikto、Skipfish

    文章的格式也许不是很好看,也没有什么合理的顺序 完全是想到什么写一些什么,但各个方面都涵盖到了 能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道 实验环境: Kali机器IP:192.168.163. ...

随机推荐

  1. Django提交表单时遇到403错误:CSRF verification failed

    这个问题是由跨站点伪造请求(CRSF)造成的,要彻底的弄懂这个问题就要理解什么是CRSF,以及Django提供的CSRF防护机制是怎么工作的. 什么是CSRF CSRF, Cross Site Req ...

  2. Ionic2生成的main.js执行时间10s+

    写个随笔记录下. 经过一周多各种莫名其妙的研究与分析,然后在论坛中大神给一个命令完美解决之. ionic build android --prod --release

  3. PHP使用urlencode对中文编码时空格、加号的问题

    使用urlencode这个函数进行格式化,urlencode函数会把空格编码为为:+ 当然,前端在接收时可以解码后进行替换 + 为空格的方式处理. 但是这样就多做了一步,很麻烦,有的时候我们的数据接口 ...

  4. Django DetailView 多重继承 关系整理

    0.参考 https://docs.djangoproject.com/en/2.1/topics/class-based-views/mixins/ 1.版本信息 In [157]: import ...

  5. 星环大数据安全组件Guardian与hadoop自带的安全组件区别

    在进行讲解之前,先带大家学习下hadoop关于hdfs自己的安全如何实现的--------------------------- 名词: ACL-访问控制列表(Access Control List, ...

  6. xpath解析html

    XPath XPath 是一门在 XML 文档中查找信息的语言.XPath 可用来在 XML 文档中对元素和属性进行遍历.XPath 是 W3C XSLT 标准的主要元素,并且 XQuery 和 XP ...

  7. 理解ClassLoader

    --摘自<Android进阶解密> *Java中的ClassLoader* 1.系统类加载器包括3种: 1)Bootstrap ClassLoader(引导类加载器) C/C++代码实现的 ...

  8. java位移运算符3 转

    https://www.cnblogs.com/winsker/p/6728672.html 移位运算符操作的对象就是二进制的位,可以单独用移位运算符来处理int型整数. 理解java移位运算符 运算 ...

  9. VB生成条形码(EAN-13)

    14年给别人写的一个库存软件,用到扫码枪,所以就有了这个类. 编码规则相对简单,详见百度百科EAN-13 示例运行效果如下: 类模块:cEAN13.cls Option Explicit '★━┳━━ ...

  10. windows本地用户及组的区别

    Administrators(超级管理员组) 用来管理注册用户或者具有一定权限的其他管理员,维护网站的运行. Administrators中的用户对计算机/域有不受限制的完全访问权,分配给该组的默认权 ...