欢迎光临散文网 会员登陆 & 注册

SQL注入-自动化盲注(sqlmap)

2023-02-22 12:09 作者:Growlbass  | 我要投稿

本教程仅用于技术交流及学习,请勿使用本教程所讲技术进行违法活动,如果将本教程所讲技术用于违法活动,本人概不负责。

在上一个专栏,我已经讲了SQL注入的原理及Union联合注入。今天,我们来讲一下另一种SQL注入方法:布尔盲注。

首先,在开始教程之前,我先来讲一下什么是布尔型(Bool)。布尔型是用于逻辑判断的变量,只有真(Ture)和假(False)两个值。

那么,在知道布尔型是什么之后,我们就可以引申出布尔盲注是什么:当你使用布尔盲注时,运用特定的SQL语句,猜测表,列,字段的长度以及字符。当你猜对了,页面返回真,正常回显;当你猜测错误,则返回假,还需要继续猜测。

很懵对不对,那么我来讲个故事,帮助你理解。或许你小时候玩过一个游戏,叫做“是不是”,一个人讲述一半的故事,你可以问这个故事的讲诉者一些问题,她会告诉你是或者不是,最后,由你来猜出整个故事的走向。布尔盲注就是这个道理,在这里,你是攻击者,而服务器就相当于这里故事的讲诉者,这样讲就清楚很多了吧。

布尔盲注往往适用于网站不支持联合查询,或者没有回显的情况下。

好了,到这里,我们就可以进行实战了,这一篇,我们使用sqlmap这个自动化SQL注入工具。我们的靶场是墨者学院SQL漏洞测试-Bool盲注。

好的我们进入靶场,看到了靶场是一个网站的后台,那么我们的目标就是爆破这个网站后台,拿到管理员账号密码进入后台。我们还可以看到在登陆框下面有一个公告,我们进入看一下。

靶场主页

很好,熟悉的SQL注入味道,我们看一下这个:.php?id=1,熟悉吧。我们来测试一下是否可以进行注入,我们先传入 and 1=2,让网站报错。

网站返回错误了,那么,我们再试试传入and 1=1,看看网站能否正常回显。

网站正常回显,由此我们可以断定这里存在SQL注入漏洞,我们的and 1=1 和 and 1=2 被拼接到了服务器SQL服务器中。

那么我们用sqlmap对这个网站做一个测试,在sqlmap中输入以下命令获取当前数据库名称。

sqlmap -u "http:/124.70.71.251:48793/new_list.php?id=1" --current-db

我们看最后的返回结果,看到了当前数据库名称为stormgroup。

那么我们继续来猜表。

输入sqlmap -u "http:/124.70.71.251:48793/new_list.php?id=1" -D stormgroup --tables

在这里,sqlmap查询到了这个库中有两张表,我们先选择member表,看看里面的列有没有我们想要的账号密码。

输入sqlmap -u "http:/124.70.71.251:48793/new_list.php?id=1" -D stormgroup -T member --columns

漂亮,得来全不费工夫,我们看到了name和password列,接下来,我们的目的就是爆出这两个列中的内容

输入:sqlmap -u "http:/124.70.71.251:48793/new_list.php?id=1" -D stromgroup -T member -C name,password --dump

好的爆出来了,账号是mozhe,但是密码为什么这么长呢?这里返回的是md5加密后的密码,可不要傻傻的直接当成密码输入了。我们去用md5解密工具解密一下

我们知道了密码是034655,我们去网站后台登陆一下试试。

好的我们成功登陆了后台,顺利拿到key,靶场到此通关。

观看本教程需要有一定的sqlmap基础操作知识以及sql注入的基本认识。此次我们用工具进行注入,接下来的教程我会去讲一下手工盲注。

如果发现本教程存在问题,请及时指出,我们大家相互学习,共同进步。

SQL注入-自动化盲注(sqlmap)的评论 (共 条)

分享到微博请遵守国家法律