| 最近在一道题目里面学到了一个新的小技巧在php中,字符串是可以递增的,如下:
 但是不可递减
 
  这道题是这样的
 <?php
error_reporting(0);
if ($_GET['looklook']){
    highlight_file(__FILE__);
}else{
    setcookie("hint", "?looklook", time()+3600);
}
if (isset($_POST['ctf_show'])) {
    $ctfshow = $_POST['ctf_show'];
    if (is_string($ctfshow) || strlen($ctfshow) <= 107) {
        if (!preg_match("/[!@#%^&*:'\"|`a-zA-BD-Z~\\\\]|[4-9]/",$ctfshow)){
            eval($ctfshow);
        }else{
            echo("fucccc hacker!!");
        }
    }
} else {
    phpinfo();
}
?>
 可以看到,这里长度的限制是107,我们如果拼接一个_GET,如果硬从C开始自增,那可能会超过限制,T理C太远了,所以这里学到了两个新的操作 在这篇文章有写到(也是原题) $_=C/C ---> NAN
$_=1/C ---> INF
 但是这不是string类型,但在php里面,我们可以通过拼接一个字符串来让他转成String类型比如这里我写如下代码
 <?php
$a = (C/C.C);
$b = (1/C.C);
var_dump($a);
var_dump($b);
  成功得到string类型,这里我们就使用索引就可以单选中字母了
 
  这样做就可以从N开始递增了,避开了长度的限制
 |