2012-02-03 22 views
10

XSSのHTMLコンテキストでエスケープしたいのですが、これまでのところ、<、>、 "characters"を扱います。 アンパサンドもエスケープすることをお勧めしますが、なぜですか? 私が<をエスケープすると、>と "、誰かがアンパサンドがHTMLコンテキストでXSS攻撃を許可する方法を示すことができますか?クロスサイトスクリプティング(XSS):アンパサンドをエスケープする必要がありますか?

乾杯!あなたはURL内のparamsを連結する&を使用

答えて

6

本当に見てくださいOWASP XSS予防チートシートで。

&は、他の防御を回避するために使用できるため、逃げる必要があります。 <、「、開発者は「エスケープのonclickイベントハンドラ内でXSSを防御するために

<button onclick="confirm('Do you really want to delete <%= data_from_user; %> ?'">Delete</button> 

と> data_from_userで、すべてがOKであると考えて問題があれば合格アタッカータイプ&#39;次のとおりです。このコードを考えてみましょう。エスケープ、しかし、攻撃者はJavaScriptを実行できるようになってしまう

ここで例:。http://erlend.oftedal.no/blog/?blogid=124

+0

興味深い例、歓声、私が試した何 。。!注射することでしたこれはhtml: <スクリプトタイプ= "text/javascript" > 実行されないhowerverは "

1


スクリプトコードはWebページが犠牲者に

http://mybank.com/page?message= <スクリプトSRC =「を反映したURLに注入された:XXS反射

evil _script.js "/>

+2

ダウン有権者は、彼の見解を説明しなければならない、私はこの答えに同意+1 – tusar

関連する問題