Kali学习笔记44:SQLMAP
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的更多相关文章
- [原创]java WEB学习笔记44:Filter 简介,模型,创建,工作原理,相关API,过滤器的部署及映射的方式,Demo
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- CUBRID学习笔记 44 UPDATE 触发器 更新多表 教程
cubrid的中sql查询语法UPDATE c#,net,cubrid,教程,学习,笔记欢迎转载 ,转载时请保留作者信息.本文版权归本人所有,如有任何问题,请与我联系wang2650@sohu.com ...
- Kali学习笔记31:目录遍历漏洞、文件包含漏洞
文章的格式也许不是很好看,也没有什么合理的顺序 完全是想到什么写一些什么,但各个方面都涵盖到了 能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道 目录遍历漏洞: 应用程序如果有操作文件的功能,限制不严 ...
- Kali学习笔记30:身份认证与命令执行漏洞
文章的格式也许不是很好看,也没有什么合理的顺序 完全是想到什么写一些什么,但各个方面都涵盖到了 能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道 实验环境: Kali机器:192.168.163.13 ...
- Kali学习笔记29:默认安装漏洞
文章的格式也许不是很好看,也没有什么合理的顺序 完全是想到什么写一些什么,但各个方面都涵盖到了 能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道 默认安装漏洞: 早期Windows默认自动开启很多服务 ...
- Kali学习笔记27:Burpsuite(上)
文章的格式也许不是很好看,也没有什么合理的顺序 完全是想到什么写一些什么,但各个方面都涵盖到了 能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道 如果我只能选择一款工具进行Web渗透,那么一定就是Bu ...
- Kali学习笔记26:OWASP_ZAP
文章的格式也许不是很好看,也没有什么合理的顺序 完全是想到什么写一些什么,但各个方面都涵盖到了 能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道 OWASP_ZAP扫描器不同于之前介绍的Web扫描器: ...
- Kali学习笔记25:Arachni使用(实现分布式扫描)
文章的格式也许不是很好看,也没有什么合理的顺序 完全是想到什么写一些什么,但各个方面都涵盖到了 能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道 Arachni不同于上次介绍的nikto和skipfi ...
- Kali学习笔记24:Nikto、Skipfish
文章的格式也许不是很好看,也没有什么合理的顺序 完全是想到什么写一些什么,但各个方面都涵盖到了 能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道 实验环境: Kali机器IP:192.168.163. ...
随机推荐
- centos/redhat命令行上传下载文件
前言:客户端上没有安装xftp,winscp等等软件,无法将服务器上需要的文件下载到本地去解析,无法将本地的安装包上传到服务器上去,这个时候命令行就可以带你翱翔一波 配置如下: 服务器上: 1.安装需 ...
- python3+Robot Framework+PyCharm第一个WEB UI自动化用例
这里只是列举一个很简单的例子,简单介绍工具的使用,编写用例之前,做好WEB UI自动化的准备工作,下载好chrome驱动(这里以chrome为例,不同浏览器有对应的驱动),注意驱动和浏览器版本要对应, ...
- 小程序-canvas在IOS手机层级最高无法展示问题
要求的效果: 正面: 背面: 在开发者工具 利用css 和定位实现了一个版本 .topBox.on { transform:rotateY(180deg); } .topBox { position: ...
- SpringBoot-目录及说明
今天开始抽时间整理SpringBoot的内容这里可以作为一个目录及说明相关的资料都可以跳转使用 说明: 目录: 一:创建SpringBoot项目 1)Maven创建 (1)使用命令行创建Maven工程 ...
- 应用中对APK进行安装
权限 <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/> //允 ...
- 使用CocoaPods时遇到 Permission denied 问题
报错: Setting up CocoaPods master repo [!] /usr/bin/git clone fatal: could not create work tree dir 'm ...
- java自动化-数据驱动junit演示,下篇
本文旨在帮助读者介绍,如何使用excle实现数据驱动 本文是上文https://www.cnblogs.com/xuezhezlr/p/9096063.html的继续,如果没看上文建议自己看一下,对理 ...
- Android SDK提供的常用控件Widget “常用控件”“Android原生”
Android提供一个标准的视图工具箱来帮助创建简单的UI界面.通过使用这些控件(必要时,可以对这些控件进行修改). 创建一个简单的.xml文件,从预览窗口可以看到Android SDK提供的原生控件 ...
- Android中Adapter类的使用 “Adapter”
Adapter用来把数据绑定到扩展了AdapterView类的视图组(例如:ListView或Gallery).Adapter负责创建代表所绑定父视图中的底层数据的子视图. 可以创建自己的Adapte ...
- Rabin-Karp ACM训练
求解问题 寻找S中T出现的位置或次数.假设S的长度为n, T的长度为m, 通过枚举S长度为m的字串的hash值与T的hash值比较.此时使用滚动hash的优化使复杂度不为O(mn). 算法说明 滚动h ...