ログイン
編集不可のページディスカッション情報添付ファイル
CTF/Writeup/SECCON 2014 Quals Online Winter/BBQR

MMA

BBQR (QR 400pts)

QRコードだ!バーベキューだ!BBQRだ!

出題から10分程度で解答を提出してIRCにて運営からMMA a.k.a. "QR Ninjas"の異名を貰った。

以前にもあったQRコードが焼け落ちている問題。ただし今回残っているのは左側である。

頑張って読み取る。QR (Easy)に比べてとても読み取りやすかった。

******* ** **  **???????????
*     *  *     * ???????????
* *** *  * ** ** ???????????
* *** * * ***   *???????????
* *** *    *** *????????????
*     *  ** * * ????????????
******* * * * * *???????????
         * * * *????????????
  * *** *  ** ***???????????
  *    * ****** **??????????
* *  ****  **** * ??????????
 *** *  ** * ** * *?????????
 * **** *** *  * **?????????
* *  *  * *  * **  ?????????
 * * **  ** *      ?????????
  ** *   *    *    ?????????
**  * ** **  * *   ?????????
 ** *  ***   *  ** ?????????
*  * ** * * ** *   ?????????
 ****  *    **    *?????????
* **  * **     * * ?????????
        * ***   * *?????????
*******  **** ***  ?????????
*     * * *  *     ?????????
* *** * *  *  **  *?????????
* *** *  *** * ****?????????
* *** * **   **  **?????????
*     *  ****** ***?????????
*******   ***      ?????????

さて,このQRコードは左側が残っているため,Reed-Solomonによるエラー訂正符号のみが含まれている。

さてこのQRコードはVersion 3-Hなので,グループが2つあってストライプされており, グループあたりのあたりの符号語数35のうちエラー訂正符号語数は22,許容される誤り訂正数は11となっている。 一方読み取れている符号語数は,20と22であり,必要な符号語数24に届いていない。

ところが,実はReed-Solomonの消失許容数は付加された訂正符号語数であり,消失訂正であれば復元が可能である。もっと消してもいいのよ?

そういうわけで,すでに作ってあった開発中のツールにそのまま投入する。"?"の部分は消失しているものとして扱われる。

% python qr.py
...
SECCON{iReNun8rpEMPiKoT}

このツール,QR code inspector libraryはリファクタリングしたら公開しようと思っていたのだが, 作業が滞ったまま数カ月が経過し,ついに先を越されてしまったようだ。

CTF/Writeup/SECCON 2014 Quals Online Winter/BBQR (最終更新日時 2014-12-07 21:46:15 更新者 ytoku)