Misc
游戏来咯
签到,注册游戏账号登录,在侧边栏看到flag1.
坐井观天
1 | from pwn import * |
证书里也有秘密
长亭的漏扫工具xray的证书解析,自己写的话比较麻烦,找到个项目,go build然后解析即可。
垃圾邮件分析
原本是个AI题,但是验证只需要10个数据,那么直接手动交互人工识别更简单。
1 | from pwn import * |
Crypto
ASR
m的加密没有padding,非预期可出:得到s之后,把s当作n用来解密,因为flag<s。
1 | RSA1 = 0x97be543979cb98c109103fa118c1c930ff13a6b2562166417021afd6e46cb0837a5cc5f4094fcea5fcc33efdfa495050e0fb8269922b3ee2d403210ed1ba339af2dc3d4e8952f0c784fcc655436cf255b98cdaf8080df47f6c28bc0bae68c713 |
预期解的话应该要用剪枝算法去分解$R\cdot A \cdot S$
1 | RSA1 = 0x97be543979cb98c109103fa118c1c930ff13a6b2562166417021afd6e46cb0837a5cc5f4094fcea5fcc33efdfa495050e0fb8269922b3ee2d403210ed1ba339af2dc3d4e8952f0c784fcc655436cf255b98cdaf8080df47f6c28bc0bae68c713 |
大杂烩
flag和p q有关,所以我们的最终目的是要分解n。首先e的低位就是a,求b可以把给的点带入椭圆曲线方程计算。求d需要造个维纳格,这里需要做一点变形:$Sd_1=enc_1+k_1N \rightarrow d_1=(enc_1+k_1 N).t$
1 | enc1 = 98662590652068949920571979585725979127266112216583776160769090971169664292493813021843624362593669574513220457664819153878956311077379392531742253343961645534972639309537402874636739745717765969720117162780620981639015788423324884640935466801234207019510919768602974162878323777374364290185048275714332671356 |
求出d以后就可以用已知e d n的方法来分解n,最后做一个移位转字符即可。
1 | from Crypto.Util.number import * |
payorder
哈希长度拓展攻击,最基本的构造,没有魔改。直接扔个官方wp
1 | from pwn import * |