2016-12-03 8 views
0

私は私のワードプレスでAjaxyのLive Searchプラグインv3.0.7をインストールしましたが、何かを検索する場合:Wordpressの - Ajaxy Live Searchのプラグインを使用してXSS

<script>alert('123');</script> 

を私は自分のブラウザに警告を表示することができます。放火犯を使用して

私は、検索ボックスに入力するとき、私は、これらのパラメータを送信

/wp-admin/admin-ajax.php 

を呼んでいることがわかります。

action = ajaxy_sf 
search = false 
sf_value = <script>alert('123');</script> 

私は私の検索ボックスに、この問題を回避するにはどうすればよいですか? ありがとうございます!

答えて

0

XSSは出力エンコードの問題です。要求でどのパラメータが送信されるかに関するものではなく、応答が行われたときに脆弱性が現れます(同一の要求または別の要求に対して)。

どのような応答でも、出力はコンテキストに従ってエンコードする必要があります。プラグインの仕組みによっては、サーバー上で部分HTMLを作成するか、AJAXリクエストを送信しているときにブラウザのDOMメインペインティングを使用することがあります。

部分的なhtmlを作成して検索結果としてページに挿入する場合、部分的なhtmlを生成するビューは、出力エンコーディングを追加することで修正する必要があります(つまり、PHPではhtmlspecialchars()ですが、他のオプションもあります)。

単にajaxリクエストであり、ページdomがjavascriptで操作されている場合、アプリケーションは変数をテキストノードとして挿入し、潜在的なスクリプトノードを持つDOMサブツリー全体ではないことを確認する必要があります。

いずれにしても、プラグインで行うべきだと思います。正しく書かれておらず、XSSに対して脆弱である場合、それを修正する唯一の方法は、プラグイン自体を修正することです。

関連する問題