一个好玩的黑客游戏

这两天无意中看到一个很好玩的小黑客游戏..

     比较有意思,在娱乐的同时可以学到东西!

想玩的....点击这里  黑客小游戏




这里是答案哦!!! 在思考很久之前尽量不要看...


第一关:删除表单中的submit 动作,写入密码 password 点击提交按钮即可。

第二关:

首先查看源代码的注释

 

然后访问网址 http://hackgame.blackbap.org/tip/nozend.php 得到代码

 

[cpp] view plaincopy
<?php
 
highlight_file( __FILE__ );
 
function notrealmd5code($string,$operation='ENCODE') {
    if ($operation=='ENCODE'){
        $OutTxt = "";
        for ($x=0;$x<strlen($string);$x++) {
            $nr = ord($string[$x]);
            if ($nr < 128) {
                $nr += 128;
            }
            elseif ($nr > 127) {
                $nr -= 128;
            }
            $nr = 255 - $nr;
            $OutTxt .= sprintf("%02x", $nr);
        }
        return $OutTxt;
    } else {
        /* DECODE MISS
         * ord  Return ASCII value of character
         */
        return '';
    }
}
echo notrealmd5code('1c10121a181e121a0f1016110b4d4d4d','DECODE');

其实容易想到就是对  1c10121a181e121a0f1016110b4d4d4d 解码。

编写下面函数:

[cpp] view plaincopy
function getnum($num)
{
    $len=strlen($num);
    for($i=0;$i<$len;$i=$i+2){
        $a;
        sscanf(substr($num,$i,2),"%x",$a);
        $a=255-$a;
        if($a>=128)$a-=128;
        else $a+=128;
        echo chr($a);
         
        }
     
}
getnum("1c10121a181e121a0f1016110b4d4d4d");
 
最后获得密码为:comegamepoint222


第三关:

首先写入密码存放路径,我搜了一下 windows的。

c:windowssystem32configSAM

然后得到一个加密后的密文:d18e760f2b15a239328274a447cd67f7

解密得到密码为: *#!*

ntlm解密网址:http://www.md5decrypter.co.uk/ntlm-decrypt.aspx

第四关:

这一关的一个adobe reader的一个漏洞起初让我无从下手,经过别人提示才有了大致思路。

首先看一下提示文档:http://bbs.blackbap.org/viewthread.php?tid=1737   这里向我们说明了pdf的一些格式。

其实我对pdf 漏洞知识是完全不懂。用winhex查看源文件(就是那个pdf文档),发现了作者的提示

question(Some problems has happened in object 8 )

随后找到了

8 0 obj
<</Type /Action /S /URI /#55#52#49 <70617373776F72642069733A7064666973576964656C7921>>>
endboj

然后对红四部分16进制解码得到:password is:pdfisWidely!

解码还是用第二关的那个函数,只是注释掉了几行。

[php] view plaincopy
function getnum($num)
{
    $len=strlen($num);
    for($i=0;$i<$len;$i=$i+2){
        $a;
        sscanf(substr($num,$i,2),"%x",$a);
    //  $a=255-$a;
        //if($a>=128)$a-=128;
    //  else $a+=128;
        echo chr($a);
         
        }
     
}
getnum("70617373776F72642069733A7064666973576964656C7921");

第五关;


这一关一直毫无思路,最后忍不住搜了一下答案,发现这一关好坑爹呀。。

控制台直接调用 do_other('getpwd') 得到密码为:URsoGreat

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值