web-dev-qa-db-ja.com

悪意のある使用のためにユーザーエージェントのhttpヘッダーを変更することは可能ですか?

Googleクロールボットはユーザーエージェント「Googlebot」を使用しており、この知識が悪用される可能性があるのではないかと思います。

ランダムなWebサイトで、Googlebotユーザーエージェントが管理パネルへのアクセスを許可されているとしましょう。これは脆弱性と見なされる可能性がありますか、それとも単に不可能ですか?

25
Xavier

はい。 HTTPリクエストで正確に何が行われるかを調査する必要があります。

ユーザーエージェントは、クライアントによって設定されるため、簡単に変更できます。ブラウザのユーザーエージェントを変更できるツールはたくさんあります。 curlを使用している場合は、独自のHTTPリクエストを作成して、ユーザーエージェントを好きなように設定することもできます。

Webアプリケーションがセキュリティ上の目的でユーザーエージェントに依存している場合、これは100%脆弱です。

34
d1str0

はい、変更されたユーザーエージェントが悪意のある目的に使用される可能性があります。ただし、特権アクセスにgooglebot UAが使用されるシナリオはほとんどありません。

UAはどのように使用される可能性が高いですか?アプリケーションがユーザーエージェントを解析して何らかのアクションを実行し、その入力を適切にサニタイズしない場合、 Cross Site Scripting は非常にありそうな結果になる。

同様に、ユーザーエージェントがなんらかのサーバー側スクリプトエンジンによって解析されると、リモートでコードが実行される可能性もあります。 Shellshock はその良い例です。

20
KDEx

最近の例は Joomlaエクスプロイト にあります。 Joomlaはユーザーエージェントをセッションに保存し、これにより 解放後使用の脆弱性 PHPが悪用される可能性があります。

13
Sjoerd

はい、アプリケーションの記述方法によっては、悪意のある目的に利用される可能性があります。

ユーザーエージェントは、いかなる形式の認証にも使用してはならず、セキュリティの観点から大きなリスクをもたらします。

1
moarsauce

User-Agent文字列も使用される別の例は、SIPです。ブラックリスト/ホワイトリストは、ユーザーエージェント文字列に基づいて定義されることがよくあります。

たとえば、セキュリティスキャンツールsipviciousはUser-Agent(friendly-scanner)を使用します。このユーザーエージェントをブラックリストに登録して、「Friendly-scanner」を含むリクエストを拒否するか、応答を受信しないようにすることができます。

これはホワイトリストへの登録方法でもあります。たとえば、IP-PBXシナリオでは、使用しているSIP Phones/endpointsのUser-Agentを定義し、それらの登録要求のみを許可できます。処理されます。

この場合、ユーザーエージェントを装った誰かがスキャン/攻撃ツールを使用してセキュリティの最初の層を迂回し、SIPネットワークにあるシステムに関する詳細情報を取得するか、実行することができます。悪用。

1
Stephen Gelardi

上記の回答に加えて、攻撃者はユーザーエージェントの値を介して悪意のある入力を提供することにより、ターゲットWebサイトに対してSQLi攻撃を開始することもできます。例えば:

User-Agent:NoAgent "; DROP TABLEユーザー

これについての詳細: http://sechow.com/bricks/docs/content-page-4.html

https://security.stackexchange.com/a/1334

また、Curlを使用してユーザーエージェントを変更する方法の例:

curl -A "Googlebot/2.1" http://example.com

0
racec0ndition

他の回答は、変更可能であれば(詳細は変更可能ですが)詳細ですが、その悪意のある部分についてお話ししたいと思います。

ユーザーエージェントだけに依存することはできません。

一部のDリンクルーターには、管理パネル用のバックドアがあり、ユーザーエージェントをxmlset_roodkcableoj28840ybtideパスワードなしでログインします。 それについてのブログ投稿をここで読むことができます

0
Ave