のための文字列として扱われますこれは、XSS関連の質問です:HTMLタグはXSS
私は検索ボックスに\'';!--"<XSS>=&{()})
を入力しようとしたし、すべての文字がページに表示されている、すなわち、いずれも除外されていません。
「Inspect Element」をクリックすると、このテキストが<div>
の内部にある<h2>
タグ内にある2 <strong>
タグ内に表示されていることがわかります。私は<div onmouseover="alert(1)">hi</div>
を挿入しようとしましたが、そのまま表示されています。テキストを調べると、HTMLとして登録されていないことがわかります。文字列として扱われます。
また、<strong>
タグを</strong> <div onmouseover="alert(1)"> hi </div> <strong>
に分割しようとすると、タグが壊れておらず、そのまま表示されています。
なぜこれらのHTMLタグは実際のタグではなく文字列として扱われますか?
「要素の検査」ではなく「ソースの表示」を使用するとどうなりますか? '<'のような文字はhtmlエンティティとしてエンコードされているはずです。 – nnnnnn
これで、htmlをhtmlエンティティに適切にエスケープしました。ページのソースで – epascarello
私は停止XSSが問題であるかを理解していない... –