Ethical-hacking-cross-site-scripting

提供:Dev Guides
移動先:案内検索

倫理的ハッキング-クロスサイトスクリプティング

クロスサイトスクリプティング(XSS)は、攻撃者が別のユーザーのブラウザーで悪意のあるJavaScriptを実行できるようにするコードインジェクション攻撃です。

攻撃者は被害者を直接標的にしません。 代わりに、彼は、被害者が訪問するWebサイトの脆弱性を悪用して、Webサイトが悪意のあるJavaScriptを配信できるようにします。 被害者のブラウザにとって、悪意のあるJavaScriptはWebサイトの正当な部分であるように見えるため、Webサイトは攻撃者の意図しない共犯者として行動しています。 これらの攻撃は、HTML、JavaScript、VBScript、ActiveX、Flashを使用して実行できますが、最もよく使用されるXSSは悪意のあるJavaScriptです。

これらの攻撃は、アカウントの乗っ取り、ユーザー設定の変更、Cookieの盗難/中毒、または虚偽の広告からデータを収集し、DoS攻撃を引き起こす可能性もあります。

例を見てみましょう。 metasploitable マシンによって取得された脆弱なWebページがあります。 次に、XSSの赤い矢印で強調表示されているフィールドをテストします。

メタスプロイタブル

まず、簡単なアラートスクリプトを作成します

<script>
   alert(‘I am Vulnerable’)
</script>

それは次の出力を生成します-

簡易アラート

XSS攻撃の種類

XSS攻撃はしばしば3つのタイプに分けられます-

  • * Persistent XSS、*悪意のある文字列はWebサイトのデータベースから発生します。
  • * Reflected XSS、*悪意のある文字列は、被害者のリクエストに由来します。
  • DOMベースのXSS 。この脆弱性は、サーバー側のコードではなく、クライアント側のコードにあります。

通常、クロスサイトスクリプティングは*脆弱性スキャナー*によって検出されるため、JavaScriptを次のように配置することですべての手動作業を行う必要はありません。

<script>
   alert('XSS')
</script>
*Burp Suite* および *acunetix* は、最高の脆弱性スキャナーと見なされています。

簡単なヒント

XSS攻撃を防ぐために、次の点に留意してください-

  • 非表示のフォーム、ヘッダー、Cookie、クエリ文字列など、すべてのフォームフィールドを確認および検証します。
  • 厳格なセキュリティポリシーを実装します。 入力フィールドに文字制限を設定します。