Shikata Ga Nai

Private? There is no such things.

オープンリダイレクトの診断ポイントについてかいてみた

Hello there, ('ω')ノ

 

オープンリダイレクトといえば、簡単そうですが。

中には、PortSwiggerの下記のような高度なものもあって。

 SSRF with filter bypass via open redirection vulnerability

 

基本的な診断方法としては。

 リダイレクトおよび遷移するボタンやリンク、機能についての処理を確認したり。

  (JavaScript内の処理も含む)

 パラメータでurl、pathを指定している箇所を確認したり。

 ソースコード内でredirect、locationの文字を検索したり。

 リダイレクトできないときはエンコードして試してみたりと。

 

リダイレクトに使われるパラメータは、下記のパターンが多かったり。

/{payload}
/cgi-bin/redirect.cgi?{payload}
/login?to=///{payload}
/login?to=//{payload}
/login?to=/{payload}
/login?to=/\{payload}
/login?to={payload}
/out/{payload}
/out?///{payload}
/out?//{payload}
/out?/{payload}
/out?/\{payload}
/out?{payload}
/redirect/{payload}
?checkout_url={payload}
?continue={payload}
?dest={payload}
?destination={payload}
?go={payload}
?image_url={payload}
?next=$2f%2f{payload}
?next=//{payload}
?next={payload}
?next=http://{payload}
?next=https://{payload}
?payload={payload}
?redir={payload}
?redirect_url={payload}
?redirect={payload}
?return_path={payload}
?return_to={payload}
?return={payload}
?returnTo={payload}
?rurl={payload}
?url=$2f%2f{payload}
?url=//{payload}
?url={payload}
?url=http://{payload}
?url=https://{payload}
?view=///{payload}
?view=//{payload}
?view=/{payload}
?view=/\{payload}
?view={payload}

 

Best regards, (^^ゞ