zoukankan      html  css  js  c++  java
  • [原题复现][极客大挑战 2019]BuyFlag

    简介

     原题复现:[极客大挑战 2019]BuyFlag  

     考察知识点:php函数特性(is_numeric()、strcmp函数())

     线上平台:https://buuoj.cn(北京联合大学公开的CTF平台 特别感谢!) 榆林学院内可使用信安协会内部的CTF训练平台找到此题

    复现

    基础知识

    is_numeric()函数 :https://www.cnblogs.com/xhds/p/12312223.html

    strcmp()函数:https://www.cnblogs.com/xhds/p/12312055.html

    打开页面发现payflag页面 在这个页面有这些信息

    If you want to buy the FLAG:
    You must be a student from CUIT!!!
    You must be answer the correct password!!!

    Only Cuit's students can buy the FLAG

    FLAG NEED YOUR 100000000 MONEY

    在源码中发现:

    <!--
        ~~~post money and password~~~
    if (isset($_POST['password'])) {
        $password = $_POST['password'];
        if (is_numeric($password)) {
            echo "password can't be number</br>";
        }elseif ($password == 404) {
            echo "Password Right!</br>";
        }
    }
    -->

     根据这些信息分析是要经过post传输密码要等于404  才等于说有权限购买 金钱要等于100000000  首先有个问题404是数值is_numeric函数会检测出来所以我们得绕过它 还有主义观察我们抓取的包里面cookie的值有个user=0 CTF直觉这肯定要改成1的 因为正常情况下这里是cookie的值 所以我们用bp测试

    得到信息  nember lenth is too long 意识是长度有问题太长 所以这里我们借助strcmp的函数特性绕过它

    strcmp函数特性 money后面加[]绕过   即可得到flag

     

  • 相关阅读:
    自考新教材-p240_2
    自考新教材-p243_5_(1)
    自考新教材-p242_4
    自考新教材-p233
    自考新教材-p230
    Spring入门(9)-AOP初探
    MongoDB的备份与恢复
    JVM基础知识(1)-JVM内存区域与内存溢出
    Spring入门(8)-基于Java配置而不是XML
    Spring入门(7)-自动检测Bean
  • 原文地址:https://www.cnblogs.com/xhds/p/12312251.html
Copyright © 2011-2022 走看看