黑客游戏 | 记录梦之光芒小游戏的解题过程

admin 2025年4月29日00:14:45评论2 views字数 4207阅读14分1秒阅读模式

偶然看到前辈Monyer所做的小游戏,甚是感慨,从2007年至今已过去18年,期间不断有人经过,留下印记。回望从前,笔者初学时到处查找攻略,到如今可以不看攻略过关,虽然题目不难,但也算见证了时光荏苒。

本篇文章记录了玩Monyer梦之光芒小游戏的解题过程,共有十五关,题目内容较为基础,仅纪念一路走来的自己。

黑客游戏 | 记录梦之光芒小游戏的解题过程

黑客游戏 | 记录梦之光芒小游戏的解题过程

游戏介绍

网址:https://monyer.com/game/game1/

黑客游戏 | 记录梦之光芒小游戏的解题过程

0

页面提示跳转连接在箭头中间,检查元素,发现中间夹着跳转连接。

黑客游戏 | 记录梦之光芒小游戏的解题过程

1

拼接跳转链接first.php进入第1关。

查看网站源码中的JavaScript代码,如果输入的内容为“”,则跳转到hello.php

黑客游戏 | 记录梦之光芒小游戏的解题过程

2

输入“”或者拼接hello.php都可以跳转到第2关。

查看网站源码中的JavaScript代码,内容为通过多次运算得到一个值,这个值加上.php就是下一关的链接。

黑客游戏 | 记录梦之光芒小游戏的解题过程

把代码拿出来跑一下,最后取一下整就好。

# Pythona = 3.14;b = a * 2;c = a + b;d = c / b + a;e = c - d * b + a;f = e + d /c -b * a;g = f * e - d + c * b + a;a = g * g;print(int(a))

结果是424178,拼接之后就是424178.php

3

输入“424178”或者拼接424178.php都可以跳转到第3关。

继续查看源码中的JavaScript代码,内容为执行一段Unicode编码。

黑客游戏 | 记录梦之光芒小游戏的解题过程

通过console.log可以在控制台还原代码,分析内容判断密码为d4g。

黑客游戏 | 记录梦之光芒小游戏的解题过程

4

输入“d4g”或者拼接d4g.php都可以跳转,但是一瞬间又跳转回第3关。

抓包之后发现响应体有一段代码,导致刷新后会跳转回424178.php

<meta http-equiv="refresh" content="0;url=424178.php">

同时可以看到第4关的JavaScript代码逻辑。

黑客游戏 | 记录梦之光芒小游戏的解题过程

这个用控制台也可以跑出来密码,但是代码逻辑看不出来。

黑客游戏 | 记录梦之光芒小游戏的解题过程

js代码混淆度比较高,用deepseek分析了一下逻辑,与之前关卡的代码类似,密码确认为3bhe

黑客游戏 | 记录梦之光芒小游戏的解题过程

但需要注意的是这并不的最终答案,因为下面还有一段js,还原后为把a的值转为大写,并且结尾拼接1,所以最终密码为3BHE1

黑客游戏 | 记录梦之光芒小游戏的解题过程

5

输入“3BHE1”或者拼接3BHE1.php都可以跳转来到第5关。

提示密码在页面里,查看源码没内容,抓包看到响应头中多了一个Monyer字段,获得密码为asdf

黑客游戏 | 记录梦之光芒小游戏的解题过程

6

输入“asdf”或者拼接asdf.php都可以跳转来到第6关。

打开页面,发现是加载一张图片img/tupian1.jpg,提示请通过以下图片中线索寻找密码。

黑客游戏 | 记录梦之光芒小游戏的解题过程

下载图片进行分析,文本形式打开未发现可疑内容。

黑客游戏 | 记录梦之光芒小游戏的解题过程

图片部分内容被打码了,怀疑可能是要猜出打码的内容。

这里有两个思路:

1、用谷歌搜索可见内容,看是否能搜到相关词条(缺点是这个图片比较老了,结果可能已经迭代很多次,无法找到了)。

2、用查看隐写的工具,分析一下图片。

通过Stegsolve.jar工具查看图片,发现在反色图层能隐约看到打码的内容为seventeen

黑客游戏 | 记录梦之光芒小游戏的解题过程
需要注意一下,跳转的js链接为输入的内容+7.php,所以拼接的时候需要拼接seventeen7.php。

黑客游戏 | 记录梦之光芒小游戏的解题过程

7

输入“seventeen”或者拼接seventeen7.php都可以跳转来到第7关。

这关就比较水了,给了三个提示,说是考察社会工程学,其实是根据seventeen7推出来eighteen8

黑客游戏 | 记录梦之光芒小游戏的解题过程

作者怕猜不出来,第三个提示直接给出的md5值,通过解密网站可查到为eighteen8

黑客游戏 | 记录梦之光芒小游戏的解题过程

8

输入“eighteen8”或者拼接eighteen8.php都可以跳转来到第8关。

打开页面是一个404 Not Found默认界面,但是多出来一个提示,在尝试使用ErrorDocument处理请求时遇到了404 Not Found错误。

黑客游戏 | 记录梦之光芒小游戏的解题过程

查看源码,发现聪明才智已经惊动作者了,提示内容很清楚,10000以内所有质数和.php

黑客游戏 | 记录梦之光芒小游戏的解题过程

作者本意是要自己编程算出来,但现如今已经可以直接搜出来答案了,结果为5736396

黑客游戏 | 记录梦之光芒小游戏的解题过程

9

输入拼接文件5736396.php跳转来到第9关。

这关也是分析图片的,可以把图片下载下来,也可以直接发包看。

黑客游戏 | 记录梦之光芒小游戏的解题过程

通过文本形式打开图片,在最下面找到第十关的密码:MonyerLikeYou_the10level

黑客游戏 | 记录梦之光芒小游戏的解题过程

10

输入“MonyerLikeYou_the10level”或者拼接MonyerLikeYou_the10level.php都可以跳转来到第10关。

打开页面,发现提示内容为当前用户身份为simpleuser 不是admin,无法显示下一关密码。

黑客游戏 | 记录梦之光芒小游戏的解题过程

抓包看一下,把请求头的Cookie字段中username内容simpeuser改为admin即可,得到下一关密码为:doyouknow

黑客游戏 | 记录梦之光芒小游戏的解题过程

11

输入“doyouknow”或者拼接doyouknow.php都可以跳转来到第11关。

打开页面,发现提示内容为你的session不是passer,不能查看下一关密码。

黑客游戏 | 记录梦之光芒小游戏的解题过程

方法一:

抓包分析,发现该页面会发两个数据包,第二个包传了action参数,需要把show_login_false改成show_login_true,绕过后台逻辑。

黑客游戏 | 记录梦之光芒小游戏的解题过程
黑客游戏 | 记录梦之光芒小游戏的解题过程

再次获取返回包,即可看到下一关密码。(注:通过修改action的方式,可以记录到服务器端,关底的时候就不用再次伪造了。

黑客游戏 | 记录梦之光芒小游戏的解题过程

方法二:

尝试修改PHPSESSIDpasser,也是可行的,可获取下一关密码:smartboy

黑客游戏 | 记录梦之光芒小游戏的解题过程

注:会影响最后关底页面的显示,访问关底的时候需要再次伪造成passer。

12

输入“smartboy”或者拼接文件都可以跳转来到第12关。

查看页面内容,发现是一段编码后的字符串。

黑客游戏 | 记录梦之光芒小游戏的解题过程

尝试解码,初步判断为base64编码

JTRBJTU0JTYzJTdBJTRBJTU0JTVBJTQ3JTRBJTU0JTU5JTc5JTRBJTU0JTU5JTMxJTRBJTU0JTU5JTc4JTRBJTU0JTYzJTMxJTRBJTU0JTYzJTMwJTRBJTU0JTU5JTM1JTRBJTU0JTU5JTMyJTRBJTU0JTYzJTMxJTRBJTU0JTVBJTQ0JTRBJTU0JTRBJTQ2JTRBJTU0JTYzJTc3JTRBJTU0JTU5JTM0JTRBJTU0JTYzJTc3

发现可以解码成功,结果为

%4A%54%63%7A%4A%54%5A%47%4A%54%59%79%4A%54%59%31%4A%54%59%78%4A%54%63%31%4A%54%63%30%4A%54%59%35%4A%54%59%32%4A%54%63%31%4A%54%5A%44%4A%54%4A%46%4A%54%63%77%4A%54%59%34%4A%54%63%77

黑客游戏 | 记录梦之光芒小游戏的解题过程

看起来是url编码,继续解码可以解码成功,但是又回到base64编码。

黑客游戏 | 记录梦之光芒小游戏的解题过程

经过测试发现是进行了base64+URL编码两次,用这个组合在解码一遍,得到第十三关的页面sobeautiful.php

黑客游戏 | 记录梦之光芒小游戏的解题过程

13

拼接文件sobeautiful.php跳转来到第13关。

访问页面显示禁止盗链,说明该页面是需要判断请求来源的。

黑客游戏 | 记录梦之光芒小游戏的解题过程

在请求头中添加Referer插入上一关的链接,才显示正常的第13关,发现是一段数据库连接代码,看情况是考察SQL注入的。

黑客游戏 | 记录梦之光芒小游戏的解题过程

把关键代码提出来分析发现注入的payload不唯一。

sqlstr="select password,pwd from [user] where pwd='"&request("pwd")&"'"

有多种payload可以注入成功,就不一一列举了。

  • sqlstr="select password,pwd from [user] where pwd='"&'or'=&"'"

  • sqlstr="select password,pwd from [user] where pwd='"&'or 1=1&"'"

  • sqlstr="select password,pwd from [user] where pwd='"&1='or'&"'"

获得下一关密码:whatyouneverknow

黑客游戏 | 记录梦之光芒小游戏的解题过程

14

输入“whatyouneverknow”或者拼接whatyouneverknow.php都可以跳转来到第14关。

查看页面这关是破解一个程序。

黑客游戏 | 记录梦之光芒小游戏的解题过程

程序下载运行,发现需要破解的注册码。查看PE信息存在UPX压缩。

黑客游戏 | 记录梦之光芒小游戏的解题过程

UPX是最简单的壳,网上有很多UPX解压工具,随便找了一个解压之后,进行逆向分析。

智能搜索字符串的时候,发现两个可疑的值:

9eeee9eb50eff979疑似是注册码

ipasscrackme.asp疑似是跳转的链接

黑客游戏 | 记录梦之光芒小游戏的解题过程

9eeee9eb50eff979输入程序之后,弹出注册成功!,并显示下一关的密码。

黑客游戏 | 记录梦之光芒小游戏的解题过程

15

直接拼接文件ipasscrackme.asp访问时显示404 Not Found,考虑网站是PHP的,改成ipasscrackme.php可跳转来到第15关。

如果你第11关是修改action的方式绕过的,这里访问页面看到提示为你最终没能把cookies设为admin,修改cookie后,就可以弹出关底页面了。

黑客游戏 | 记录梦之光芒小游戏的解题过程

黑客游戏 | 记录梦之光芒小游戏的解题过程

如果修改cookie后,弹出下一个提示你最终没能把session设为admin。继续设置PHPSESSIDadmin,没有效果。

黑客游戏 | 记录梦之光芒小游戏的解题过程

这里我自己做的时候一直显示不出来关底页面,研究了半天,在查阅前辈资料后,我发现所有人第11关都是用修改action的方式绕过服务器的,我意识到出现这个问题是因为session的判断是和第11关有关联,而我当时是修改了PHPSESSID就返回答案了,这种伪造方式,服务器端是不认的。

那么问题就在于沿用第11关的session匹配的是passer,而这里提示的是你最终没能把session设为admin,这是一个误导,主要是防止有人直接看攻略跳到最后一关,实际的session值再次设置为passer就可以解决了。

黑客游戏 | 记录梦之光芒小游戏的解题过程

这时候再刷新ipasscrackme.php就能出关底页面了。

黑客游戏 | 记录梦之光芒小游戏的解题过程

通关啦!

黑客游戏 | 记录梦之光芒小游戏的解题过程

黑客游戏 | 记录梦之光芒小游戏的解题过程
黑客游戏 | 记录梦之光芒小游戏的解题过程

如果您觉得内容还不错的话,请关注我吧!

建议把公众号“篝火信安”设为星标,否则可能就看不到啦!因为公众号现在只对常读和星标的公众号才能展示大图推送。

操作方法:点击公众号页面右上角的【...】,然后点击【设为星标】即可。

原文始发于微信公众号(篝火信安):黑客游戏 | 记录梦之光芒小游戏的解题过程

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年4月29日00:14:45
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   黑客游戏 | 记录梦之光芒小游戏的解题过程https://cn-sec.com/archives/4009563.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息