强网杯 2020 游记

# Day 0 这个比赛在周中举办就非常不友好,有若干事情要忙,傍晚才能出发。然后因为出发的略晚没赶上火车,在路上改签才赶上(然后这班晚 15 分钟出发的车晚一个小时到)(为啥要改签只晚 15 分钟出发的车呢?因为没有更晚的动车 or 高铁了)。 到酒店后,看了会番,然后睡觉。 # Day 1 早饭还不错。 到了现场,发现这比赛是专门新修了一栋楼。然后酒店到这栋楼的路上,两边全是网络安全宣传周的各种标语。赛场所在的房间也特别酷炫,颇有一种《亲爱的,热爱的》里面的感觉了。 ![](https://cdn.mcfx.work/blog/20201108-qwb/1...

DEFCON CTF 2020 游(线上)记

本次 DEFCON CTF,因为疫情原因,便进入了“SAFE MODE”,也就是线上举办。而为了“照顾”到所有地区的参赛者,他们也没有按照正常的时间来办,而是把整个比赛分为了四个“shift”,每个 shift 长为 8 小时,每两个 shift 之间间隔 9 小时,另外在每个 shift 开始之前,会有 1 小时的准备时间。第一个 shift 从北京时间 8 月 7 日晚 8 点开始。稍有常识的读者都能算出,主办方照顾到了所有人,让大家都有两个 shift 在凌晨。 本文为了方便描述,也使用 shift 1~4(准备时间也算入下一个 shift 中),而非之前一些文章中的 Day...

0CTF/TCTF 2020 Quals Writeup

function resizeIframe(){this.style.height=this.contentWindow.document.documentElement.scrollHeight+'px';setTimeout(resizeIframe.bind(this),30)}

De1CTF 2020 Writeup

# Crypto ## NLFSR 可以发现输出是1时,ao是1的概率有75%。可以枚举前19个ao,解方程得到a的初始值,再枚举c和d的初始值,可以得到b的若干状态,最后解方程得到b,再检验。 ```cpp #include typedef unsigned int uint; typedef long long ll; typedef unsigned long long ull; typedef double lf; typedef long double llf; typedef std::pair pii; #define xx fir...

PlaidCTF 2020 Writeup

# Crypto ## stegasaurus scratch Given a c file, which calls lua, and we need to finish two tasks. In the first one, we need to construct an injective map between 8 distinct numbers from 0 to 39999, and 7 distinct numbers with their permutation. Note that C(40000,8)/C(40000,7) is about 5000, wh...

Midnight Sun CTF 2020 Quals Writeup

# pwn ## admpanel Run `id;cat flag`. ## Pwny racing - pwn1 ret2csu. See https://ctf-wiki.github.io/ctf-wiki/pwn/linux/stackoverflow/medium-rop-zh/ (English: https://ctf-wiki.github.io/ctf-wiki/pwn/linux/stackoverflow/medium-rop/ ) for more information. ```python from pwn import * from ...

Codegate CTF 2020 Preliminary Writeup

# Misc ## Verifier 一个用 ply.yacc 实现的语法分析器,要写一段代码 print 一个小于 0 的数。但是他会先进行预处理,并求出每个变量可能的最小值和最大值,当 print 的输入的最小可能值小于 0 时会退出。 在预处理 while 时,他只会尝试运行 3 次,那么一个在第 4 次或之后才被修改的值就不会被预处理考虑到。 ``` T=10;A=1;B=1;[T>1{T=T+-1;A==5?{B=-1}:{A=A};A==-1?{A=5}:{A=A};A==0?{A=-1}:{A=A};A==4?{A=0}:{A=A};A==3?{A=4}:{A=A...

HackTM CTF Quals 2020 Writeup

由于寒假比较闲,所以找点比赛打。由于需要上交 wp,所以是英文的。 # Crypto ## RSA is easy #1 Since $$N$$ is known, we can compute the encrypted value of each printable character. Then match them with the given encrypted flag, we can decrypt it. ```python e=65537 n=... s=[...(encrypted flag)] from gmpy2 impor...

让 frp 走代理的方法

在 linux 下,让程序走代理有一个简单的方法,即 proxychains。但是他是 hack libc 实现的,于是对于 frp 这种 go 程序无效。 一个简单的方法是,用一个使用 libc 的能端口转发的程序中转一下,比如: ```bash proxychains4 socat TCP4-LISTEN:1234,reuseaddr,fork TCP4:xx.xx.xx.xx:1234 ``` 然后再让 frp 连本地端口就好了。