Hello there, ('ω')ノ
3 つのケース、3 つのオープン リダイレクト バイパスを。
脆弱性:
オープンリダイレクト
記事:
https://medium.com/@malcolmx0x/three-cases-three-open-redirect-bypasses-887bda60b38c
今回は、すべてリダイレクトを回避できた 3 つのケースについて。
バイパスリダイレクトの概要:
すべてのリダイレクトの場合、さまざまな領域を調べて。
1.http プロトコルの前、attacker.com/http://mytarget.comを使用できて。
2.www 領域とリダイレクト ドメインの前
3..com の後にあるため、@ を使用できて。
4.ポートの後 (例: www.target.com:attacker.com)
この 3 つの領域では、リダイレクトをバイパスでき。
すべてではありませんが。
#ケース 1:
この場合、 ?redirect= http://www.mytarget.com にredirectという
リダイレクト パラメータがあり。
www でのみ再生できることがわかり。
そこで、 www.evil.com.mytarget.com を試してみましたが、うまくいかず。
そこで、 mytarget と evil.com の間を区切るのに使用できる文字を調べて。
ここではバックスラッシュが許可されていることがわかったので、次のようにして。
http://www.evil.com\\mytarget.com も機能せず。
Forbidden 応答が返され。
しばらくして、.mytarget を置く必要があることに気づき。
最終的な URL は http://www.evil.com\\.mytarget.com で、
evil.com ドメインにリダイレクトされて。
#ケース 2:
この場合、ユーザをメイン ドメインにリダイレクトする
?ref= というパラメータがあり。
www でプレイできることがわかり。
つまり、ケース 1 と同じように見えますが、方法が異なって。
パラメータは、ケース 1 のようにブレークに使用できる文字を受け入れず。
しばらくして、ターゲットを欺くことができるというアイデアを思いつき、
http://attacker.com@mytarget.com を入力すると、それは @ で。
com は、ケース 1 http://attacker.com\\@mytarget.comと同様にそれを受け入れ。
最終的な宛先で @mytarget.com にリダイレクトされることを忘れていて。
ここで何ができるか。
@attacker.com\\@mytarget.com はどうかというとうまくいって。
最終的な URL は https://@attacker.com\\@mytargt.com で、
https://attacker.com//mytarget.com にリダイレクトされて。
#ケース 3:
この場合、下記を使用して。
https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/Open%20Redirect
リダイレクトエンドポイントは
?redirect=https://mytarget.com でしたが、ケース 1 または 2 のようなものを
使用できず、前のケースで使用したものはすべてここでは受け入れられないので、
上記のリンクを調べた後、ブラックリストに載っているキャラクタ「.」を
バイパスするには「%E3%80%82」のみを使用でき。
%E3%80%82 は、改行/スペースになり。
最終的な URL は https://attacker.com%E3%80%82.mytarget.com で。
https://attacker.com mytarget.com にリダイレクトされて。
Best regards, (^^ゞ