こんとろーるしーこんとろーるぶいこんとろーるしーこんとろーるぶい読者になるこんとろーるしーこんとろーるぶい週末にカチャカチャッターン!したことを貼り付けていくブログこの広告は、90日以上更新していないブログに表示しています。StreamingCTF問題文streaming_fa5287b1a4f1a48025b4ade8aaa044866aa09d99.zipの添付ファイルのみ。writeup添付ファイルを展開すると、encrypt.pyとenctyptedの2ファイル。フラグ文字列をencrypted.pyで暗号化したファイルがencryptedのようだ。'wb').write(encrypted)encrypt.pyを読み解くと、フラグ文字列を2バイトずつ取得して暗号化処理をかけている。初回2バイトの暗号化処理は、乱数から生成したシードとのXORを実施しており、2回目以降は前回のXOR処理で使用したシードを元に、次のシードを再計算している。乱数が何を使われたかはわからないが、初回のシードはos.urandom(8)から取得した乱数の34607の剰余を使っているため、復号のスクリプトを書いてフラグ文字列らしきものが復号できるまで1~34607までブルートフォースすればよさそうだ。以下、復号のスクリプト。_?:WI?Y??@?J1?&>Q??RVC=32495flag=ctf4b{lcg-is-easily-predictable}フラグゲット。けいさんのプロのために作りました。(1)はてなブログをはじめよう!graneedさんは、はてなブログを使っています。ブログを報告する引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。