Esc410
V2EX  ›  PHP

如何构造 v1 和 v2 才能读取到 1.txt

  •  
  •   Esc410 · Aug 20, 2020 · 3283 views
    This topic created in 2118 days ago, the information mentioned may be changed or developed.

    代码如下,如何构造 v1 和 v2 才能读取到 1.txt

    <?php
    $v1 = $_GET['v1'];
    $v2 = $_GET['v2'];
    $v1 = (string)$v1;
    if(strlen($v1) > 5 || strlen($v2) > 5){
        die("too long");
    }
    if($v1 !== $v2 && md5($v1) === md5($v2) && $v1 != $v2){
        echo file_get_contents("/1.txt");
    }
    
    11 replies    2020-08-25 22:06:26 +08:00
    2kCS5c0b0ITXE5k2
        1
    2kCS5c0b0ITXE5k2  
       Aug 20, 2020
    md5 — 计算字符串的 MD5 散列值 貌似没办法读到。。
    kernelpanic
        2
    kernelpanic  
       Aug 20, 2020
    2kCS5c0b0ITXE5k2
        3
    2kCS5c0b0ITXE5k2  
       Aug 20, 2020
    不过貌似 php 的 md5 会有 bug 传入数组 会返回 null 所以传入 2 个不同的数组就可以了
    hellos
        4
    hellos  
       Aug 20, 2020 via Android
    没$v1 = (string)$v1;可以 v1[]=1 v2[]=2 。
    但 (string)$v1 只能 md5 碰撞了,但又限制长度。
    不知道
    0clickjacking0
        5
    0clickjacking0  
       Aug 20, 2020
    @kernelpanic 这里限制了长度,你博客里写的方法不能用的
    mx1700
        6
    mx1700  
       Aug 21, 2020 via Android
    v1[]=1&v2=Array
    mx1700
        7
    mx1700  
       Aug 21, 2020 via Android
    @mx1700 好吧,不对,看错了
    masker
        8
    masker  
       Aug 21, 2020 via Android
    打 ctf 都找别人帮你白嫖?
    ben1024
        9
    ben1024  
       Aug 21, 2020
    长度小于 5 的 MD5 碰撞,有点意思
    goodboy95
        10
    goodboy95  
       Aug 21, 2020
    现在 ctf 这么有意思了吗,要不就写个程序慢慢跑吧(只考虑字母和数字),如果答案存在的话,花几天时间应该能跑出来
    0clickjacking0
        11
    0clickjacking0  
       Aug 25, 2020
    NAN 和 INF 就行了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1045 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 47ms · UTC 22:39 · PVG 06:39 · LAX 15:39 · JFK 18:39
    ♥ Do have faith in what you're doing.