hgame-week1

MISC

欢迎欢迎!热烈欢迎!

关注公众号嘛,不说了

这个压缩包有点麻烦

image-20220123143918588

这里通过所给的已知字典对加密压缩包进行爆破

接着是通过readme.txt进行明文攻击,

image-20220123144350846

题目提示了store,意思是只要对文件进行存储

爆破的时间真漫长(好像等了一个小时了已经

image-20220123144556387

强行停止明文攻击以后得到了这个

image-20220123144025505

打开发现,最后套了一个伪加密,就可以打开flag图片

image-20220122211618603

好康的流量

追踪eq0,会发现

image-20220122225409756

image-20220122225349839

然后地下可以以找到一个被base64编码过的图片

image-20220122224605256

把这段base64导出,即可得到

image-20220122224639607

image-20220123002435790

即可获得前半段flag,后半段通过zsteg -a中即可找到

img

拼起来就行

群青(其实是幽灵东京)

音频里的文件尾给了个提示

image-20220122215230580

然后密码在频谱图里

image-20220122215328474

然后就可以通过silenteye解出

image-20220122215444142

拿到sstv的音频以后打开mmsstv然后播放这个音频,就可以收到图片了(qsstv会报错)

image-20220122204007265

然后扫二维码就完事

WEB

Tetris plus

我真的去玩游戏了,这次玩到了也没有flag(挥手再见)

img

image-20220122163939512

哦,他也没说到了要给。。。。。。。。。。。

找了一下image-20220122164039619

jsfuck

image-20220122165930964

蛛蛛…嘿嘿♥我的蛛蛛

首先先来爬个虫,先爬到这里(前面有一百关,手点也行hhh)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import requests
from bs4 import BeautifulSoup

url = 'https://hgame-spider.vidar.club/f4ee32de67'
url1 = url
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:94.0) Gecko/20100101 Firefox/94.0",
"Referer": "https://www.baidu.com/link?url=QYRVzL5QxV-0lK-TfbuxEdReomBhhc7V_6X6HXQDsxw7HNoY1llduhCS8RMH9Hqu&wd=&eqid=c150c66a001035990000000661bff5f2"
}
session = requests.session()#建立会话
flag = 1
while flag == 1:
r = session.get(url=url1, headers=headers)
if "flag{" in r.text:
print(r.text)
flag = 0
else:
output = BeautifulSoup(r.text,"html.parser")
a_group = output.findAll("a")
for a in a_group:
if a['href'] != "":
url1 = url + a['href']
print(url1)

然后找到消息头就行

image-20220123142833042

Fujiwara Tofu Shop

image-20220123151822241

挂一个referer【HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器该网页是从哪个页面链接过来的,服务器因此可以获得一些信息用于处理。】

image-20220123152326154

好,再挂一个用户代理

image-20220123152606455

树莓派吗?(手动滑稽

等等曲奇是cookie。。。。。。。绝了,放一块曲奇那就是set-cookie

image-20220123155722480

image-20220123155743013

好家伙,加汽油还行,找一找汽油

image-20220123160234937

响应头里有,那在请求头中添加汽油到100

image-20220123160315840

image-20220123160421262

image-20220123160456051

好像不太对

image-20220123160705885

这里的x-forwarded-for的格式是clientip,proxy1,proxy2,网站识别的时候是识别的是clintip即客户端ip

easy_auth

jst介绍

Json web token (JWT),是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519)。该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该token也可直接被用于认证,也可被加密。
链接:https://blog.csdn.net/qq_45521281/article/details/106073624

解题

这里需要通过伪造jwt来登录admin

先随便注册一个账号登录,拿到token,并在jwt.io中进行修改伪造

image-20220125192013417

伪造出admin的jwt,在已登录的界面抓一个包,把token换成伪造的,即可访问成功拿到flag,如下图所示。

image-20220125191846330

CRYPTO

Matryoshka

拿到了个感觉是盲文的文件,是的那个文件名叫俄罗斯套娃

image-20220122191830752

稍微替换一下,转摩斯电码

image-20220122192328322

只想问一句这是啥,大佬点拨了一下要逆序

image-20220122192122475

image-20220122205258906

大概流程如上图然后

image-20220122205355409

最后再凯撒

image-20220122205452720

Dancing Line

image-20220211224718832

题目长这样,一个有色格子对应一个像素格,向右为0,向下为1,然后起点和终点不算,二进制转文本就行,附上脚本:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
from PIL import Image
import numpy as np

L_path='Dancing Line.bmp'
L_image=Image.open(L_path)
out = L_image.convert("RGB")
img = np.array(out)
list = '0'

#print(out.size)
#print(img.shape)#高 宽 三原色分为三个二维矩阵
#print(img[0][0])
k=0
for i in range(162):
for j in range(136):
if all(img[i][j]==[0,0,0]):
k=k+1
if all(img[i][j]!= [255,255,255]):
list = list+'0'
list = list[:-1]
list = list + '1'
print(k)
print(list)
filename = open('1.txt','w')
filename.write(list)

一开始写的时候是把所有都写进去了导致无法转出可读文字,个数刚好多了两个,影响转换

image-20220211225416740

IOT

饭卡的uno

安装工具过程见参考链接,这题主要就是将十六进制转为二进制,即可找到flag

image-20220124161131839

参考链接:https://www.anquanke.com/post/id/202256

https://www.jianshu.com/p/0fa1c7060e96

REVERSE

Flag Checker

首先工具用对,然后就可以看到

image-20220125201546280

解出来就好了

image-20220125201441916