[PlaidCTF 2019] Plaid Party Planning III

Plaid Party Planning III 1 Other teammates solved this one. You can get a flag easily by just jumping into the flag printing routine. Just use GDB to change RIP, or patch the binary to jump into the routine. The flag is PCTF{1 l1v3 1n th3 1nt3rs3ct1on of CSP and s3cur1ty and parti3s!}. Plaid Party Planning III 2 Basically, behaviors of binaries (III 1, III 2) are same. The problem is here:...

2019-04-22 · 9 min · RBTree

[PlaidCTF 2019] Project Eulernt

Guys, guys, don’t fight. I’m sure we’ll be able to come up with something roughly equal. source eulernt.pwni.ng:5555 NOTE: We originally uploaded the wrong version. It is still available here if you really want it: wrong version. How to solve We need to get a divisor of $333!$ that is close to $(333!)^{1/2}$. Just factorize with factorDB. There are some $p^k$s of which $k$ is odd. Let’s define a product of those $p$s as $v := \prod p$....

2019-04-22 · 2 min · RBTree

[PlaidCTF 2019] Horst

They say 3 rounds is provably secure, right? Download How to solve Permutations can be handled as matrices. For given key $k$ and plaintext $(x, y)$, the result of one-round encryption is: $$(x_1, y_1) = (y, xk^{-1}yk)$$ Let’s do this for three rounds! $$(x_2, y_2) = (xk^{-1}yk, yk^{-1}xk^{-1}yk^2)$$ $$(x_3, y_3) = (y_2, xk^{-1}ykk^{-1}y_2k) = (y_2, xk^{-1}yy_2k)$$ If we define $t = yy_2$, we can say that $$(yx_3, y_3) = (t, xk^{-1}tk)$$...

2019-04-22 · 2 min · RBTree

[TokyoWesterns CTF 4th] mixed cipher

I heard bulldozer is on this channel, be careful! nc crypto.chal.ctf.westerns.tokyo 5643 Download the chal: here. How to solve To decrypt the flag, we need two things: the AES key and the IV when the flag is generated. IV IV is generated by random.getrandbits(). Python random uses Mersenne Twister, and it is able to recover the state of the Python random generator with 624 32-bit integers. See this link for detail....

2018-09-03 · 4 min · RBTree

[SCTF 2018 Finals] MQ

Download the problem file from http://research.samsung.com/sctf2018 or https://www.dropbox.com/s/n45bss3bgr4sjcg/MQ.py?dl=0 Define Function M: $M(x_0,\ldots,x_{n-1}) = \sum\limits_{i=0}^{n-1} \sum\limits_{j=i}^{n-1} q_{i, j}x_i x_j + \sum\limits_{i=0}^{n-1} u_ix_i + c $. ($q$ is for quad, $u$ is for uni. Notice that $q_{i,j}=q_{j,i}$) The code gives $M(input)$ and $M(input + flag)$. Let’s think about $F(x, y)=M(x + y) - M(x)$. $$F(x, y)=M(x + y) - M(x) = \sum\limits_{i=0}^{n-1} \sum\limits_{j=i}^{n-1} q_{i, j} (x_i y_j + y_i x_j + y_i y_j) + \sum\limits_{i=0}^{n-1} u_i y_i $$...

2018-09-01 · 3 min · RBTree