タグ付けされた質問 「security」

アプリケーションのセキュリティとソフトウェアに対する攻撃に関するトピック。このタグを単独で使用しないでください。あいまいになる可能性があります。質問が特定のプログラミングの問題に関するものでない場合は、代わりにInformation Security SEで質問することを検討してください:https://security.stackexchange.com

23
悪用可能なPHP関数
ロックされています。質問はトピックから外れていますが、歴史的に重要であるため、この質問とその回答はロックされています。現在、新しい回答や相互作用を受け入れていません。 任意のコード実行に使用できる関数のリストを作成しようとしています。目的は、ブラックリストに登録するか、そうでなければ許可しない必要がある関数をリストすることではありません。むしろ、侵入先のサーバーでバックドアを検索するときに役立つ赤旗キーワードのgrepリストを作成しておくとよいでしょう。 アイデアは、c99やr57などの「Webシェル」スクリプトなど、多目的の悪意のあるPHPスクリプトを作成する場合、比較的小さな関数セットの1つまたは複数を使用する必要があるということです。ユーザーが任意のコードを実行できるようにするために、ファイルのどこかにあります。それらの関数を検索することで、何万ものPHPファイルの干し草の山を、より詳細な調査を必要とする比較的小さなスクリプトのセットに、より迅速に絞り込むことができます。 明らかに、たとえば、次のいずれも悪意のある(またはひどいコーディング)と見なされます。 <? eval($_GET['cmd']); ?> <? system($_GET['cmd']); ?> <? preg_replace('/.*/e',$_POST['code']); ?> など。 先日、危険にさらされたWebサイトを検索しましたpreg_replaceが、/eフラグの使用によって危険にさらされる可能性があることに気づかなかったため、悪意のあるコードに気づきませんでした(深刻なのはなぜですか?なぜそこにあるのですか?)。他に見逃したものはありますか? これまでの私のリストは次のとおりです。 シェル実行 system exec popen backtick operator pcntl_exec PHP実行 eval preg_replace(/e修飾子付き) create_function include[ _once] / require[ _once](エクスプロイトの詳細については、マリオの回答を参照してください) ファイルを変更できる関数のリストがあると便利かもしれませんが、99%の確率で、エクスプロイトコードに上記の関数の少なくとも1つが含まれると思います。しかし、ファイルの編集または出力が可能なすべての機能のリストがある場合は、それを投稿してください。ここに含めます。(そしてmysql_execute、それは別のクラスのエクスプロイトの一部なので、私はカウントしていません。)
277 php  security  grep 

5
ASP.NET Web APIのJWT認証
Web APIアプリケーションでJWTベアラートークン(JSON Webトークン)をサポートしようとしていますが、道に迷ってしまいます。 .NET CoreとOWINアプリケーションがサポートされています。 現在、IISでアプリケーションをホストしています。 アプリケーションでこの認証モジュールをどのように実現できますか?<authentication>フォーム/ Windows認証を使用する方法と同様の構成を使用する方法はありますか?

4
Node.jsをポート80で実行する際のベストプラクティス(Ubuntu / Linode)[終了]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 4年前休業。 この質問を改善する 上に最初のNode.jsサーバーをセットアップしていますが、cloud Linux nodeの詳細はかなり新しいですLinux admin。(ところで、Apacheを同時に使用するつもりはありません。) すべてが正しくインストールされていますがroot login、を使用しない限りport 80、ノードでリッスンできないことがわかりました。ただし、セキュリティ上の理由から、ルートとしては実行しないでください。 次のことを行うためのベストプラクティスは何ですか。 安全/サンドボックス化されるように、ノードに適切な権限/ユーザーを設定しますか? これらの制約内でポート80を使用できるようにします。 ノードを起動して自動的に実行します。 コンソールに送信されるログ情報を処理します。 その他の一般的なメンテナンスとセキュリティの問題。 ポート80のトラフィックを別のリスニングポートに転送する必要がありますか? ありがとう

9
支払い処理業者-私のウェブサイトでクレジットカードを受け入れる場合、何を知る必要がありますか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。私たちは回答が事実、参考文献、または専門知識によってサポートされることを期待しますが、この質問はおそらく議論、議論、投票、または拡張された議論を誘います。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 8年前に閉鎖。 この質問では、さまざまな支払い処理業者とその費用について説明していますが、クレジットカードでの支払いを受け取りたい場合はどうすればよいですか。 顧客のクレジットカード番号を保存する必要があると仮定します。これにより、クレジットカードプロセッサに依存して重い処理を行うという明白な解決策が利用できなくなります。 クレジットカード情報を格納するための標準であると思われるPCIデータセキュリティには、多くの一般的な要件がありますが、どのように実装するのですか? また、独自のベストプラクティスを持つVisaなどのベンダーについてはどうですか? マシンへのキーフォブアクセスが必要ですか?建物内のハッカーから物理的に保護するのはどうですか?または、誰かがSQLサーバーのデータファイルを含むバックアップファイルを手に入れたらどうなるでしょうか。 バックアップはどうですか?そのデータの他の物理的なコピーはありますか? ヒント:販売アカウントを取得する場合は、段階的な価格設定ではなく「インターチェンジプラス」を請求するよう交渉する必要があります。 段階的な価格設定では、使用されるVisa / MCのタイプに基づいて異なる料金が請求されます。彼らはそれらに添付された大きな報酬を持つカードのためにあなたにもっと請求します。インターチェンジと請求は、Visa / MCが請求する金額と定額料金のみをプロセッサーに支払うことを意味します。(AmexとDiscoverは独自のレートを販売者に直接請求するため、これらのカードには適用されません。Amexのレートは3%の範囲であり、Discoverは1%と低い場合があります。Visa/ MCは2%の範囲)。 このサービスはあなたのために交渉を行うことになっています(私はそれを使用したことがなく、これは広告ではなく、私はWebサイトとは関係ありません。 このブログ投稿では、クレジットカード(特に英国)の取り扱いについて詳しく説明しています。 おそらく私は質問を間違って言いましたが、私はこれらのようなヒントを探しています: SecurIDまたはeTokenを使用して、物理的なボックスにパスワードレイヤーを追加します。 ボックスが物理的なロックまたはキーコードの組み合わせがある部屋にあることを確認してください。

12
「ログイン状態を維持」-最善のアプローチ
私のWebアプリケーションはセッションを使用して、ユーザーがログインした後のユーザーに関する情報を保存し、アプリ内のページ間を移動するときにその情報を維持します。この特定のアプリケーションでは、私が保管していますuser_id、first_nameそしてlast_name人の。 ログイン時に[ログイン状態を維持する]オプションを提供して、ユーザーのマシンにCookieを2週間保持し、ユーザーがアプリに戻ったときに同じ詳細でセッションを再開します。 これを行うための最良のアプローチは何ですか?user_idあるユーザーが別のユーザーのIDを偽造して簡単に偽造できるように思われるため、Cookieにそれらを保存したくありません。

16
.NET 4.5のデフォルトのSecurityProtocol
までサポートするサーバーと通信するためのデフォルトのセキュリティプロトコルは何TLS 1.2ですか?ウィル.NETデフォルトでは、サーバー側でサポートされる最高レベルのセキュリティプロトコルを選択するか、私は明示的にこのコード行を追加する必要があります: System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12; コードを変更する以外に、このデフォルトを変更する方法はありますか? 最後に、.NET 4.0までしかサポートしていTLS 1.0ませんか?つまり、サポートするにはクライアントプロジェクトを4.5にアップグレードする必要がありますTLS 1.2。 私の動機はSSLv3、サーバーがサポートしている場合でもクライアント側でのサポートを削除し(マシンのレジストリでこれを無効にするPowerShellスクリプトを既に持っている)、サーバーがサポートする最高のTLSプロトコルをサポートすることです。 更新: のServicePointManagerクラス.NET 4.0を見るTLS 1.0と、およびの列挙値はありません1.1。どちらの.NET 4.0/4.5場合も、デフォルトはSecurityProtocolType.Tls|SecurityProtocolType.Ssl3です。うまくいけば、このデフォルトはSSLv3、レジストリで無効にすることによって壊れることはありません。 ただし、すべてのアプリケーションをすべてのアプリケーションのすべてのブートストラップコードにアップグレードして.NET 4.5、明示的に追加する必要があると判断しましたSecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;。 これにより、ダウングレードしないようにさまざまなAPIとサービスに送信リクエストが送信されSSLv3、最高レベルのを選択する必要がありますTLS。 このアプローチは合理的または過剰に聞こえますか?私は多くのアプリケーションを更新する必要があり、TLS 1.0プロバイダーによっては近い将来廃止される可能性があると聞いているので、それらを将来的に証明したいと考えています。 APIへのアウトバウンドリクエストを作成するクライアントとして、レジストリでSSL3を無効にすると、.NETフレームワークにも影響がありますか?デフォルトでTLS 1.1および1.2が有効になっていないことがわかりました。レジストリを使用して有効にする必要がありますか?RE http://support.microsoft.com/kb/245030。 少し調査した結果、レジストリ設定はIIS(サーバーサブキー)とブラウザ(クライアントサブキー)に適用されるため、影響がないと思います。 申し訳ありませんが、この投稿は複数の質問になり、その後「たぶん」の回答が続きました。
253 .net  security  ssl 

5
ソルト文字列はどこに保存しますか?
データベースストレージのパスワードをハッシュするときは、常に適切なエントリごとのソルト文字列を使用しました。私のニーズのために、ソルトをハッシュされたパスワードの隣のDBに保存することは常にうまくいきました。 ただし、ソルトをデータベースとは別に保存することを推奨する人もいます。彼らの主張は、データベースが侵害された場合でも、攻撃者は特定のソルト文字列を考慮に入れてレインボーテーブルを作成し、一度に1つのアカウントをクラックすることができるというものです。このアカウントが管理者権限を持っている場合は、他のアカウントをクラックする必要はないかもしれません。 セキュリティの観点から、塩を別の場所に保管することは価値がありますか?サーバーコードとDBが同じマシン上にあるWebアプリケーションについて考えてみます。ソルトがそのマシンのフラットファイルに格納されている場合、データベースが危険にさらされている場合、ソルトファイルも同様に破損する可能性があります。 これに対する推奨される解決策はありますか?

3
コンテンツセキュリティポリシーはどのように機能しますか?
開発者コンソールにたくさんのエラーが出ます: 文字列の評価を拒否 次のコンテンツセキュリティポリシーディレクティブに違反しているため、インラインスクリプトの実行を拒否されました スクリプトの読み込みを拒否 スタイルシートの読み込みを拒否しました これは一体何なのでしょう?コンテンツセキュリティポリシーはどのように機能しますか?Content-Security-PolicyHTTPヘッダーを使用するにはどうすればよいですか? 具体的には... ...複数のソースを許可しますか? ...別のディレクティブを使用しますか? ...複数のディレクティブを使用しますか? ...ポートを処理しますか? ...異なるプロトコルを処理しますか? ... file://プロトコルを許可しますか? ...使用インラインスタイル、スクリプト、およびタグ<style>と<script>? ...許可するeval()? そして最後に: 正確には'self'どういう意味ですか?


3
レトポリンとは何ですか?
カーネルまたはクロスプロセスメモリの開示(Spectre攻撃)を緩和するために、Linuxカーネル1は、いわゆるretpolineを介した間接呼び出しを実行するために-mindirect-branch=thunk-extern導入された新しいオプションでコンパイルされます。gcc これは、Googleの検索でごく最近の使用のみが検出されるため(通常はすべて2018年)、新しく発明された用語のようです。 retpolineとは何ですか?それは最近のカーネル情報開示攻撃をどのように防ぎますか? 1 Linux固有ではありませんが、他のOS での緩和策の一部として、類似または同一の構造が使用されているようです。

9
SQL Server Management Studioで記憶されているログインとパスワードのリストを削除する
私は最近、私の一般的なユーザーがセットアップした会社のスペアラップトップを修理中に使用しました。データベースにログインするときに、SQL Server Management Studioの[パスワードを記憶する]オプションをオンにしました。 ラップトップを使用する次の人がログイン名とパスワードを使用できないようにするために使用したログインとパスワードの情報をクリアする必要があります。これどうやってするの?

5
PHPを使用した最も単純な双方向暗号化
一般的なPHPインストールで双方向暗号化を行う最も簡単な方法は何ですか? 文字列キーでデータを暗号化し、同じキーを使用して反対側で復号化できるようにする必要があります。 セキュリティはコードの移植性ほど大きな問題ではないので、できる限りシンプルにしたいと思います。現在、RC4実装を使用していますが、ネイティブでサポートされているものが見つかれば、不要なコードを大幅に節約できると思います。


8
gitリポジトリでパスワードを処理するためのベストプラクティスは何ですか?
Twitterにアクセスし、特定の状況でGrowl通知をポップアップ表示するために使用する小さなBashスクリプトを持っています。スクリプトを使用してパスワードを保存するのに最適な方法は何ですか? このスクリプトをgitリポジトリにコミットしてGitHubで利用できるようにしたいのですが、これを実行している間、ログイン/パスワードをプライベートに保つための最良の方法は何なのでしょうか。現在、パスワードはスクリプト自体に格納されています。古いコミットにはすべてパスワードが含まれているため、プッシュする直前に削除することはできません。パスワードなしで開発することはできません。パスワードを外部の構成ファイルに保存する必要があると思いますが、何かを試す前に、これを処理するための確立された方法があるかどうかを確認したいと思いました。
225 git  bash  security  github  passwords 


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.