0

ユーザーが xss インジェクション コードを入力した場合でも、あらゆる種類のユーザー入力を取得するアプリケーションを構築しています。それに加えて、ユーザーが入力したものの完全なコンテンツを表示する管理ビューを提供しています.htmlコード、bbコード、xss、javascriptなど(分析目的のようなもの)を配置しています。

htmlentities($data, ENT_QUOTES) で十分だと思いますが、 https://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheetを読んだ後、さらに混乱します。

タグやスクリプトを削除したくありません。エスケープしてhtmlに表示したいだけです。textareaタグに貼れば保存されますか?データに xss が含まれている場合、テキスト内に ?

<textarea name="comment" rows="30" cols="100"><?php echo htmlentities($data, ENT_QUOTES); ?></textarea>

または、ブラウザーに xss を表示する安全な方法がありますが、xss 自体は実行されません。

私の悪い英語でごめんなさい。

ありがとう

4

1 に答える 1

1

管理者が特別に細工されたユーザー入力を開いた場合、投稿したコードは XSS になりやすく、攻撃者はそのページへの管理者権限を取得できます。テキストエリアやその他のタグ内にユーザー コードを配置しても、XSS 攻撃からは保護されません。ハッカーがしなければならないことは、入力のテキストエリア タグを閉じて、やりたいことを何でもすることだけです。

owasp チート シートを見つけてよかったです :) 従うと非常に便利です。ページに配置されたすべてのユーザー入力をエスケープすることを忘れないでください。

ここで提示されたタグhtmlspecialcharsを使用して、いくつかのテストを行うことをお勧めします。JS アラートが表示されない場合、アプリケーションは xss 攻撃からある程度保護されています。

于 2012-11-28T07:15:43.943 に答える