web:[MRCTF2020]Ez_bypass

题目

点进题目

调整一下

进行代码审计,先看第一段

复制代码
if(isset($_GET['gg'])&&isset($_GET['id'])) {
    $id=$_GET['id'];
    $gg=$_GET['gg'];
    if (md5($id) === md5($gg) && $id !== $gg) {
        echo 'You got the first step';

get参数传参,后判断md5后的值是否相等,这里为===强等于,可以将参数设置为数组进行绕过,若是双等号弱等于,可以找两个md5加密后开头都是0e的参数进行绕过(会被认为是科学计数法)

构造payload

复制代码
?gg[]=1&id[]=2
复制代码
 if(isset($_POST['passwd'])) {
            $passwd=$_POST['passwd'];
            if (!is_numeric($passwd))
            {
                 if($passwd==1234567)
                 {
                     echo 'Good Job!';
                     highlight_file('flag.php');
                     die('By Retr_0');
                 }
                 else
                 {
                     echo "can you think twice??";
                 }
            }
            else{
                echo 'You can not get it !';
            }

        }
        else{
            die('only one way to get the flag');
        }
}
    else {
        echo "You are not a real hacker!";
    }
}
else{
    die('Please input first');
}

用post传参password,使用了is_numeric判断是否是数字,若判断不是数字,就判断是否为1234567,这里需要绕过is_numeric

构造payload

复制代码
passwd=1234567%00

得到flag

相关推荐
JustHappy13 小时前
古法编程秘籍(七):互联网到底是什么?把两台电脑怎么说话搞懂就够了
前端·后端·网络协议
snow@li13 小时前
SEO-文章标题:写文章时候,分类+主标题+大纲+解释 作为标题 / 不点进去也知道全文覆盖什么 / 标题即架构
前端
学逆向的14 小时前
C++纯虚函数
开发语言·c++·网络安全
kyriewen14 小时前
Git Commit 前自动修复代码风格?配置 Husky + lint-staged,从此 CR 只聊逻辑
前端·git·面试
小和尚同志14 小时前
AI 自动化测试探索(一):Playwright MCP
前端·人工智能·aigc
老马识途2.015 小时前
在AI的帮助下理解spring的启动过程
java·前端·spring
徐小夕15 小时前
Loop Engineering 深度解析与实战指南(全网最全)
前端·算法·github
运筹vivo@15 小时前
Python ContextVar 底层机制与内存模型拆解
前端·数据库·python
#麻辣小龙虾#17 小时前
基于vue3.0开发一款【固废与废气运维管理系统】(支持源码)
前端·vue.js·vue3
Cosolar17 小时前
Docsify零构建文档站完全指南:从快速搭建到企业级部署
前端·开源·github