クロスサイトスクリプティング(XSS)とは、Webページに悪さするプログラム(スクリプト)を仕込むことです。
スクリプトが仕込まれたWebページに、訪問者がアクセスすることで、入力した個人情報を盗んだり、偽サイトに飛ばされたりするイメージ。
ある程度、セキュリティがしっかりしてる、脆弱性(ぜいじゃくせい)の対策をしているサイトであれば、被害に遭いにくいですね(*´ω`*)。
クロスサイトスクリプティング(XSS)とは?
クロスサイトスクリプティングは、「Webページに悪さするプログラム(スクリプト)を仕込むこと」で「あぁ〜、なるほど」とってくれたらよしです。
「スクリプトって何?」ってなってる人もいると思うので、簡単に説明します。
スクリプトとは?
スクリプトとは、テキストで書かれた簡易プログラム(例えば、JavaScript)のこと。
「パチンコの連チャン確率を継続率を入れて計算するツール」という記事でひよこSE自身、ガッツリ、スクリプトを埋め込んでいます。
<Script>
function calcKakuritu(){
var a1 =document.getElementById(‘keizoku’).value;
var a2 =document.getElementById(‘renchan’).value;
・・・(中略)・・・
document.getElementById(‘kakuritsu’).value=Math.round(kekka*1000000)/1000000;
}
</Script>
Scriptタグで囲われている「スクリプト」は、なんかのタイミングで実行される(画面を表示したとき、ボタンをクリックしたときとか)プログラムです。
スクリプトに悪い文字を埋め込む
もう一度だけ書くと、Scriptタグで囲われている「スクリプト」は、なんかのタイミングで実行される(画面を表示したとき、ボタンをクリックしたときとか)プログラムです。
なので、どこかに
<Script>
偽サイトに飛ばす記述
とか、入力した内容を盗む記述
</Script>
を書いて、それをWebページに埋め込めばいいわけ。
悪意のあるスクリプトが埋め込まれたページにアクセスした訪問者のPCは、「ドカーン」となります 笑
実際の手口は?
え?どうやって埋め込むかって?
具体的に言うと、悪さする人がでてくるからなぁ(´▽`*)。
※やったら絶対ダメです。試すのもダメ。
スクリプトとは、「テキストで書かれた簡易プログラム」なので、言ってしまえば、ただの文字列。
「文字列」をどこかに埋め込めばよいので。
これ以上は・・・。やめておきます。
データベースのSQLインジェクションのHTMLバージョン
それと、「なんかSQLインジェクションみたいなのをやったけど、それに似てない?」と思った人は、するどいです。
- HTML(Webページを表示)に悪さ:クロスサイトスクリプティング
- SQL(データベースのデータをやりとり)に悪さ:SQLインジェクション
データベースのSQLインジェクションの、HTMLバージョンがクロスサイトスクリプティングです。
クロスサイトスクリプティング(XSS)の対策は、脆弱性をなくす
クロスサイトスクリプティング(XSS)の対策は、脆弱性(プログラムの欠点)をなくすこと。
「ただの文字として扱う」ってどうやってやるんだ!と思った人もいるかもですが。
「HTML エスケープ処理」みたいにググって出てきたサイトを参照してくださいまし。
これらの脆弱性も、完全になくせるわけではないにせよ、大部分は防げるはず(*´∀`*)。
まとめ
クロスサイトスクリプティング(XSS)ときたら、Webページに悪さするプログラム(スクリプト)を仕込むこと。
プログラムの欠点をあらわす脆弱性を無くせば、大部分は防げます。
もし、この攻撃を受けたら、スクリプト(簡易プログラム)の中身通りのことをされます。
変なページに飛ばされたり、いろんなことされると思ってくださいまし(-_-;)。
コメント