問題タブ [esapi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
4642 参照

java - ESAPI の使用中にパーセント記号を許可するパターン

ESAPI^[\\p{L}\\p{N}:\\-.\\s_&.,$()\\*%]*$を使用して、フィールドの 1 つを検証するために RegEx を使用しています。

私の入力が1234%または1234%%または1234%%%または%1TRUEと見なされている場合。しかし、私が入力する%12か、1234%12または1234%%12失敗している場合。

私の観察では、 symbolの後に複数の文字/数字を許可していません%

正規表現にエラーがあるかどうかを知ることができますか? %有効な文字が前後にある任意の数の記号を許可する正規表現パターンは何ですか?

前もって感謝します。

0 投票する
1 に答える
1239 参照

java - DefaultValidator.getValidFileName() の呼び出し時の NoSuchMethoException

ファイル名を検証するために、ESAPI 提供の jar (esapi-2.0_rc11) から DefaultValidator クラスの getValidFileName (String, String, list, boolean) メソッドを使用しようとしています。しかし、実行時に No such method exception が発生します。

これは私のコードです:

私は得ています java.lang.NoSuchMethodError:org/owasp/esapi/reference/DefaultValidator.getValidFileName(Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Z)Ljava/lang/String;

jar に存在するコード:

誰かがこれについて私を助けてください。

0 投票する
1 に答える
4852 参照

tomcat - TomcatのESAPIプロパティファイル

TomcatwarアプリケーションでESAPI暗号化を使用しています。環境ごとに異なるキーとソルトを使用するために、戦争以外のディレクトリからESAPI.propertiesファイルをロードしたいと思います。また、各戦争に異なるESAPI.propertiesファイルがあり、各アプリケーションが個別に構成されることを望んでいます。org.owasp.esapi.reference.DefaultSecurityConfigurationのドキュメントによると、これを実現する方法はいくつかあります。

1)SecurityConfiguration.setResourceDirectory( "C:\ temp \ resources")。

2)System.getProperty( "org.owasp.esapi.resources")

3)System.getProperty( "user.home")+"/.esapi"ディレクトリ内

4)クラスパスの最初の「.esapi」または「esapi」ディレクトリ。

最初の3つのオプションは、Tomcatごとに1つの構成を強制します。つまり、プロパティファイルの場所は、展開されたすべての戦争に適用されます。(最初のオプションはClassLoader.getSystemResourceを使用します-パスがクラスパスの一部である必要があります)

Tomcat構成を使用してそれを達成する方法はありますか?

また、ESAPIのデフォルトのセキュリティ構成をオーバーライドする方法を見つけました。DefaultSecurityConfigurationを拡張してgetResourceFileをオーバーライドできますが、ESAPI javadocは、このメソッドは「絶対に」使用しないでくださいと言っています。その理由はわかりません。

助言がありますか?

0 投票する
1 に答える
498 参照

java - ThreadLocal共有データ?

どうしても、次のことは不可能ですが、本番環境の1つで発生しています。

設定

  • ESAPI 2.01
  • メインサーブレットフィルターの設定と現在のリクエストスレッドローカルオブジェクトの削除:

    /li>

すべてのリクエストはこのフィルターを通過ESAPI.currentRequest()し、システム全体で使用されます。

  • パスA(http://server/path_a/
    • に達するまで通過しますmethod_a。このメソッドにはアクセスできません。path_b
  • パスB(http://server/path_b
    • に到達するまで通過しmethod_b、からアクセスできませんpath_a

これらのパスは両方ともサーブレットフィルターを通過します(マッピング " /*")

私が受け取ったエラーメールの1つは、エラーをpath_aスローしていることを示唆しています。これにより、エラーメールが開始され、メールコードで、現在のリクエスト(via ESAPI.currentRequest())がリクエスト情報として列挙されます。

問題

エラーメールでは、リクエスト情報はからpath_aのスタックトレース情報と相関しmethod_bていますが、両方が別々のスレッドで実行されるため、これは不可能に思えます。

質問

これはどのように可能ですか?これをローカルで再作成することはできません。設定とクリア以外に、特定の予防措置を講じる必要がありThreadLocalますか?これはTomcatのセットアップで問題になる可能性がありますか?道に迷いました。


PS:例としてコードベースが大きすぎるため、質問のコードは簡略化されています


エラーメール

0 投票する
1 に答える
1339 参照

encoding - ESAPI.encoder().canonicalize(query) が正しく動作しない

このような入力タグがあります

次のようなクエリに ESAPI canonicalize 関数を使用してみましたが、機能せず"><script>alert(1);</script> 、ブラウザーでアラートが表示されます。私はそれを正しくやっていますか?

0 投票する
4 に答える
27277 参照

java - ESAPI を使用して HTTP 応答分割の脆弱性を修正する方法

最近の findbugs (FB) の実行後、次のことを訴えます:セキュリティ - HTTP 応答分割の脆弱性次のコードがトリガーされます:

基本的に、'referrer' http パラメータには URL が含まれており、アプリケーションで [戻る] ボタンをクリックすると、ブラウザはその URL に戻ります。パラメータとして URL に追加されます。少し調査した結果、リファラー URL をサニタイズする必要があることがわかりました。もう少し調査した後、この種の機能を提供しているように見えるesapiプロジェクトを見つけました。

ただし、リファラー URL に属さない jscript コードやその他のものなどを検出する方法がわかりませんでした。では、どうすればesapiでそれを達成できますか?

私は試した:

ただし、これは機能しません。私が必要としているのは、次のような関数です。

http://www.google.com (わかりました)

http://www.google.com/login?dest=http://google.com/%0D%0ALocation : javascript:%0D%0A%0D%0Aalert(document.cookie) (問題あり)

それとも、次のステートメントを呼び出すだけで十分ですか?

どんな助けでも感謝します。