#ksnctf 9 Digest is secure!
- 問題
- Digest認証
- HTTP認証の一つで、ユーザ名とパスワードをMD5でハッシュ化して送る
- pcap
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)
* 認証成功しフラグゲット
- 参考リンク
- https://qiita.com/STomohiko/items/85fc2264c54832c11cbc
- https://ja.wikipedia.org/wiki/Digest%E8%AA%8D%E8%A8%BC
- http://x68000.q-e-d.net/~68user/net/http-auth-2.html
- https://szarny.hatenablog.com/entry/2017/08/26/123910
- http://hashtoolkit.com/generate-hash/
- https://troushoo.blog.fc2.com/blog-entry-93.html
- https://qiita.com/taketakekaho/items/397bc6e9afa32329edd0