Hello there, ('ω')ノ
OWASP TOP10 2021のA2には、暗号化の失敗が挙げられていて。
https://cwe.mitre.org/data/definitions/1346.html
その中には、不十分なエントロピーがあって。
どのようなものかというと。
まずは、すべてのハッカーは、労力をかけずに使用できるツールが好きなので。
Burp Sequencerを使うことに。
これは、データ項目のサンプルのランダム性の品質を分析するためのツールで。
データ項目は次のとおりで。
アプリケーションセッション識別子
CSRFトークン
パスワードトークンをリセットまたは忘れた
アプリケーションによって生成された特定の予測不可能な識別子
Burp Sequencerは、セッションIDのランダム性または分散を。
キャプチャするツールで。
文字レベルの分析またはビットレベルの分析など。
いくつかの異なるシナリオでサンプルをテストして。
Burp Sequencerの動作の詳細については下記を。
https://portswigger.net/burp/documentation/desktop/tools/sequencer/tests
まずは、Burp Suiteは、Intercept is onにしておいてからログインして。
キャプチャされたリクエストを確認すると。
PHPSESSIDがCookieヘッダにあることがわかるので、Send to Sequencerへ。
Sequencerがリクエストを受信するとトークンIDが直接入力されて。
また、別の値を解析したい場合は、Custom locationを選択して。
パラメータ値のみをマーキングして保存すると。
Custom locationに反映されて。
そして、Start live captureをクリックすると分析が始まるので。
今回は、リクエストが10,000を超えたところでResumeして。
Analyze nowをクリックすると。
Ovaerall resultには。
選択したパラメータ値のランダム性の全体的な品質が「excellent」と評価されて。
セッションIDが繰り返されると、ランダム性の品質が「悪い」と見なされたりと。
今回は有効なエントロピーは110bitで。
下記が適切な値で。
最小値:64bit
最適値:128bit
Bit-level analysisでの確認もできて。
Save tokensでトークンの保存も。
Best regards, (^^ゞ