• 练[极客大挑战 2019]BuyFlag


    [极客大挑战 2019]BuyFlag


    在这里插入图片描述

    掌握知识

    cookie字段的修改,代码审计,数字和字符串弱等于绕过,科学计数法替换长数字,GET请求包转换POST请求包

    解题思路

    1. 打开题目链接,点击右面的menu菜单栏会有个买flag界面,进去后界面就有要满足的要求,必须是学生,必须密码正确,还必须钱够。

    image-20231005223213111

    image-20231005223528691

    image-20231005223217456

    1. 查看了一下源代码,发现了对password变量的判断,是一个简单的代码审计,is_numeric函数使得传入的参数不能全数字,但是结果还得和404相等。但是由于是弱相等,所以只需要404后面跟字母即可通过判断,因为字符串和数字进行弱等于比较,会把字符串强转成int型,就会把后面的字母舍弃,保留前面的数字部分,即password=404a

    image-20231005223508441

    1. 既然需要post传参,先抓取该页面的数据包,发现请求头cookieuser字段值为0,既然是数字表示那修改成1应该就是学生用户了。再右键将GET数据包转化成POST数据包,传入password参数

    image-20231005223715650
    在这里插入图片描述

    image-20231005223758447

    1. 根据界面的响应结果能发现,前两个条件已经满足,就差钱了,但是如何传入钱呢,也没给出传钱的参数。查找了一番,说尝试money为参数,传参成功回显,确定money为参数。传入足够的钱之后发现回显数字太长,这就可以使用科学计数法,使用1e10来表示很长的数字了即可拿下flag

    image-20231005224110369

    关键paylaod

    cookie: user=1
    
    password=404a&money=1e10
    
    • 1
    • 2
    • 3
  • 相关阅读:
    vue获取当前页面地址
    TPTU: Task Planning and Tool Usage of Large Language Model-based AI Agents
    Knowledge related to the enterprise
    windows中nginx配置负载均衡
    CTFHub-SSRF-读取伪协议
    测试用例的设计方法
    矩阵分析与应用
    微信小程序入门级
    Python排序算法
    算法设计与分析大师班
  • 原文地址:https://blog.csdn.net/m0_66225311/article/details/133659369