未検証のリダイレクトと転送

インターネット上のほとんどのWebアプリケーションは、ユーザーを他のページまたは他の外部Webサイトにリダイレクトおよび転送することがよくあります。ただし、これらのページの信頼性を検証せずに、ハッカーは被害者をフィッシングサイトやマルウェアサイトにリダイレクトしたり、転送を使用して不正なページにアクセスしたりする可能性があります。

簡単な図を使用して、この欠陥の脅威エージェント、攻撃ベクトル、セキュリティの弱点、技術的影響、およびビジネスへの影響を理解しましょう。

未検証のリダイレクトと転送のいくつかの典型的な例は次のとおりです-

  • アプリケーションにページがあります-redirect.jsp、これはパラメータredirectrulを取ります。ハッカーは、フィッシングを実行したりマルウェアをインストールしたりするユーザーをリダイレクトする悪意のあるURLを追加します。

http://www.mywebapp.com/redirect.jsp?redirectrul=hacker.com
  • ユーザーをサイトのさまざまな部分に転送するために使用されるすべてのWebアプリケーション。同じことを実現するために、一部のページでは、操作が成功した場合にユーザーをリダイレクトする場所を示すパラメーターを使用しています。攻撃者は、アプリケーションのアクセス制御チェックに合格するURLを作成し、攻撃者がアクセス権を取得していない管理機能に攻撃者を転送します。

http://www.mywebapp.com/checkstatus.jsp?fwd=appadmin.jsp

予防メカニズム

  • リダイレクトと転送の使用は避けることをお勧めします。

  • やむを得ない場合は、宛先のリダイレクトにユーザーパラメータを使用せずに実行する必要があります。