| 
 
 删除我之前说的御剑好用的说法,dirsearch yyds,因为御剑无法控制扫描速度,在buuctf的环境里有访问频率限制导致永远也扫不到,都是429太快了,这里使用dirsearch的延迟功能,一般常用用法是这样 这个题使用  
python dirsearch.py -u http://c76a7262-9c68-4cec-98bc-ec95fa494c8c.node4.buuoj.cn:81/ -e * -s 5
  
经检测,再快了就会出现429频率过高的错误,当然也可以改线程数,反正让它慢下来就行,晚网上那些一大堆429中间一个200的我都不知道是怎么实现了,从理论上来说有几率扫不到,如下图,不限制是根本找不到的,因为都是429     下图是延迟5s后的结果     flag.php访问了一下之后发现不行,是空的,所以下载这个index.php.bak,发现如下代码  
<?php
include_once "flag.php";
if(isset($_GET['key'])) {
    $key = $_GET['key'];
    if(!is_numeric($key)) {
        exit("Just num!");
    }
    $key = intval($key);
    $str = "123ffwsfwefwf24r2f32ir23jrw923rskfjwtsw54w3";
    if($key == $str) {
        echo $flag;
    }
}
else {
    echo "Try to find out source file!";
}
  
这里涉及到一个php语法  
 
 == 为弱相等,也就是说12==“12” --> true,而且12==“12cdf” --> true,只取字符串中开头的整数部分,但是1e3dgf这样的字符串在比较时,取的是符合科学计数法的部分:1e3,也就是1000.  而且bool类型的true和任意字符串的弱类型相等  
  
所以这里只需要构造一个key=123的get包上传即可     flag出了。所以这题主要是考扫描工具的使用,特别是有频率限制的这类请求,一定要注意限制自己的请求频率,不然可能字典里面有都扫不出来 
                
                
                
        
    
 
 |