問題タブ [application-security]
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.
asp.net - 処理中のユーザー名/パスワードの保存
ASP.NETアプリケーションのコンテキスト内で作業する私は、環境内の多くのデータベースの1つに対してデータベーススクリプトを実行できるページを作成しています。これを行うには、ユーザー名とパスワードの組み合わせをユーザーに求める必要があります。この値は、すべてのサーバーで問題なく使用できます。
問題は、この情報を保存するための最も安全な場所はどこですか?この特定のページにいるときは、複数のポストバックで何百ものスクリプトを実行している可能性があるため、一時的に保存する必要があります。私が言えることから、私には3つの選択肢があり、何が最善かわかりません。以下はオプションに関する私の見解ですが、ここにいるすべての人の推奨事項は何ですか?ユーザーにとってフレンドリーでありながら、最も安全なものは何ですか?
ビューステートに情報を保存する
私たちが最初に話し合ったアイデアの1つは、ユーザーがページのViewStateに入力した後に情報を保存することでした。情報はページの存続期間中のみ存在するため、これは役立ちますが、セキュリティへの影響は不明です。
セッションに情報を保存する
次のアイデアはセッションに保存することでしたが、これの欠点は、情報をアプリケーション内の他のページで利用できるようにすることができ、情報が常にサーバーのメモリに残ることです。
アプリケーションに情報を保存する
私たちが持っていた最後のアイデアは、ユーザー固有のキーとスライド式の5分の有効期限を使用して、アプリケーションキャッシュに保存することでした。これは他のページでも引き続き利用できますが、情報がより短い期間キャッシュされるようになります。
なんで?
重要な最後の質問は「なぜあなたはこれをしているのですか?」です。なぜ彼らのLANIDを使用しないのですか?委任に対するネットワークサポートがないため、LANIDを使用できません。
S0推奨される解決策は何ですか?なんで?それはどれほど安全ですか、そして私たちは安全であることができますか?
アップデート
素晴らしい情報が議論されました。明確にするために、私たちはイントラネット環境で実行しています。ネットワークの制限により、なりすましや委任を使用することはできません。
.net - 安全な文字列を使用して安全に保つ
そのため、.NET フレームワークは、文字列を安全な方法で格納するためのSecureStringクラスを提供します。しかし、情報を読み取って操作するには、標準の文字列に戻す必要があります。この実装例を参照してください。
ポインターを使用した例からわかるように、暗号化されていない文字列を返します。文字列の「安全でない」インスタンスを管理するにはどうすればよいでしょうか? 一度設定した値を操作する最も安全な方法は何ですか?
編集
この質問の目的は、SecureStrings を使用してから値を操作するときに潜在的な攻撃の可能性を減らす方法について説明することでした。「重複」リンクに関する「理由」ではありません。
security - Web アプリケーションのセキュリティ テスト
Spring フレームワークと Hibernate ORM を使用して Web アプリケーションを開発しています。アプリケーションのセキュリティに関する限り、acegi を使用して認証と承認のサポートを提供しています。
ユーザー入力のサニテーションについては、XSS や sql インジェクションなどの攻撃に注意を払うようにしました。データベースの更新とクエリには、準備されたステートメントと休止状態の基準をできるだけ多く使用しようとしました。JavaScript の入力もサニタイズされます。
これらをテストするために、 Firebug、Tamper IE、Fiddler2などのツールを使用しようとしました。
また、 Watch Mouseなどのツールを使用して脆弱性テストを実施しました。
Web アプリケーションのセキュリティに利用できるその他のツールと、Web アプリケーションのセキュリティ テストを開始する前に考慮すべき事項は何ですか。
ありがとうございます
.net - dotfuscator スイートに代わるものはありますか?
いくつかの種類の保護を提供するソリューションを探していましたが、見るたびに dotfuscator にたどり着きました。具体的には、私は好きです:
- コードの難読化
- 使用状況分析
- 改ざん検出/通知
- 賞味期限の強制
今、私は最初のものに代わるものがたくさんあることを知っています.そのいくつかは無料ですが、他のものに代わるものはありますか? dotfuscator スイートのコストを払いたくないというわけではありませんが、小切手を書く前に通知を受けたいのです。
xss - JSP アプリケーションのタイプ 0 (DOM ベース) XSS 防止
動的な Web ページに依存する標準の XSS 攻撃とは異なり、DOM ベースの XSS 攻撃では悪意のあるコードをサーバーに送信する必要がないため、静的な HTML ページも使用できます。私の謙虚な質問は、開発者がそのような攻撃を防ぐことができるような方法でページを安全にコーディングできるかどうかです. 使用するテクニックは何ですか?ページが静的であるか動的であるかに関係なく、リクエストはクライアントからサーバーに渡されなければならないというのが私の考えです。
.net - .net-WPFアプリケーションの構成設定を保護するためのベストプラクティスは何ですか?
これは好ましい質問よりも主観的な質問であることを私は知っていますが、それを尋ねるより良い場所や方法を考えることはできませんでした。
WPFアプリケーションを開発していて、App.configファイルに構成設定があります。これらの設定の一部は機密情報であり、マシンのユーザーがそれらに直接アクセスできない場合に最適です(設定はインストールまたは管理者の構成中に設定されます)。
WPFデスクトップアプリケーションのアプリケーション構成設定を保護するための最良の方法は何ですか?
助けてくれてありがとう。
c# - 複雑なセキュリティと権限の決定
ボタンをページに書き込む厄介なクラスを持つプロジェクトに参加しました。アプリはドキュメント マネージャーであり、ダウンロード、電子メール、印刷などのボタンのポップアップ リストがあります。ユーザーの役割とドキュメントの状態に応じて、さまざまなボタンが表示されます。
他の WTF の中には、次のようなものがあります。
何が起こっているのかわからなくなるまで、などなど。
これがより深いアーキテクチャ上の欠陥の単なる副作用なのか、それとも許可とステータス値の混合をチェックするための良い方法があるのか どうかはわかりません. これらのクレイジーな条件をメソッドにすべて入れて、それを忘れるべきですか? ただし、次のプログラマーがプロジェクトを継承するメリットはありません。
grails - アプリケーションのコード入力ページにセキュリティを適用する
Oracle 11g データベースを使用した grails-groovy (現在はバージョン 1.3.7) ベースのアプリケーションがあります。OWASP に準拠する必要があるため、考えられるすべてのセキュリティ強化/プラグインを検討しています。主な問題は次のとおりです。アプリケーションには、ユーザーが新しい電子メール テンプレートを作成して保存できる電子メール テンプレートの作成機能があります。テンプレートを作成するには、このテンプレート ページに手動でコードを記述する必要があります。(実装が完了したので、それを保護する必要があります! ) コードは以下で構成されています
1) groovy コード
2) grails タグ
3) SQL 選択クエリ (ユーザーを読み取り専用に制限して、Insert や Delete などを使用できないようにすることができます)
4
) HTML タグ
テンプレートをメールに送信してから送信してください。
markup-sanitizer プラグインと HDIV API については知っていて、それらについて考えていますが、この機能をより安全にするにはどうすればよいですか?
jakarta-ee - Kerberos 認証キータブ KVNO
企業標準で kerberos 認証が設定されているネットワーク環境があります (つまり、ユーザーのパスワードは 30 日間しか存続できません)。KDC によって生成されたキータブ ファイルを使用するこのシステムに Java Web アプリケーションをインストールしました。クライアント ユーザーが 30 日以上後にネットワーク パスワードを変更するまで、すべて正常に機能します。Goggling は、KVNO が同期していないことが原因であることがわかりました。したがって、クライアント ブラウザから送信された KVNO がキータブの KVNO と同期していないという問題を理解しているようです。私はこのネットワーク ネゴシエーション手順に関する知識が少ないため (Spring Security を使用しています)、これを解決するための専門知識をお待ちしています。よろしくお願いします。
security - Oauth 2.0 Implicit Grant はどの程度安全ですか?
Implicit Grant では、アクセス トークンはコールバック URL で返されます。このコールバック URL がホップにキャッシュされている場合、これはセキュリティ リスクではありませんか。一般に、URL パラメーターで機密データを送信しないことをお勧めします。このアクセス トークンは、保護されたすべてのユーザー リソースにアクセスするためのトークンになります。では、なぜURLのフラグメントとして渡されるのですか