Shikata Ga Nai

Private? There is no such things.

Three Cases, Three Open Redirect Bypassesを訳してみた

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, (^^ゞ