美文网首页
CTF-Crypto

CTF-Crypto

作者: Watanuki | 来源:发表于2017-09-03 09:20 被阅读0次
  • A Simple Cipher——来自[Tokyo Westerns CTF 3rd 2017]
    总结:这道题卡了很久,一开始粗暴的想爆破,发现13位的key可能会跑死机,于是仔细看代码发现固定位可以利用。但还是又卡住了,因为忘记了从21开始才是第22位ORZ(以后写代码记得检查一下数字……)
    Q:简单来说就是给了python的加密源代码和输出结果,要你把输入变量跑出来。

看了下源代码发现几个点:message有个固定位已知,key长度13,message[i]+enc[i]+key[i%13] % 128 = enc[i+1]


注意message构成和加密方式,可以发现后半截只用到key
  • 首先string.decode('hex')得到encrypted='|\x15:GKj-?}?s(p>l-$:\x08>.w<ETwHf|\x15\x113?Ot^',Len(encrypted) =36。则len(message)=35,又由于len(key)=13,则len(flag)=21。
  • 由此,message[21]='|',而encrypted已知,可以一个个根据message[(i % 13)+22] = enc[i+1]-message[i]- enc[i] % 128算出来,从message[21:]用个循环先把key跑出来。再把flag跑出来。


    破解key的代码,其实手动算也挺快的(闭嘴)
    比跑key简单多了

相关文章

网友评论

      本文标题:CTF-Crypto

      本文链接:https://www.haomeiwen.com/subject/qwpdjxtx.html