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

お久しぶりです!
今回は脆弱性の話です(ω

Webアプリケーションの脆弱性といったらコレ!
XSS(クロス・サイト・スクリプティング)です!
クロスのスペルはCからですが、CSSだとウェブのデザインする言語とかぶるのでXSSです。
この脆弱性がいちばんやっかいで
数多くあるサイトの中でもいちばん?多いかと思いますΣ(Д

この脆弱性はURLのパラメーターに不正なスクリプトを含ませ
そのURLをターゲットに踏ませることでそのユーザーのPCで任意のスクリプトを
実行できるというものです。

まぁ簡単に説明すると・・・・
こんなサイトがあったとします!(例えばね
d0210354_0384697.jpg

名前を入力し、OKを押します!すると・・・・
d0210354_0392242.jpg


ちょっと切れてますが、URLをみると
?name=R.SkuLL
と入力した名前がパラメーターとなって、この情報がサーバーで解釈されて
ブラウザに表示されるというものです。

なので、このURLでアクセすると誰でも
ようこそ!R.SkuLLさん と表示されます。

↓↓実際にやってみてb
名前入力のやつ

では!今度は入力欄にスクリプトを書いてみましょう!
この方法は、実際に脆弱性がないかチェックするのによく使います(ω)
d0210354_0523114.jpg

これでOKを押しますっと!!
d0210354_05336.jpg


このようにスクリプトのアラートが実行されました。
この時点でXSSの脆弱性確定です!
普通はユーザーが入力した値はそのまま表示してはいけません。
一度<>などのHTMLタグに関係する特殊記号はサニタイズして、意味の無い文字に変換して・・・・
と、すこしめんどうなことをしなければいけないんです。

まぁ、本題に戻ると・・・
これでは自分のPC上でスクリプトを実行してるだけになってしまいます。
どーするかというと!

さっきも説明したURLですよ!
スクリプトの含まれたURLをコピって、どっかの掲示板なんかに貼って
誰かに踏ませれば、その人のPC上でさっきのスクリプトが実行できるというわけです!!

セキュリティ上の問題で、このブログ
そのスクリプト入りのURL貼れなかったΣ(Д;

まぁ、これだとただアラートを実行させただけなんですけどね。

前にDecooとモバスペで説明した
スクリプト・インジェクション(クライアント・サイド・スクリプティング)で、クッキーを盗む!
というものがありました。

あれはXSSとは別で、サイト自体にスクリプトを埋め込み、そのサイトのURLに
アクセスさせることでスクリプトを実行させるというものでした。
今回はURLにより、一時的に生成されたスクリプト入りのサイトを見ることにより
実行させるというものです。

なのでURLのパラメーターに例のクッキーを盗むスクリプトを付け足して
踏ませれば、同じことができるというわけです!

まぁ、XSSの脆弱性があれば!の話ですけどね。

でもスクリプト入りのURLはブラウザ自体が受け付けてくれない場合もあるので
クライアント・サイド・スクリプティングのほうが確実ですね(∀

てか、もうこんな時間Σ(A

じゃぁこれでノシ
[PR]

by r-skull | 2010-12-28 00:31 | 攻撃・脆弱性