0

以下はFilterコードです。

public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain)
            throws IOException, ServletException {

HttpServletRequest srequest = (HttpServletRequest) request;
HttpServletResponse sresponse = (HttpServletResponse) response;

String url = srequest.getRequestURI();
if(url.contains("//What patterns to be checked here?"))
{
 //Invalidate the Session
 //Redirect to error page
}

形成された URL を読み取り、XSS攻撃を回避したい。XSSそのため、攻撃につながる可能性があることを示す可能性のあるパターンについて、URL をチェックインしたいと思います。

ここで確認できるすべてのパターンの統合リストを取得できますか? たとえば、

url.contains("<script>");
4

1 に答える 1

7

うわー、しないでください。その理由を説明する情報源はたくさんあります。

  • ブラックリストはほとんどの場合悪いことです
  • 入力で XSS をチェックするべきではありませんが、そのソースに関係なく出力をエスケープします

XSS の防止に関する詳細情報が必要な場合は、Owasp xss cheat sheetにアクセスしてください。

他のサイトで、制限付きのスクリプト作成/編集機能を Web サイトに追加する場合は、置換を使用できますし、使用する必要があります (stackoverflow のように、 <\b> を書かずに ** を使用すると、後で適切な html に変換されます)。タグ)。または、ホワイトリストを使用して、テキストと一部のタグのみを許可することもできますが、注意が必要な場合があります。

于 2012-12-24T08:02:52.523 に答える