問題タブ [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.
java - OWASP ESAPI を使用しようとすると、antisamy-esapi.xml が見つかりません
OWASP ESAPI ライブラリを評価しようとしましたが、適切に初期化するだけで問題が発生しました。ESAPI.properties と validation.properties のリソース フォルダーを設定すると、これらは問題なくクラスパスから読み込まれます。ただし、antisamy-esapi.xml ファイルはクラスパスから読み込まれません。2010 年にこれに関するバグが見つかりました。私が得るエラーは次のとおりです。
ファイル I/O を介してリソース ファイルとして antisamy-esapi.xml を読み込もうとしています。「org.owasp.esapi.resources」ディレクトリに見つからないか、読み取れないファイル: C:\Users\mydir\resin-pro-4.0.27\antisamy-esapi.xml SystemResource ディレクトリ/resourceDirectory に見つかりません: .esapi\antisamy -esapi.xml 'user.home' (C:\Users\mydir) ディレクトリに見つかりません: C:\Users\mydir\esapi\antisamy-esapi.xml
このライブラリを使ったアプリケーションをresinにデプロイしています。上記のすべての場所に xml ファイルを手動で配置しようとしましたが、最終的に機能したのはホーム ディレクトリだけでした。これは、運用展開ではうまく機能しません。
また、 -Dorg.owasp.esapi.resources プロパティを設定するように指示されている、他の場所で見つかった推奨事項に従いました。これもうまくいきませんでしたが、さらに興味深いことに、エラーは変化しませんでした。これは、何らかの理由で設定が取得されなかったと思わせます。
コンテナにデプロイされた後に適切にロードされるように、このファイルをプロジェクト内のどこに配置する必要があるかについてのポインタはありますか?
前もって感謝します。
アップデート:
したがって、コードを掘り下げると、ESAPI.properties をロードするための特殊な関数があるように見えます。これが、コンテナーにデプロイされた標準リソース (またはその他の src dir) ディレクトリからそのファイルをロードできる理由です。ただし、antisamy-esapi.xml の読み込み関数は、user.home の下の特定のディレクトリ、構成されたカスタム ディレクトリ、または ClassLoader.getSystemResource() の結果を介してチェックするだけです。これらのルーチンが分離されている理由がわかりません。これを何時間もいじった後、我慢できなくなり、DefaultSecurityConfiguration.java をコピーし、getResourceFile() メソッドを修正して、loadConfigurationFromClasspath() と同じ検索コードを使用するようにしました。次に、このクラスで ESAPI.override() を呼び出すと、正しく動作するようになりました。
java - cloudbees&ESAPI-ESAPIディレクトリを指定するにはどうすればよいですか?
プロジェクトにESAPIを使用していて、ESAPI構成ディレクトリを追加src/main/resources
してWARファイルにコピーしました(cloudbeesからWARをダウンロードしましたが、WEB-INF/classes/esapi/
ディレクトリに配置されていることがわかります)
ローカルでは、ディレクトリがどこにあるかを指定するだけで、すべて正常に機能しますが、cloudbeesでは機能しません。
ESAPIプロジェクトは、そのプロパティにアクセスするために、org.owasp.esapi.resources
システムプロパティのチェックを含め、あらゆる種類の処理を試行するため、次のコードを次のように追加しましたcloudbees-web.xml
。
ログに次のエラーがあるため、システムプロパティ値が見つかったことがわかります。
したがって、システムプロパティは検出されますが(パスは指定したとおりであるため)、実際のディレクトリとその中のファイルを検索すると、ディレクトリが存在しないか、読み取り不能であると推測されます。
別の場所に移動する必要がありますか?WEB-INFディレクトリ内かもしれませんか?設定がおかしいですか?他の人がこのディレクトリ専用のJARを構築することで同様の問題を解決したことを読みましたが、これは良い解決策とは思えません。cloudbeesで機能する簡単なセットアップが必要です。
servlets - ESAPIフレームワークをサーブレット3.0で使用できますか?
サーブレット2.4からサーブレット3.0にアップグレードしたかったのです。現在、アプリケーションでESAPIを使用しており、アップグレードしたいと考えています。最新のESAPIリリースはservlet-api-2.4.jarに依存しています。ESAPIはサーブレット3.0をサポートしていますか?
owasp - ESAPI OWASP メソッド java をオーバーライドする
ESAPI.override()を使用して、ESAPI OWASP ライブラリの既存のメソッドをオーバーライドしようとしています。なぜかうまくいきません、なぜだか分かりますか?
ここに私のコード:
coldfusion - esapi:src属性には、encodeForHTMLAttributeを使用しますか?encodeForURL?または両方?
どちらが正しいですか?
また
また
?
spring-mvc - Hibernate Validator (JSR 303) と他のフレームワーク (ESAPI、Apache Commons など) を使用した入力検証
JSR 303 Bean 検証用のHibernate Validator impl や、 ESAPIバリデーター インターフェイスとそのDefaultValidator実装など、入力検証用のさまざまなフレームワークを見てきました。
ESAPI 入力検証は、ESAPI.properties ファイルによる正規表現パターン マッチングを中心に展開します。
ESAPI ルート:
ESAPI プロパティ:
Java クラス:
Hibernate Validator/Spring MVC ルート
Hibernate には、さまざまな制約アノテーション (@NotNull、@Size、@Min、@Pattern、@Valid など) を使用して Bean にアノテーションを付けることが含まれます。また、Spring MVC を検証ルールに統合します。
Hibernate Validator/Spring MVC を使用すると、正規表現マッチングなどで同様の機能が提供されるようです。Hibernate Validator API よりも ESAPI ライブラリを使用する利点はありますか? 多分SQLインジェクション/ XSSまたはその性質のものですか?XSS/SQL インジェクションに対するセキュリティは、ESAPI 入力検証フレームワークにすぐに提供されますか? どちらか一方を使用するよりも実際の利点があります。前もって感謝します。
私自身の質問への回答: 私は投稿の独自の解決策にたどり着いたと思います。Hibernate/Spring MVC を使用すると、かなり堅牢な Bean 検証機能が可能になります。また、Hibernate は @SafeHtml、@Pattern などのセキュアなアノテーションを提供します。基本的に、Bean 検証を提供するアノテーションの複合セットを設定できます。http://docs.jboss.org/hibernate/validator/5.0/reference/en-US/html_single/
java - スレッド "メイン" org.owasp.esapi.errors.ConfigurationException での例外:
実行時にこれらのエラーが発生するのはなぜですか? 私は ESAPI-2.0.1.jar を使用していますが、サーバー上で実行しようとしていません。Eclipseでテストするだけです。それらはビルド パスと参照ライブラリにあります。どんな助けでも素晴らしいでしょう。ありがとう。
何をすべきかわからない。
java - ESAPI の使用時にプログラムのログ メッセージが表示されない
私は ESAPI の新しいユーザーです。ESAPI プロパティを正しく作成しました (と思います)。暗号化と復号化は機能します。
ただし、元のコード (map/reduce プログラム) のログ メッセージは表示されなくなりました。これは ESAPI.properties のプロパティです。
ロガーはslf4jですが、log4jに変えてみました。
org.owasp.esapi.reference.Log4JLogFactory を使用することを考えましたが、これはセキュリティ関連であり、私のコードにはセキュリティ イベント以外にもログに記録するものが明らかに含まれています。
私に何ができる?
jsf - OWASP TOP 10 - 4. 安全でない直接オブジェクト参照 - JSF 1.2 + JAVA + SEAM の ESAPI 以外の方法
A4-Insecure Direct Object Referencesを防ぐために、JSF 1.2 または SEAM 2.2.2 にすでに統合されているものはありますか?
それを行うための ESAPI 関数は知っていますが、必要でない場合はプロジェクトに別のフレームワークを含めたくありません。JSF または SEAM に組み込まれているものはありますか?
java - java.lang.reflect.InvocationTargetException Encoder クラス (org.owasp.esapi.reference.DefaultEncoder) CTOR が例外をスローしました
私は ESAPIm の初心者で、何日も答えを探していました。次のエラーが発生しました。
本当の答えが早く見つかることを願っています。これは、ESAPI を使用してログインするための私のコードです。
ご回答ありがとうございます:)