web-dev-qa-db-ja.com

HTTP GET攻撃リクエストについて

いくつかのWeb攻撃をキャプチャしました。各攻撃リクエストがどのような目的を達成するのかを理解しようとしています。

GET /site/public/timing?<!+XSS="><img+src=xx:x+onerror=alert(14721850.00337)//"> HTTP/1.1" 200 6718

GET /site/public/timing?<sVg/OnLOaD=Prompt(14721850.00307)> HTTP/1.1" 200 6718

GET /site/race/registrationAuth/1761?x"+onmousemove=" HTTP/1.1" 302 -

GET /site/registration/create/3269?execution=e1s1'+(select*from(select(sleep(3)))tw)+' HTTP/1.1" 302 -

GET /site/registration/create/3269?execution=e1s1%20waitfor delay'0:0:3'
26
guest

これは、さまざまなインジェクションの脆弱性をテストする自動化された攻撃のように見えます。私の知る限り、ここには実際の悪意のあるペイロードはありません。代わりに、攻撃はサイトが脆弱かどうかを検出するように設計されています。テストが成功した場合、サイトは実際のペイロードで攻撃されると思います。

最初の3つは [〜#〜] xss [〜#〜] 攻撃です。最初の2つは、番号14721850.00337を含むプロンプトをポップアップ表示しようとします。その数に100を掛けると、3日前のUnixタイムスタンプが表示されます。どういうわけか攻撃のタイミングを決めるのに使われていると思います。

フィルターをだますいくつかの一般的なトリックが使用されます-スペースの代わりにPromptの代わりにalert/をmIxeD CAsE。

SQLインジェクション の4番目と5番目のテスト。データベースサーバーをしばらく「スリープ」しようとします。これにより、攻撃が成功したかどうかを簡単に確認できます。返事をもらうのに数秒かかるなら、うまくいきました。 4つ目はMySQLを対象としており、5つ目はMSSQLを対象としていますが、他のシステムでも動作する可能性があります。

それであなたは心配する必要がありますか?あんまり。この種の自動化された攻撃は、インターネットに面しているサーバーに対して一般的です。誰かが積極的にあなたを攻撃している、またはあなたが脆弱であることを意味する必要はありません。しかし、それでも攻撃が機能するかどうかをテストすることはおそらく良い考えです。攻撃が行われた場合、攻撃が今までに悪用されたことが確認できるためです。

40
Anders

これらのリクエストはすべて、自動テストツールからのものであるように見えます。一部のコメントの内容とは異なり、遅延は悪意のあるものではなく、コードの実行を盲目的にテストするためのものです。応答が表示されない場合は、設定された秒数の間スリープさせるのが信頼できるテストです。

GET /site/public/timing?<!+XSS=">    <img+src=xx:x+onerror=alert(14721850.00337)//"> HTTP/1.1" 200 6718
GET /site/public/timing?<sVg/OnLOaD=Prompt(14721850.00307)> HTTP/1.1" 200 6718

XSSは14721850.00307/337にアラートを送信して、ページが脆弱かどうかを確認しようとします。

GET /site/race/registrationAuth/1761?x"+onmousemove=" HTTP/1.1" 302 -

やや不明確、機能コードなし。イベントハンドラーを使用してフィルターを回避するXSSのように見える

GET /site/registration/create/3269?execution=e1s1'+(select*from(select(sleep(3)))tw)+' HTTP/1.1" 302 -

MySQL v5攻撃。 SELECTステートメントにもかかわらず、サーバーが3秒間スリープして、脆弱かどうかを確認するだけです。

GET /site/registration/create/3269?execution=e1s1%20waitfor delay'0:0:3'

Microsoft SQL Server攻撃。同じ話で、悪意のあるコードはなく、3秒の遅延だけです。

11
J.A.K.

1&2:XSSインジェクション

3:おそらくXSSも

4:SQLインジェクション(データベースダンプ)

5:T-SQLインジェクション(SQLプローブ)

一部のボットは、何かが戻ってくるかどうかを確認するためにURLの後ろに何かを投げるだけであることに注意してください。これらは特定のターゲットではありません(ファズテスト)。受信したヘッダーは、200またはその他のエラー以外のHTTPコードのいずれかでチェックされます。また、GETリクエストをランダム化することにより、攻撃者はキャッシュされた結果を単一化したり、セキュリティ対策を回避したりできます。

2
Yorick de Wid

これらについては100%確実ではありませんが、最初と2番目はスクリプト攻撃のように見えます。彼らは両方とも、特定の番号でアラートまたはプロンプトを発行するJavaScriptを挿入しようとしています。それ自体は何も害はありませんが、それが可能かどうかをテストしています。

3番目は onmousemove イベントを追加しようとしています。ユーザーがマウスを動かすたびにリクエストを送信しようとしていると思います。なぜサービス拒否攻撃のような匂いがするのですか?

4つ目はSQLインジェクションのように見えます。これは、別のクエリの結果からすべてを要求しています。他のクエリが何をするのかはわかりませんが、3秒間待機して何もしないことを意図しています。

5番目は ブラインドSQLインジェクション です。これは、SQL Serverデータベースに3秒間待機するように指示しています。正常に戻ると、データベースが攻撃される可能性があります。

2
Philip Rowlands