Tool篇 - Sqlmap

sqlmap使用指南

什么是sqlmap?

Sqlmap是一款由Python语言编写的开源sql注入检测、利用工具,它可以自动检测和利用sql注入漏洞,并且配备了强大的检测引擎,拥有丰富的特性这其中包括了指纹识别、对系统的控制、自动识别密码的散列格式并暴力破解等等,加之非常多的参数,是一款安全从业人员必备的工具。

支持五种类型的sql注入

  1. 布尔型
  1. 报错型
  1. 联合查询
  1. 多语句查询
  1. 基于时间的延迟注入

安装

  1. 本机 ==> sqlmap需要2.7版本
  1. kali虚拟机自带sqlmap

参数

参数
作用
h/--help
显示基本的帮助信息
-hh
显示详细的帮助信息
--version
显示sqlmap的版本号
-v 0-6
设置输出的详细度
-u
指定需要判断是否存在sql注入漏洞的URL
-d
直接连接到数据库
  -d" mysql://用户名:密码@地址:端口/数据库名称"
-m
读取文本文件中的URL地址来判断是否存在sql注入
--threads
设置最大并发请求数
--timeout
设置等待超时的时间
--retries
设置重试的次数
-b,--banner
检测出数据库的版本信息
--current-user
检测数据库当前的用户名
--current-db
枚举出当前数据库名称
--is-dba
检测当前用户是否为数据库管理员
--users
枚举出所有数据库用户
--passwords
枚举出所有数据库用户的密码哈希
--privileges
枚举出数据库管理员的用户的权限
--roles
枚举数据库管理系统用户的系统
--dbs
枚举出所有的数据库
--tables
枚举出所有数据库中所有的表
--columns
枚举出所有数据库表中的列名
--dump
下载数据库中的表项
--dump-all
下载所有的数据库表中的条目
--search
搜索列,表和/或数据库名称
-D
指定要进行枚举的指定数据库名
-T
指定要进行枚举的指定数据库表
-C
指定要进行枚举的数据库列
-U
用来进行枚举的数据库用户
--exclude-sysdbs
枚举表时排除系统数据库
--sql-query=
指定要执行的SQL语句
--sql-shell
提示交互式SQL的shell
--os-cmd=
指定需要执行操作系统命令
--os-shell
交互式的操作系统的shell
--priv-esc
数据库进程用户权限提升
--file-read=’’
访问操作系统内的文件
--file-write=’’
编辑操作系统内的文件
--update
更新SQLMAP
--batch
自动选择yes
--output-dir=
自定义输出目录路径
--smart
启发式判断

 

sqlmap扫描漏洞实例

以下我使用的是buuctf中的DVWA靶场
DVWA在线靶场:默认账号密码 admin/password
在kali中打开sql(最好使用root权限叭,防止报错)
//这里得加上cookie,来模拟登录
sqlmap -u "http://f3f6c945-164c-4e93-bc62-0849798f4f95.node4.buuoj.cn:81/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="PHPSESSID=15k68da31t1um8jvijga5rp4n0; security=low" --batch --dbs
-u 查询是否存在sql注入
--batch 默认设置
--dbs 查看数据库

 

返回结果如下:
posted @   GoIcejio  阅读(36)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示