問題タブ [brute-force]
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.
apache - Apache 基本認証はブルート フォース攻撃を防御しますか?
誤ったパスワードの試行を繰り返した後、シャットダウンしてロックアップしますか、または再試行の間にラグが追加されますか? または、これはあなたまたはプロバイダーがインストールするモジュールに依存しますか? ありがとう!
.net - 暗号化された Cookie の値から総当りで validationKey と decryptionKey を見つけることはできますか?
次のコードを使用して、暗号化されたトークンを生成しています。
このコードは、 app/web.config で指定されたキーとアルゴリズムを使用します。
このようにして生成された暗号文をパートナーに渡すとします。彼は総当たり攻撃が可能ですか:
- 暗号に格納されている値 (機密情報を表していないユーザー ID であり、あまり気にしません)
- 暗号を作成するために使用される validationKey と decryptionKey の値 (トークンを生成して任意のユーザーになりすますことができるため、これは壊滅的です)
両方の質問に対する答えはイエスだと思いますが、彼の可能性はどれくらい現実的で、彼に暗号を与えることは私のシステムにとってセキュリティ上の脅威になると思いますか? ご回答ありがとうございます。
encryption - 強力な (つまり AES) 暗号化と非強力な (つまり従来の zip) 暗号化の間に非線形の違いはありますか?
AES およびその他の最新の暗号化アルゴリズムは強力であると見なされており、「強力であると見なされなくなったため、従来の zip 暗号化を使用することはお勧めしません」などの引用が見られることがあります。しかし、それらの間に本当に非線形の違いはありますか? たとえば、両方が高いエントロピーを持つシーケンスを生成する場合、非常に長いパスワード (512 ビット以上) を使用すると、どちらも見分けがつかないほど強力になることを意味しますか?その時の /10?
brute-force - MySQLに対するブルートフォース攻撃を防止しますか?
MySQLdのネットワークをオンにする必要がありますが、オンにするたびに、サーバーはブルートフォース攻撃で忘却されます。いくつかの意味のあるパスワード推測スクリプトは、サーバーを攻撃し始め、ポート3306で接続を開き、ランダムなパスワードを永久に試します。
どうすればこれを防ぐことができますか?
SSHの場合、私はdenyhostsを使用します。これはうまく機能します。denyhostsをMySQLdで動作させる方法はありますか?
MySQLが実行されているポートを変更することも検討しましたが、これは理想的とは言えず、一時的な解決策にすぎません(新しいポートを発見した場合はどうなりますか?)
他に何かアイデアはありますか?
それが違う場合は、FreeBSD6.xでMySQL5.xを実行しています。
python - ブルート フォースのサイズを動的に計算しますか?
ブルートフォースメソッドのサイズを動的に計算するにはどうすればよいですか? たとえば、0:0:0:0:0:0:0:0 から ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff までのすべての IPv6 アドレスをファイルに出力した場合、何回の反復とスペースが必要になるでしょうか? トリッキーな部分は、ラインの長さが変化する部分です。IPアドレスは一例です。
アイデアは、特定の部分の形式と最大長を指定することです。したがって、変数の型が '%c' (char) で maxlen が 26 の場合、反復回数は 26 であり、テキスト ファイルのヒューマン形式で必要なスペースは 26 + 26 (区切り文字として 1 文字) です。
たとえば、次のようになります。
- 1.2.3.4 は 7 バイトかかります
- 9.9.9.10 は 8 バイトかかります
- 1.1.1.100 は 9 バイトかかります
- 5.7.10.100 は 10 バイトかかります
- 128.1.1.1 は 9 バイトかかります
- 等々
例 0.0.0.0 - 10.10.10.10:
反復: 14641 必要なスペース: 122452 バイト
の中へ
結果: [14641, 122452]
security - パスワードは辞書攻撃に弱いですか
ご覧いただきありがとうございます。心から役立つ回答はすべて投票されます。
パスワード強度メーターを使用して、選択したパスワードの強度をユーザーに知らせます。しかし、このパスワード チェッカーは明らかに、辞書攻撃に対するパスワードの脆弱性をカバーしていません。どうすればそれを確認できますか?それは価値がありますか?
また、通常のパスワード チェッカーは、最初はブラウザーで JavaScript を使用して実行されます (送信は不要です)。辞書攻撃の弱点をチェックしたい場合は、それをスクリプトに送信する必要があります。私の理解では、それを平文で送信するべきではないということです。
誰かがこれを整理するのを手伝ってくれますか? 辞書攻撃に対してパスワードが脆弱ではないことを確認するにはどうすればよいですか? また、スクリプトに送信する前にパスワードを暗号化するにはどうすればよいですか?
追加情報:
通常のパスワードメーターに加えて、なぜ辞書攻撃チェックが必要だと思いますか? ご指摘のとおり、ユーザーは P@ssword や Yellow12 などのパスワードを選択できます。しかし、私が遭遇したほとんどのパスワード強度チェッカーは、これを適切なパスワードとして扱います。少なくとも私は、Yet Another Password Meterを使用していますが、実際に使用しています (実際、これはより優れたパスワード チェッカーの 1 つだと思います)。より強力なパスワード チェッカーを知っている人がいる場合は、それについて言及してください。ただし、経験に基づいて確実に知っている場合に限ります。それが強いこと;)
しかし、私の質問は次のとおりです。パスワードに対して辞書攻撃チェックを行うにはどうすればよいですか? ハッシュに対して行われていることをどこかで読みましたが、どこで検索を行うのですか? それを行う方法を見つけたら、それが価値があるかどうかを判断します。
これまでに助けてくれたすべての人に感謝します:)
c# - DataTable 内の特定のレコードに移動する
単純なことを願っていますが、そのようなオプションは見つかりません。
私はデータ テーブルを持っています。たとえば、10 行あります。フォームの一部のフィールドは、それぞれ名前で table.columns にバインドされています。
グリッドを持つ別のフォームでは、グリッドをスクロールすると、グリッドが DataTable レコード変更イベントをトリガーする魔法を実行するため、詳細フィールドが期待どおりに更新されます。
データグリッドを使用せずに、フォームの読み込み/表示の更新のためにテーブルを特定の行に移動するように指示するにはどうすればよいですか...例:
テーブルで foreach 行を使用できることはわかっていますが、すべての行を処理するのではなく、特定の行に限定する必要があるため、明示的に使用する必要があります。
LoadDataRow() を見てきましたが、これはデータをサーバーにプッシュするためのもののようです。私が望むものではありません...テーブルの「現在の」行を特定の行にしたいだけです...
ありがとう
さらに調査した結果、グリッドなどの FORM ベースのコントロール「BindingSource」(またはその派生) でこれが可能であることがわかりました。しかし、明らかに、.Net エンジンがボンネットの下で行っていることがあり、最終的に「BindingSource」にトリガーされるものに特定の行を「ロード」します... DataTable には、によってトリガーされるように見える RowChanging および RowChanged イベントがあります。 OnRowChanging / OnRowChanged デリゲートですが、どの「行」をアクティブにするかをデータ テーブルに伝えるにはどうすればよいでしょうか。
フォームコントロールはバインディングソースに対してこれを行うことができますが、これらの OnRowChanging イベントをトリガーするために内部で実際に何が起こっているのか...データテーブルや行などを再ロードしたくありません。グリッド、リストボックス、コンボボックスなどの「アクティブな」行。
php - PHP でのブルート フォース/DoS 防止
構築中の Web サイトでブルート フォース ログイン試行を防止するスクリプトを作成しようとしています。ロジックは次のようになります。
- ユーザーがログイン情報を送信します。
- ユーザー名とパスワードが正しいかどうかを確認します
- はいの場合は、入れてください。
- いいえの場合、失敗した試行をデータベースに記録します。特定の時間枠内に失敗が多すぎるかどうかを確認します (例: 5 分間で 5 回)。
- Yes の場合、実行を 10 秒間一時停止し
sleep(10)
、ログインの失敗をユーザーに報告します。 - ログインの失敗をすぐにユーザーに報告する
- Yes の場合、実行を 10 秒間一時停止し
これを同僚に説明すると、ハッカーがたとえば 1 秒間に 1000 件のリクエストを送信した場合、これがどのように役立つかを尋ねられました。最初の 5 個はすぐに返され、残りの 995 個はすべて 10 秒しかかからないでしょうか?
HTTP がどのように機能するかを完全には理解していないのではないかと疑っています。そのような状況はあり得るのでしょうか、それともサーバーが 1 つのクライアントから処理する同時要求の数に制限はありますか?
より良い解決策は、睡眠時間を増やすことでしょうか?
したがって、最初の 5 つは高速で、その後はすべてスリープが長くなります。
c - crypt(3) のブルート フォース コードに関するヘルプが必要
UNIX で使用される crypt(3) 暗号化を「クラック」するプログラムを C で開発しようとしています。それを行う最も単純な方法は、私が推測するブルートフォースです。パスワードに含めることができるすべての記号を含む配列を作成し、それらのすべての可能な順列を取得して、それらを 2 次元配列に格納する必要があると考えました (1 文字のパスワードはすべて最初の行などに保存されます)。ループします。これを行うより良い方法はありますか?それはループでかなり面倒です。