首页启动场景打开链接


<?php
highlight_file('flag.php');//高亮显示flag.php文件
$_GET['id'] = urldecode($_GET['id']);//对传入的id进行url解码
$flag = 'flag{xxxxxxxxxxxxxxxxxx}';
if (isset($_GET['uname']) and isset($_POST['passwd'])) {//判断uname和passwd参数是否传入
if ($_GET['uname'] == $_POST['passwd'])
print 'passwd can not be uname.';//uname和passwd的值不能相同
else if (sha1($_GET['uname']) === sha1($_POST['passwd'])&($_GET['id']=='margin'))
//将传入的uname和passwd进行sha编码后进行比较
die('Flag: '.$flag);//满足if条件,得到flag
else
print 'sorry!';
}
?>
要通过get传入uname和id参数,通过pose传入passwd,最重要的是uname的sha1和值与passwd的sha1的值相等即可,但是同时他们两个的值又不能相等,构造数组就可以
构造:?uname[]=1&id=margin,在用hackbar传入passwd[]=2
得到flag

flag{3c7bd4aaee61c35a33786bbd8d4ed6ce}
3684

被折叠的 条评论
为什么被折叠?



