2021牛年红包题

admin 2022年1月5日22:48:48CTF专场评论13 views2957字阅读9分51秒阅读模式

>

>

2021牛年红包题

hdxw

非官方wp

红包1

010Editor打开,zip压缩包的数据实际只在“record”里,复制每个record到单独的新文件中,
frFlags改1,winrar修复(1时可以修复,9时修的没有dirEntry),改为9(record和dirEntry都要改),爆破4位数字密码,解压

2021	01
2077	02
1001	03
1024	04
2048	05
0000	06
0110	07
5555	08
6666	09
1234	10
5678	11
9999	12
1949	13
4396	14
7777	15
2020	16
7758	17
0312	18
0601	19
1001	20
8192	21
4096	22
8888	23
9876	24
7913	25

flag{ZhuNiNiuNianDaNiuZi}

红包2

无解

红包3

八卦图转brainfuck,然后在线解码得到flag

from PIL import Image

img = Image.open("flag.png")
width, height = img.size
# print(width, height)
w = width//64
h = height//64

# 乾一☰
# 兑二☱
# 离三☲
# 震四☳
# 巽五☴
# 坎六☵
# 艮七☶
# 坤八☷
# +++++ +++++ [->++ +++++ +++<] >++++ .---. +++++ ++..+ ++.++ +++++ +.-------- .+++. ----- -.--- ----- .<
dddiiicccttt = {"000":">","100":"<","010":"+","110":"-","001":".","101":5,"011":"[","111":"]"}

res = ""
for hhh in range(h):
    for www in range(w):
        r1, g1, b1 = img.getpixel((www * 64 + 32, hhh * 64 + 13))
        r2, g2, b2 = img.getpixel((www * 64 + 32, hhh * 64 + 32))
        r3, g3, b3 = img.getpixel((www * 64 + 32, hhh * 64 + 54))
        key = ""
        if r1 < 10:
            key += "0"
        else:
            key += "1"
        if r2 < 10:
            key += "0"
        else:
            key += "1"
        if r3 < 10:
            key += "0"
        else:
            key += "1"
        res += dddiiicccttt.get(key)
print(res)

爆破福利图宽度

f = open("helloworld.png","rb")
f1 = f.read(16)
f.read(4)
f2 = f.read()
for i in range(10,300):
	fff = open("%s.png"%i,"wb")
	fff.write(f1)
	fff.write(bytes.fromhex(hex(i)[2:].zfill(8)))
	fff.write(f2)
	fff.close()
# 325x217和 217x325

红包4

替换成01,编辑器缩小,调整宽度得到二维码,扫之得到链接

https://wwe.lanzous.com/id5ZBldachi

下载得到题目附件

有很多'%\xc6'格式的,把后面的一位提出来,得到“6c17b4893f93fef4ffec9fd933f254f1c3ff752d”,前四个正好与flag的ascii差值相同

+96得到“flagkdhicoiconodoonliomiccobedoalcoogebm”,k和m分别对应{和},ascii差值16

import string

ss = string.ascii_lowercase
for i in "6c17b4893f93fef4ffec9fd933f254f1c3ff752d":
    print(chr(int(i,16)+96+16),end="")
print()
for i in "6c17b4893f93fef4ffec9fd933f254f1c3ff752d":
    print(chr(int(i,16)+96),end="")
print()
for i in "6c17b4893f93fef4ffec9fd933f254f1c3ff752d":
    print(chr(int(i,16)+96-16),end="")
print()

# +0x50+32
print(ord('_'),ord('o'))
print(ord('{'),ord('k'))
# v|qw{txysys~t~|y}yssrutq|swur}
# flagkdhicoiconodoonliomiccobedoalcoogebm
# V\QW[TXYS_YS_^_T__^\Y_]YSS_RUT_Q\S__WUR]

# flag{this_is_not_only_miss_but_also_???}
# flag{this_is_not_only_miss_but_also_ger}
# flag{this_is_not_only_miss_but_also_gur}
# flag{this_is_not_only_miss_but_also_gub}
# flag{this_is_not_only_miss_but_also_geb}
# flag{this_is_not_only_miss_but_also_wer}
# flag{this_is_not_only_miss_but_also_web}
# flag{this_is_not_only_miss_but_also_wur}
# flag{this_is_not_only_miss_but_also_wub}
# flag{this_is_not_only_misc_but_also_web}
# 222211221321322132221322123211322123

反复横跳最后得到“有意义”的flag字符串

红包5

https://github.com/zhanyong-wan/dongbei

出溜的坑
直接pip install dongbei-lang会没有“出溜”,因为最新版本是0.0.6,“出溜”是在这之后添加的,可以看文件修改时间。
直接下载zip包,然后pip install .即可解决

doc下有说明文档

读懂后按以下改运行就直接输出flag

......
整完了。
弗莱格装最高指示的老幺。
弗来装一。
答案都是活雷锋。
答案来了群「16116,14580,14065,23690,1476,3536,19536,
22330,10609,14406,20200,5565,11932,4074,6380,24514,
23180,11655,18745,2660,10080,3655,16146,4845,4609406,
4717430,2999328,7573872,3020928,5895644,3859228,3722425,
3921400,15210473,12000」。
小明在整套路乙磨叽:
    唠唠:整chr(答案的老弗来齐整整地除以小明)。
    弗来走走。
磨叽完了。

红包6

百度一下就有了,关键词Math.max(delay, parseInt(req.query.delay));

红包7

压缩包注释,图片文件头6位大写:FFD8FF
解压文件牛字组成了flag(上传图片失败)


特别标注: 本站(CN-SEC.COM)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年1月5日22:48:48
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                  2021牛年红包题 http://cn-sec.com/archives/719355.html

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: