-1

ログインフォームのあるウェブサイトを持っている友人がいます.ログインにjsonとajaxを使用していることがわかりました...

Chrome コンソールを確認したところ、(ajax 経由で) フォームを送信すると、ユーザーとパスワードが URL に表示されることがわかりました...

それはこのようなものです...

https://somesite.com/Login/LoginAct.asp?callback=jsonp1381741574696&_=1381741716152&user_id=reigel&user_pw=butterfly143&returnUrl=https%3A//somesite.com/Login/Login.asp

jsonp1381741574696({'Result': '1'})成功した場合は戻り、jsonp1381741574696({'Result': '-100'})ログインに失敗した場合は...

ここで私の質問は、ちょっと興味があるのですが、これはブルート フォース攻撃に対して脆弱ではありませんか?

これを友達に指摘したいのですが、正しいか間違っているかわかりません...

教えてください...

4

5 に答える 5

0

必要なだけ URL を送信できる場合に限り、はいと言います。

攻撃者は、URL の pw を変更し続け、成功するまで試行し続けることができます。その後 (3 回と言います)、多くの不正な試行があり、x 回待つ必要があるというメッセージが表示された場合。ブルートフォース攻撃を再試行する数分前に、利益は得られません。

最初に、なぜ彼が post コマンドではなく Get コマンドでそれを試みたのかを知りたいのですが、get コマンドが何らかの形で必要な場合 (理由がわからない場合)、彼は次のことに本当に注意を払う必要があります (実際、彼は停止する必要があります)。彼が何をしていても、それが適切な方法で行われていることを確認してください):

あなたの友人が現在使用している方法を維持することを主張する場合、私があなたの友人に行うことをお勧めする2つのことがあります。

最初に、パスワードをハッシュしてソルト化する必要があるため、「入力ボタン」が押された瞬間から、パスワード ボックスのテキストを暗号化して、URL にプレーン テキストとして表示されないようにする必要があります。パスワードを安全に保存および使用する方法について詳しく知りたい場合は、次の記事をお読みになることをお勧めします: パスワードをデータベースに保存する最良の方法

2 つ目は、URL を取得して送信し、それを変更して再度送信することで、自分自身をテストできることです。これを何度も繰り返すことができる場合、ブルートフォース攻撃はこのセキュリティを破る簡単な方法ですが、数回の試行 (通常は 3 回と言います) では、次のような異なる結果が得られjsonp1381741574696({'Result': '-100'})ます。

于 2013-10-14T10:31:09.727 に答える
0

何でも可能ですので、できる限り確認してください。なぜ POST リクエストをしないのですか? GETリクエストが見えるので。

于 2013-10-14T10:17:19.567 に答える
0

それは間違いなくあなたが友達の注意を引きたいものです. ログイン フォームが正しく処理されません。あなたの友人の実装に興味がありました。たぶん、彼がget over postを使用することを選択した理由がありますか?

于 2013-10-14T10:17:44.007 に答える