北邮 -3.29

北邮 -3.29_第1张图片

 

 菜鸡只打了100分

 

ez_bypass

对于我一点都不ez

北邮 -3.29_第2张图片

 

 用数组可以让md5加密都都为NULL,然后是原本数据不相等,so,id[]=1&gg[]=2

然后下面那个is_numeric()是用来判断是否为数字,so,用post传值1234567%00,或者1234567a或1234567!都可以,然后就出现了让我激动的flag

 

套娃

看不懂这两个字,做起来才发现,一重又一重,唉,搞了我n小时

 

 看源码,发现这个

北邮 -3.29_第3张图片

 

 然后上网找找,发现substr_count(a,b),是找在a中有多少个b,

然后又找到可以用 .  代替  _  

又发现正则表达式不能等于23333,网上又找到了可以用%0a过滤

正当以为出flag时

 

 

北邮 -3.29_第4张图片

 

 好吧,是我想得太简单了

北邮 -3.29_第5张图片

 

 看源码发现一堆这个东西,然后拿去解

叫我post me Merak

 

但我发现它又叫我要本地登录,所以我即用本地有传值,发现原来根本就不是一起的

我单传值得到

北邮 -3.29_第6张图片

 

 然后又找看不懂的代码

error_reporting(0); 
include 'takeip.php';
ini_set('open_basedir','.'); 
include 'flag.php';

if(isset($_POST['Merak'])){ 
    highlight_file(__FILE__); 
    die(); 



function change($v){ 
    $v = base64_decode($v); 
    $re = ''; 
    for($i=0;$i        $re .= chr ( ord ($v[$i]) + $i*2 );  //chr是把ASCII转成字符 ord时把字符转成ASCII数字,大概是这个意思吧
    } 
    return $re; 
}
echo 'Local access only!'."
";
$ip = getIp();
if($ip!='127.0.0.1')
echo "Sorry,you don't have permission!  Your ip is :".$ip;
if($ip === '127.0.0.1' && file_get_contents($_GET['2333']) === 'todat is a happy day' ){ //file_get_contents() 函数把整个文件读入一个字符串中。
echo "Your REQUEST is:".change($_GET['file']);
echo file_get_contents(change($_GET['file'])); }

?>  

然后就不懂了

后来经高人指点,用了一下php://input发现不行

再经高高人指点高人再指点我,用了data://

北邮 -3.29_第7张图片

 

 终于成功了

 

北邮 -3.29_第8张图片

 

 虽然做的题目很少,但也学到了一些东西,继续努力吧,希望下次能更好。

50+50=100,按小学成绩来算就是满分啦,哈哈哈

 

你可能感兴趣的:(北邮 -3.29)