梦之光芒ctf小游戏闯关过程

梦之光芒ctf游戏闯关

简介:玩这个游戏,您需要有JS,编码解码,XSS,SQL注入,图片隐写,逆向分析等基本常识…

游戏地址http://monyer.com/game/game1

进入第1关:

入口提示:请点击链接进入第1关: 连接在左边→ ←连接在右边。但是看了看并有发现可点击的链接,因此进行常规操作:检查元素(或查看页面源代码),此时“first.php”映入眼帘。

得到第1关入口地址:http://monyer.com/game/game1/first.php

在这里插入图片描述在这里插入图片描述
进入第2关:

题目除了一个文本输入框和提交按钮,没任何提示。因此依然先进行基本操作:检查元素,发现关键词“hello.php”。
答案为:hello
得到第2关入口地址:http://monyer.com/game/game1/hello.php
在这里插入图片描述在这里插入图片描述
进入第3关:

基操:检查元素,对js代码分析可知下一关的跳转地址与a变量有关,需要进行运算,代码给出的运算过程比较繁琐,老实人可以选择手算;给出一个小技巧:在控制台可直接查看变量的值,可知a的值为:424178 (步骤见下图)
答案为:424178
得到第3关入口地址:http://monyer.com/game/game1/424178.php
在这里插入图片描述在这里插入图片描述在这里插入图片描述

进入第4关:

又是前面的套路,首先检查元素,分析代码,发现一句:eval(String.fromCharCode(102,117,110,99,116,105,111,110,32,99,104,101,99,107,40,41,123,13,10,09,118,97,114,32,97,32,61,32,39,100,52,103,39,59,13,10,09,105,102,40,100,111,99,117,109,101,110,116,46,103,101,116,69,108,101,109,101,110,116,66,121,73,100,40,39,116,120,116,39,41,46,118,97,108,117,101,61,61,97,41,123,13,10,09,09,119,105,110,100,111,119,46,108,111,99,97,116,105,111,110,46,104,114,101,102,61,97,43,34,46,112,104,112,34,59,13,10,09,125,101,108,115,101,123,13,10,09,09,97,108,101,114,116,40,34,23494,30721,38169,35823,34,41,59,13,10,09,125,13,10,125)); 其中String.fromCharCode()是指将括号内的数值转化成对应的字符串,eval()的作用是将括号中的内容当做js代码执行,因此解题思路就是需要知道那一大段数字转换成的js代码串是什么,并进行分析得出答案。

在这里插入图片描述查看转换的代码字符串:直接在控制台执行原函数String.fromCharCode(102,117,110,99,116,…); (见下图)
分析可知,下一关链接地址与a变量的值有关,为:d4g
答案为:d4g
得到第4关入口地址:http://monyer.com/game/game1/d4g.php
在这里插入图片描述在这里插入图片描述进入第5关:

这关有点小意思,通过上一关得到的地址来到本关卡后很快又自动跳转回了上一关卡,看来考验手速的时候到了:在跳转之前查看源代码:
在这里插入图片描述
分析源码,再次与eval()函数碰面:
在这里插入图片描述答案为:3BHE1
得到第5关入口地址:http://monyer.com/game/game1/3BHE1.php

在这里插入图片描述进入第6关:

提示说密码藏在页面中了,首先检查元素,满怀期待地找了一圈并没有发现有意义的东西,因此进行下一个常规操作:查看页面请求、响应头,cookies等信息。果不其然,一句:the password for the next level is asdf 映入眼帘(见下图)
提交答案: asdf
得到第6关入口地址:http://monyer.com/game/game1/asdf.php
在这里插入图片描述进入第7关:

题目给出了一张污损的google搜索图片,根据已有信息猜测答案应该是某个杂志网站的名字,且图中透露了该杂志的摘要信息:Get the latest fashion,beauty,dating,and health tips…

因此先直接谷歌走一波:
在这里插入图片描述提交答案:Seventeen,结果404错误,初步判断可能是大小写的原因,改为:seventeen 提交通过。
答案:seventeen
得到第7关入口地址:http://monyer.com/game/game1/seventeen7.php

在这里插入图片描述进入第8关:

本题提示过于明显,MD5?好家伙,直接进入cmd5.com
在这里插入图片描述答案:eighteen8
提交得到第8关入口地址:http://monyer.com/game/game1/seventeen7.php

这里官方又挖了个小坑,提交答案后,页面显示Not Found,让解题人以为答案不对,事实上细心点就会发现这个404与正常的404并不一样。进一步检查元素,还有彩蛋:给出了下一关的入口地址:10000以内的质数和.php
在这里插入图片描述进入第9关:

根据上一关的彩蛋,得知解出本题需要求出10000以内的质数之和,大一难度的编程题,小手一抖,代码我有(Python):

def zhishu(num=None):
    if num is None or num == 1 or num < 0:
        return 0
    i = 2
    while True:
        if i == num:
            return num
        elif num % i != 0:
            i += 1
        elif num % i == 0 and num != i:
            break      
    return 0
 
def sum():
    sum = 0
    for i in range(10000):
        sum += zhishu(i)
    return sum
 
print(sum())

运行结果:5736396(见下图)
在这里插入图片描述得到第9关入口地址:http://monyer.com/game/game1/5736396.php

进入第十关:
果然还是程序员比较了解程序猿?不敢截全图,我害怕被封:

在这里插入图片描述根据题目,猜测是图片隐写,因此为了做题,迫不得已把图片保存到电脑,然后选择打开方式为:notepad++(可选择工具很多,winhex等都行)
在这里插入图片描述打开后,查看内容,密码果然藏在美女肉里面:
在这里插入图片描述答案为:MonyerLikeYou_the10level

得到第10关的入口地址:http://monyer.com/game/game1/MonyerLikeYou_the10level.php

进入第11关:
根据提示,可以肯定需要修改cookie内容,终于可以祭出我的HackBar了,直接检查元素,选择HackBar,然后点击"Load URL",接着将cookie中username的值由"simpleuser"改成"admin",最后执行Execute:
在这里插入图片描述执行后,页面直接给出答案:doyouknow,提交答案后,进入第11关。
在这里插入图片描述进入第12关:

在这里插入图片描述因为session是服务端根据客户端的不同请求而设置的,所以我们并不能直接修改session,但我们可以通过修改请求让服务端设置不同的session,
根据提示,分析URL中参数action的值“show_login_false”,可以猜测应该存在另一个值为“show_login_true”,因此修改url并提交,结果如下:
在这里插入图片描述提交答案:smartboy ,通过。

进入第13关:
在这里插入图片描述题目给出了一长串大小写字母和数字组成的字符串,根据经验,首先Base64解码:
在这里插入图片描述对得到的结果果断进行URL解码:
在这里插入图片描述套娃开始了,对结果再次Base64解码:
在这里插入图片描述
嗯,,,,对于这个结果,URL解码:
在这里插入图片描述so beautiful ~

于是提交答案:sobeautiful.php,发现页面没有跳转,只是将提交的内容打印在了页面上,因此又尝试直接修改url为:monyer.com/game/game1/sobeautiful.php,结果:
在这里插入图片描述提示禁止盗链,看来第13关要从第12关的页面跳转过去才行。(注:防盗链就是检测用户是从哪个页面跳转到当前页面的,如果不是内部页面跳转就拦截。)

既然有文本输入框和提交按钮,可通过XSS构造a标签跳转至目标url:

<a href="sobeautiful.php">sobeautiful.php</a>

在这里插入图片描述在这里插入图片描述
通过:
在这里插入图片描述进入第14关:
首先检查元素:
在这里插入图片描述发现一段sql语句,盲猜sql注入,尝试提交:'or 1=1'

在这里插入图片描述得来全不费功夫:
在这里插入图片描述提交答案:whatyouneverknow
在这里插入图片描述进入第15关:

根据题目,点击超链接下载Crackme程序,然后运行该程序,发现需要注册,随便填一个注册码尝试注册,结果失败:
在这里插入图片描述
于是乎,PEid查壳,kali脱壳,OD逆向一顿操作,发现两串可疑字符串:9eeee9eb50eff979、ipasscrackme.asp,初步猜测第一个是注册码,第二个是答案,尝试注册,成功:

在这里插入图片描述提交答案:ipasscrackme.asp,结果404报错,尝试去掉.asp后缀再次提交,提示:你最终没能把cookies设为admin。
在这里插入图片描述看来答案是"ipasscrackme"没错,但权限不对,因此,使用Hackbar直接修改url和cookie,然后重发:

在这里插入图片描述
过关:

猜你喜欢

转载自blog.csdn.net/qq_41320433/article/details/112292010