请选择 进入手机版 | 继续访问电脑版

Silic Group Hacker Forum

 找回密码
 Join Us
搜索
查看: 310|回复: 5

[活动] 2011黑客闯关游戏 攻略[转载] [复制链接]

管理员

Silic Admin

Rank: 12Rank: 12

发表于 2012-1-28 02:34:32 |显示全部楼层
一个黑客游戏的通关记录…
转自:蝶浪网络::Deloz.Net
黑客闯关游戏入口:http://hackgame.blackbap.org

第1关:突破客户端,奸商说,无论如何您都是错的…
根据提示,输入PassWord,和一些随便的密码,发现都是提示"密码不能为空/非空"的. -_-!! 不管,按F12(或Ctrl+Shift+I)启用Chrome的开发工具…可以看到表单提交时调用了一个JS函数chk_submit(),
  1. <form method="post" action="" onsubmit="return chk_submit();">
复制代码
按ESC启用控制台,输入chk_submit()看下这个函数是怎么样的,输入时Chrome会自动提示,很方便.. 按tab键,自动完成输入,再按回车..就看到这个函数的代码了…果然,不论输入什么,都是返回false,如下图



好吧,改变chk_submit()的值, 在控制台输入chk_submit = true;按回车..
然后,回到页面上,输入password,回车.,就跳到第2关了.

第2关:逆向解密,您是否拥有逆向解密的思维…
这次给出了"提示在这里",鼠标放过去, 却点击不了…查看下源码,原来注释了…打开 http://hackgame.blackbap.org/tip/nozend.php 看到一串PHP代码,最后一句很明显是解密,但代码中没有写解密部分..既然是逆向…那我就反着写,代码如下

  1. <?phpfunction notrealmd5code($string,$operation='ENCODE') {
  2.     if ($operation=='ENCODE'){
  3.             $OutTxt = "";
  4.             for ($x=0;$x<strlen($string);$x++) {
  5.                     $nr = ord($string[$x]);
  6.                     if ($nr < 128) {
  7.                             $nr += 128;
  8.                    } elseif ($nr > 127) {
  9.                             $nr -= 128;
  10.                     }
  11.                     $nr = 255 - $nr;
  12.                     $OutTxt .= sprintf("%02x", $nr);
  13.             }
  14.             return $OutTxt;
  15.     } else {
  16.     /* DECODE MISS
  17.     * ord  Return ASCII value of character
  18.     */
  19.             $str = str_split($string , 2);
  20.             $txt = '';
  21.             foreach ( $str as $key=>$value ) {
  22.                     $dec = hexdec($value);
  23.                     $nr = 255 - $dec;
  24.                     if ( $nr > 128 ) {
  25.                             $nr -= 128;
  26.                     } elseif ( $r < 127 ) {
  27.                             $nr += 128;
  28.                     }
  29.                     $txt .= chr($nr).$xt;
  30.             }

  31.                 return $txt;
  32.     }
  33. }
  34.     echo notrealmd5code('C25D765DC2B0CA75B741310830E8E8CB','DECODE');
  35. ?>
复制代码
运行一下,输出为comegamepoint222输入这一串,口令正确,通关…

第3关:寻找Password…
Windows和Linux密码存放路径,我不知,google了一下,找到答案是c:\windows\system32\config\SAM/etc/passwd



根据提示,下载暴力密码工具









算出NTLM串d18e760f2b15a239328274a447cd67f7的原文是*#!*和MD5串 $1$1zUVF6AN$uHBYbOv4WW1Z9kkKFnJ2v.的原文(电脑卡,就不算了.)

第4关:挖掘规则里面的漏洞…
下载给出的PDF文件,然后去提示里边的http://bbs.blackbap.org/viewthread.php?tid=1737看下文章,用VIM打开这个PDF,输入/Action按回车, 就搜索到第32行,如下图, 方括号之内的16进制代码70617373776F72642069733A7064666973576964656C7921,很明显这就是目标.


根据论坛文章所说的是个字符串,所以,把16进制转换成字符串用PHP转换,如下.

  1. <?php
  2. $str = '70617373776F72642069733A7064666973576964656C7921';
  3. $data = str_split($str, 2);
  4.     foreach ( $data as $item ){
  5.        echo chr(hexdec($item));
  6.     }

  7. ?>
复制代码

运行一下,输出password is:pdfisWidely!pdfisWidely!输入页面,回车..通关…

第5关:页面自身的缺陷,他们说输入的地方就是攻击的开始…
根据提示, 在Chrome按Ctrl+U,看看源码,找到do_try函数,会看到下边有个do_other, 注释中写着//getpwd, 说明开发人员调试时的代码没有删除掉…



于是把do_try()修改为do_other(‘getpwd’),如下图



得到密码URsoGreat 至此,通关完毕…
附件: 你需要登录才可以下载或查看附件。没有帐号?Join Us
思想主导行为

Rank: 1

发表于 2012-1-28 16:29:11 |显示全部楼层
学习了,#89 顶起。

Rank: 2Rank: 2

发表于 2012-1-29 19:25:03 |显示全部楼层
表示这5关难度都差不多= =……

Rank: 1

发表于 2012-1-30 17:48:15 |显示全部楼层
第一关都过不去的情何以堪。

Rank: 1

发表于 4 天前 |显示全部楼层
一个不会的 路过 去上吊中..........

Rank: 1

发表于 3 天前 |显示全部楼层
              楼主 犀利
您需要登录后才可以回帖 登录 | Join Us

Archiver|手机版|计算机文献资料库

GMT+8, 2012-2-23 10:36

© 2009-2012 Silic Group Hacker Army

回顶部