2016-04-14 9 views
-2

私はHTMLインジェクション用にPHPで作成したページをテストしていますが、期待通りの動作をしていません。HTMLインジェクション:JavaScriptをテキストエリアに挿入できません

私はTEXTAREA内

<div onmouseover="alert(1)" style="position:fixed;left:0;top:0;width:9999px;height:9999px;"> 
</div> 

を挿入しようとしています。サーバーサイドでは、今はvar_dumpで$ _GETを表示したいだけですが、それでもそれには達しません。ボタンをクリックするとホームページに戻り、#3377832596384266514がURLに追加されます。私はPHPに何のエラーもないので、多分それはサーバーの問題です(Apache 2.4)。

私は、javascript:をURLに追加してブラウザがそれを取り除いたときのように、スタックのいくつかの部分が守備になっていると推測していますが、どこを見なければいいかわかりません。私はまた、

<script>alert(foo);</script> 

およびその他のバリエーションを試してみたが、その後<や他のいくつかの文字が削除されます。

編集:入力ではなくテキストエリア。

編集:すべてのコードを追加しました。あなたは多分あなたは

+0

場合によっては、サーバーがそれを実行します。だから、あなたのPHPがそれを見る前でさえ、それは傍受され、取り除かれました。 – durbnpoisn

+0

何が間違っているのかわかるようにするには、PHPコードを表示する必要があります。 – Barmar

+0

@durbnpoisnええそれはそれを説明するが、それは標準ですか?それは設定ファイルによって引き起こされますか? – kevinlelo

答えて

0

変更GETからPOSTにフォームメソッド別のアプローチが必要に自己閉鎖要素<input />

としてそれを設定することができる理由

0

入力タグは任意のコンテンツを持つことができない、というのです。

GETは、サーバーが特定のマークアップをURLでどのように処理するかに問題を引き起こす可能性があります。

OPがこれを確認して問題を解決しました。

+0

私の間違いは、実際に私はテキストエリアを使用しています! – kevinlelo

+0

'textarea'にはプレーンテキストしか含めることができません。 – v7d8dpo4

関連する問題