私がテストしているアプリでは、ドメイン名の入力と保存を許可しており、ブラウザーで印刷すると、ドメインの先頭に「http://」が連結されます。したがって、「google.com」と入力すると、次のようなリンクが作成されます。
<a href="http://google.com"> google </a>
したがって、「javascript:alert(1)」と入力すると、リンクは次のようになります。
<a href="http://javascript:alert(1)"> google </a>
最初に「http://」を連結しない場合、リンクをクリックするとそのJavaScriptが実行されます。それで、XSSは常に「http://」を最初に連結するため、XSSから100%安全であると確信できますか?
ありがとう! 注:引用符を入力すると、\ u003caとしてエンコードされます
この方法はXSSから安全だとは思いません。このタイプの脆弱性は Reflected XSS の典型的なケースのように聞こえます。 href
タグをいくつかの_"
_でエスケープする場合は、XSSコードを入力できます。入力フィールドにfoo.at"><script>alert(81)</script>"page=1
と入力すると、リンクは次のようになります->
_<a href="http://foo.at"><script>alert(81)</script>"page=1">google </a>
_
すべての特殊文字を他の形式に変換するWebサイトのフィルターを使用することをお勧めします。 PHPの htmlspecialchars のように。