http://anautonomouszone.com/blog/xss-cheat-sheetにある 2 番目のコードは、URL エンコーディングによって html 特殊文字フィルタリング (つまり <>) をバイパスすると主張しています。
Bypass filter when it strips <script> tags:
%253cscript%253ealert(document.cookie)%253c/script%253e
明らかにこれは URL エンコーディングであり、サーバーは元のコンテンツを認識できませんが、いつ<script>
.
サーバーはこのように取得し、送り返します。HTTP コンテンツはエンコードされていないため、ユーザーはそのまま取得します。
私は何が欠けていますか?これはphp関数にも当てはまりますhtmlspecialchars
か?
編集 :
チャットでかなり誤解されたので、はっきりさせようと思います。
これは XSS チート シートから取得されます。その他の XSSes チュートリアル。つまり、 XSSに反するいくつかのメソッドをバイパスしようとするためのメソッドです。
私が理解しようとしているのは簡単です:
- どのような方法で回避できますか (つまり、これが攻撃者にとって役立つのはどのようなシナリオでしょうか)?
- そして、それはどのように起こりますか?デコードされ
<script>
て http-response に戻るのはいつですか? - 私のウェブサイトでそれから安全であるために私は何ができますか?
注意してください、これは多くのサイトにあるため、おそらく 100 万分の 1 の開発者の間違いを指しているわけではありませんが、ある意味で非常に可能性の高いものです。
どうもありがとう。