やられアプリ BadTodo - 5 オープンリダイレクト

前回:やられアプリ BadTodo - 4.8 XSS URL属性値に対して - demandosigno

今回はOWASP ZAPで検出されている他の脆弱性を見ていきます。

意図しないリダイレクト(Open redirect)

「ウェブ健康診断」p.15
クエリストリング等に URL を保持している場合に、URL を別ドメインのもの(http://www.example.jp/)に変更して HTTP リクエストを送信する。 指定した別ドメインの URL に遷移させられる。 Location ヘッダ、META タグの Refresh、JavaScript コード(location.href, location.assign, location.replace)によるリダイレクト部分に検査文字列が出力される場合にリダイレクト可能と判定します。ログイン機能以外でも脆弱性として判定します。
https://www.ipa.go.jp/security/vuln/websecurity/ug65p900000196e2-att/000017319.pdf

ZAPを確認すると、ログイン時のパラメータにurlがありこれを書き換えることで任意のURLにリダイレクトされるとのこと。

やってみます。BurpSuiteでInterceptをON。

パラメータurlhttps://www.example.com/に書き換え送信します。

レスポンスのLocationヘッダに指定のURLが出力されておりリダイレクトされてしまいました。

検査ではリクエスト途中でパラメータを書き換えましたが、偽リンクなどからパラメータを指定済みのログイン画面へ誘導した後にログインさせるなどの方法が取られます。
https://todo.example.jp/login.php?url=http://www.example.com/

このようにオープンリダイレクトの脆弱性があるとフィッシングサイトなどへ誘導される可能性があります。

徳丸さんが、さらに偽サイトを用意するところまで含めて解説してくれています。
youtu.be

次回:やられアプリ BadTodo - 6 ディレクトリトラバーサル - demandosigno

/* -----codeの行番号----- */