0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ksnctf 9 Digest is secure!

Posted at

#ksnctf 9 Digest is secure!

  • 問題
  • Digest認証
    • HTTP認証の一つで、ユーザ名とパスワードをMD5でハッシュ化して送る
  • pcap
    • Wiresharkを使ってみる
    • HTTPでソートし、順に見ていく
      image.png
    • No. 7
      • 通信要求
    • No. 9
      • 401 Authorization Required
      • サーバがクライアントに、認証が必要なことを教えている
      • 認証領域(realm)やランダムな文字列(nonce)を返す
        image.png
    • No. 14
      • クライアントは認証のための情報を送る

      • realm、nonceはサーバから来た文字列をそのまま返す

      • responceはパスワードを含む文字列をMD5ハッシュ化したもの

        A1 = ユーザ名 ":" realm ":" パスワード

A2 = HTTPのメソッド ":" コンテンツのURI
response = MD5( MD5(A1) ":" nonce ":" nc ":" cnonce ":" qop ":" MD5(A2) )

         ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/416717/8d470179-8ac7-d20a-ac32-a150eac94467.png)
* No. 16
    * サーバからの認証成功レスポンス
    * /~q9/flag.htmlにアクセスして認証成功するとフラグが見られそう
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/416717/009cb411-3733-08da-e8ae-5c4cc3f46b2a.png)

* いったんMD5でハッシュ化されたresponseを元に戻す
    * 使ったやつ
        * http://hashtoolkit.com/generate-hash/
    * 復号結果
        * MD5(A1): c627e19450db746b739f41b64097d449
        * MD5(A2): 31e101310bcd7fae974b921eb148099c
        ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/416717/af2e3d3f-7aa8-e4bd-86fc-10046798602c.png)
    * MD5(A2)をさらに復号
        * A2をGET:/~q9/flag.htmlにしてハッシュ化してresponseとしてリクエスト送ればよさそう
        * MD5(A1)の復号はできなかった
        ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/416717/3ecdf524-eb7a-a507-a594-c386a29328aa.png)
* リクエストを作成して送信
    * Fiddler
        * httpやhttps経由のパケットを監視、改ざんするツール
            * https://www.telerik.com/download/fiddler
    * MD5(A2)
        * A2はGET:/~q9/flag.html
        * ffffdd8b8029499600f95a69beb239c2
    * response作成
        * [http://ksnctf.sweetduet.info:10080/~q9/flag.html](http://ksnctf.sweetduet.info:10080/~q9/flag.html)で「ユーザー名」にq9を入力して「ログイン」を押す
        * そのときのパケットをFiddlerで見る
            * ここでサーバからのレスポンスを使ってリクエストを作成する
        ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/416717/5e4bf4e6-a28c-aaa3-1c99-c7b51f75e9f4.png)

        * responceの作り方
            * nonceはサーバから直前に返ってきたものを使う
            * ncはずっといっしょ
            * cnonceはランダム。直前で使ってたやつと同じでよい
            * 最後は全体をMD5でハッシュ化
        * responceの送信
            * Fiddlerの「Inspectors」の「Raw」の中身をコピー
            * 「Composers」の「Raw」に貼り付けて変更すべきところを変更
            * 最終的に送ったもの
            ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/416717/7d7b003a-ea80-350c-497d-447d571e4ed6.png)
            * 認証成功しフラグゲット
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?