web-dev-qa-db-ja.com

「X-Original-URL」および「X-Rewrite-URL」に関連する脆弱性

私は Burpsuite Academy Access Controlのトレーニング を行っていますが、まだ完全に理解していないセクションに遭遇しました。彼らの読書では、彼らは説明します:

一部のアプリケーションフレームワークは、X-Original-URLX-Rewrite-URLなど、元のリクエストのURLを上書きするために使用できるさまざまな非標準のHTTPヘッダーをサポートしています。 Webサイトが厳格なフロントエンドコントロールを使用してURLに基​​づいてアクセスを制限しているが、アプリケーションがリクエストヘッダーを介してURLをオーバーライドできる場合、次のようなリクエストを使用してアクセスコントロールをバイパスできる可能性があります。

POST / HTTP/1.1 X-Original-URL: /admin/deleteUser

次のラボでは、ヘッダーを変更してGETリクエストを「/」に設定し、X-Original-URL: /adminを新しい行として追加することで、制限された/ adminページにアクセスできるようにHTTPリクエストを変更できます。

これらの2つのヘッダーのいずれについてもドキュメントが見つかりません。彼らは何をしますか?そしてなぜこの脆弱性は機能するのですか?これはニッチなエクスプロイトですか、それとも多くのサーバーに存在する可能性があるものですか?

1
Tobin Shields

コメントで述べたように、これらは一部のPHPフレームワークのカスタムヘッダーです。

Symfony 2.7.0から2.7.48、2.8.0から2.8.43、3.3.0から3.3.17、3.4.0から3.4.13、4.0.0から4.0.13、4.1.0などの多くのWebフレームワーク4.1.2、最大1.8.4までのzend-diactoros、最大2.8.1までのzend-http、最大2.10.3までのzend-feedは、このセキュリティ問題の影響を受けます。

面白い事実:これはアルビノワックスによって報告されました https://symfony.com/blog/cve-2018-14773-remove-support-for-legacy-and-risky-http-headers

https://www.acunetix.com/vulnerabilities/web/url-rewrite-vulnerability/

0
bxblin