zoukankan      html  css  js  c++  java
  • 一题关于PHP的CTF

    if(isset($_GET['time'])){ 
            if(!is_numeric($_GET['time'])){ 
                    echo 'The time must be number.'; 
            }else if($_GET['time'] < 60 * 60 * 24 * 30 * 2){ 
                            echo 'This time is too short.'; 
            }else if($_GET['time'] > 60 * 60 * 24 * 30 * 3){ 
                            echo 'This time is too long.'; 
            }else{ 
                    sleep((int)$_GET['time']); 
                    echo $flag; 
            } 
                    echo '<hr>'; 
    }

    这里用is_numeric检查是否为数字,而后面用(int)将字符型数字转为数字型数字,那么我们来比较一下这两个函数对字符型数字的处理。
            前者支持普通数字型、科学记数法型、部分支持十六进制0x型,在前者支持的形式中,后者不能正确转换的类型有十六进制型、科学计数法型(部分)。
            因此本题flag在部分环境下可以是?time=0x4F1A01或者部分环境下是?time=5.184001e6,而在部分环境下是无解的。
    5.184001e6 = 5184001

  • 相关阅读:
    树状数组基础
    Color the ball HDU1556
    敌兵布阵 HDU1166
    线段树基础
    T9 HDU1298
    7-6 Bandwidth UVA140
    测试方法:
    测试过程:
    爬天极网美女图片缩略图:
    爬天极网美女预览图版一:
  • 原文地址:https://www.cnblogs.com/xishaonian/p/6724964.html
Copyright © 2011-2022 走看看