Overthewire-natas24

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

上一篇:ajax访问控制器以及限制访问方式的坑


下一篇:AJAX + 身份认证