小游戏太好玩辣,网安的知识基本都涉及到了,传送门->Monyer's game,下面是我个人的通关流程,可供参考。虽然但是还是自己过关比较有意思啦,这里的东西应该是卡关时提供帮助的。
第0关
链接在这两个箭头中间哦
第1关
一段验证密码的js,密码是这些个空格
第2关
密码是a的值,因为我懒得算所以直接复制下来丢到console里面了==
第3关
看起来代码隐藏在这一坨charcode里面,丢进console里看看
不难看出,密码是a的值
第4关
可恶,输完密码给我跳回第三关了QAQ
所以对这个第4关的页面进行一个GET,得到源码,分为两段
好丑,直接给他进行一个格式化
发现后面括号里一坨是函数的参数,丢进终端执行一下
结果是3bhe,这里我踩坑了,3bhe怎么密码错误呜呜呜。之后发现body里还有一段script,给他变成人话是这样的
a=a.toUpperCase()+1;
所以最终的结果是"3bhe".toUpperCase()+1="3BHE1"
第5关
藏在页面里啦,怎么找不到,到处找一找...
原来你在Request Headers里面啊
第6关
一个破损不堪(?)的谷歌截图,用谷歌去搜下面的详情,搜到的就是密码啦
第7关
MD5枚举不动,不过现在MD5彩虹表可以破解来着,放在这里当一个思路
发现本关是seventeen7.php,那下一关会不会是eighteen8.php
第8关
开始怀疑自我了,不过想起题目里这句话
不要被你的所见、经验及习惯蒙蔽了你的双眼,看不到的正是你想要的。
展开这句话,被夸上天了哈哈哈哈,浅浅写个质数和吧
from math import sqrt, floor
def isPrime(x):
if x < 2:
return False
for i in range(2, floor(sqrt(x)) + 1):
if x % i == 0:
return False
return True
c = 0
for i in range(10000):
if isPrime(i):
c = c + i
print(c)
第9关
接下来是一个图片贴脸,我盯了好几分钟都没看明白。图片下载下来,文本打开一下,看明白了
第10关
要admin身份才能显示密码,识别用户身份靠的大抵就是token, session, 查询字符串之类的了。于是去找了找cookie,发现把username改成admin就好了
第11关
我的session不是passer...这里我卡关了一会,回到第10关把username改成passer骗出个sessionid,结果发现是把sessionid改成passer就好了==
改好了之后发现还是进不去,发现地址后面跟了个show_login_false,给他改成true就好了。我可真是个smartboy
第12关
发现这个字符串长度是4的倍数,所以base64一下试试
出来了一个很像url的东西,解码之后又是一个base64字符串,再次解码又是个url,解码之后出现明文sobeautiful.php
直接在密码框内写sobeautiful不会跳转,直接访问sobeautiful.php会被禁止盗链。把form的action改成sobeautiful.php就好了
第13关
注释里面是一串连接数据库的vb,仔细看这个sqlstr,可以酱紫注入一波
"... where pwd='"&request("pwd")&"'"
'可以把"&request("pwd")&"替换成我们想要的东西,比如111' or 1=1 or ',语句就变成了这样
"... where pwd='111' or 1=1 or ''"
第14关
是一个crackme,先老规矩查一查壳,是upx。轻轻脱去他的壳~
upx -d crackme.exe
丢进调试器里,随便输一个注册码
发现注册失败,全局搜索这个字符串发现他俩
那应该是靠这个je指令来跳转的,在前面的call打上断点,发现比较了EAX和EDX寄存器,也就是把我们的输入和这一坨比较了
所以9eeee9eb50eff979就是注册码啦
或者我们可以来一个帅气一点的方法
你!不!许!失!败!
之后我们就用114514注册成功喽
出现了下一关ipasscrackme.asp,这个该怎么断句呢,i pass crackme还是ip ass crackme哈哈哈哈哈
发现没有ipasscrackme.asp这个东西,那他就是php啦
第15关(关底)
发现form的提交是post index.php,所以理论上我们可以把大名直接post上去
祝贺你打通了游戏,完结撒花ヾ(≧▽≦*)o
Comments | NOTHING