1.发现

1.1 扫描后台,发现后台文件。

[ACTF2020 新生赛]BackupFile 1_16进制 

 

 1.2 下载后台文件并分析代码,发现为弱类型绕过。

<?php
    include_once "flag.php";//包含flag文件

    if(isset($_GET['key'])) {//获取key参数
        $key = $_GET['key'];
        if(!is_numeric($key)) {//判断key是否为数值OR数字字符串,不仅可以检查10进制,16进制也可以
            exit("Just num!");//不是则退出脚本
        }
        $key = intval($key);//获取变量整数数值
        $str = "123ffwsfwefwf24r2f32ir23jrw923rskfjwtsw54w3";
        if($key == $str) {//弱比较
            echo $flag;
        }
    }
    else {
        echo "Try to find out source file!";
    }
?>

知识点:
弱类型绕过

2.步骤

2.1 payload:key=123,得到flag。

[ACTF2020 新生赛]BackupFile 1_php_02

 3.借鉴

 (16条消息) [ACTF2020 新生赛]BackupFile 1_咳 咳!!!我不会....的博客-CSDN博客

 php 弱类型总结 - Mrsm1th - 博客园 (cnblogs.com)