Overthewire level 24 to level 25
这一关与上一关很像,同样是提交一个密码登录,让我们看看源代码
<?php
if(array_key_exists("passwd",$_REQUEST)){
if(!strcmp($_REQUEST["passwd"],"<censored>")){
echo "<br>The credentials for the next level are:<br>";
echo "<pre>Username: natas25 Password: <censored></pre>";
}
else{
echo "<br>Wrong!<br>";
}
}
// morla / 10111
?>
代码利用strcmp将"$passwd"
与真正的密码进行比较。那么如何绕过这种比较机制呢?在网上随便找找就能知道php的strcmp如果比较不同类型的时候会返回true。并且php提供了一种方式来上传数组类型的数据,因此我们只要将上传的数据转化为数组类型即可。
请求一下http://natas24.natas.labs.overthewire.org/?passwd[]=a
即可获得答案。
第25关密码为GHF6X7YwACaYYssHVY05cFq83hRktl4c