確認コードのバイパス、パスワード取得の脆弱性

女の子がどれほど怠け者であるかを尋ねると、最初の 7 つの章の宿題を最後まで一度に終わらせず、通常はできる限り先延ばしにし、SRC が必要になるまで射撃場を急いで埋めます。

認証コード機能:

CAPTCHAとは「Completely Automated Public Turing test to tell Computers and Humans Apart」(Turing Test to Tell Computers and Humans Apart)の略で、ユーザーがコンピューターか人間かを全自動で判別する公開プログラムです。

パスワードの悪意のあるクラッキング、チケットのスワイプ、フォーラムのフラッディング、ハッカーが特定のプログラムのブルート フォース クラック手法を使用して特定の登録ユーザーに連続してログインを試行することを効果的に防止します.この機能を達成するために比較的簡単な方法を使用します。

確認コード バイパスの一般的な姿勢:

1. フロントエンド検証検証コード、およびバックエンド検証なし。パケットを直接キャプチャしてから、データ パケットを実行します. とにかく、検証コードの障害はありますか?

2.認証コードを設定したのに動かず、ランダムに認証コードを入力しても正常にログインできる(上司が開発給与を支払わなかったと推測される)

3.認証コードの再利用が可能例えば現在の認証コードは1111.ログインに失敗すると認証コードが変わるが、1111を入力すれば認証コードが正しいと判断される(共通) http://wy.zone.ci/bug_detail.php?wybug_id=wooyun-2016-0169672

4. 検証コードの null 値をバイパスする. たとえば、パッケージを取得すると、ログイン パラメーターが user=admin&password=admin&yzm=4123 であることがわかります。yzm 検証コード パラメーターですが、yzm パラメーターを削除すると、検証コード メカニズムをバイパスしてパラメーター user=admin&password=admin を直接渡すことができ、検証コードは無効になります http://wy.zone.ci/bug_detail .php? wybug_id=wooyun-2015-0155066

5. 検証コードの干渉が低すぎて、スクリプトを使用して特定するのは簡単です http://wy.zone.ci/bug_detail.php?wybug_id=wooyun-2016-0194576

6: HTML ページに確認コードが出力されます。http://wy.zone.ci/bug_detail.php?wybug_id=wooyun-2015-0146767

7. 検証コードを制御できます. たとえば、彼の検証コードは URL パラメーターである URL に含まれています. URL を設定できるので、検証コードを制御できます http://wy.zone.ci/ bug_detail.php?wybug_id =wooyun-2014-071289

8. 検証コードには、タイムスタンプの下 6 桁などの規則があります (rand 関数は乱数を実行します)。

九、ユニバーサル検証コードがあります。検証コードが何であれ、000000を入力して直接バイパスします

10. 確認コードがクッキーに隠れている場合がある. 確認コードのパラメータがあるか解析する. 11. 画像確認コードの種類が少なすぎるので簡単に識別できる http://wy.zone.ci /bug_detail.php? wybug_id=wooyun-2015-0102178 複数のログイン後に検証コードのバイパスが発生する: セッションに基づく: http://wy.zone.ci/bug_detail.php?wybug_id=wooyun-2015-0114450 IP に基づく: http ://wy .zone.ci/bug_detail.php?wybug_id=wooyun-2014-080327 ユーザーに基づく: ブルート フォース パスワードの代わりにブルート フォース ユーザー名

 パスワード回復の脆弱性

1. 確認コードが送信された後、フロント エンドが返されます (http://wy.zone.ci/bug_detail.php?wybug_id=wooyun-2015-0114577)

2. 認証コードは無制限に爆破可能 (http://wy.zone.ci/bug_detail.php?wybug_id=wooyun-2015-0155994)

3. 検証コードは制御可能です (http://wy.zone.ci/bug_detail.php?wybug_id=wooyun-2014-086716)

4. パスワード ページを直接変更する (http://wy.zone.ci/bug_detail.php?wybug_id=wooyun-2013-040908)

5. 不正な脆弱性 --> 認証コードを自分で変更し、パスワードを変更する

http://wy.zone.ci/bug_detail.php?wybug_id=wooyun-2015-0102205 http://wy.zone.ci/bug_detail.php?wybug_id=wooyun-2013-016896

確認コードには次の 2 種類があります。

  1. 確認コードは、ユーザーがコンピュータか人間かを識別する公開の自動プログラムです (たとえば、ログイン時に入力します)。
  2. SMS 確認コード、電話確認コード、電子メール確認コードなどの識別。

確認コードとは何ですか?

漢字、純数字、クリック文字、算術演算、動くブロックなどがあります。

確認コードは何をしますか

悪意のあるパスワードのクラッキング、チケットのスワイプ、フォーラムのフラッディングを防ぎ、ハッカーが特定のプログラムのブルート フォース クラック手法を使用して、特定の登録ユーザーに連続してログインを試行するのを効果的に防止できます. 実際、検証コードの使用は、多くの Web サイトで一般的な方法です。この機能を実現するために、比較的単純な方法を使用します。

確認コードは信頼できますか?

必ずしも信頼できるとは限りません. コードを書くときに検証コードに論理的な抜け穴があると、簡単に回避できます. 論理的な抜け穴がなくても、検証コードの絵の混乱が比較的単純な場合は、スクリプトを記述して自動的に識別することができます (python にはあります)。

キャプチャに関する一般的なセキュリティの質問

1. フロントエンド検証検証コード、およびバックエンド検証なし

2. 確認コードが設定されていますが、有効ではありません

3. 認証コードは再利用可能

4. ヌル値バイパス

5.認証コードを制御できます

6. 認証コードにはルールがある

7. ユニバーサル認証コードがあります

8. 確認コードは Cookie パラメータに配置されます

フロントエンド認証コードをバイパスする方法

バックエンドでの検証がないため、パケットを直接キャプチャします

確認コードの一般的なルールは何ですか?

多くの種類がありますが、必ずしもそうではありません。コードの書き方によって異なります。乱数の生成には rand 関数がよく使用されます。

ユニバーサル検証コードとは何ですか?

通常は 000000 または 888888

検証コードの null 値のバイパスとは何ですか?

データ パケット内の検証コード パラメータを削除すると、パラメータ受け渡しメカニズムがバイパスされていることがわかりました.このパラメータを渡さないと、検証コード検証プロセスに入りません

制御可能な確認コードとは何ですか?

検証コードは url パス パラメータに存在する可能性があり、url の設定は固定であり、検証コードは制御可能です。

Cookie パラメータで確認コードを見つける方法

cookie パラメーターに対応する値があるかどうかを確認します (検証コードまたは対応するパラメーター名)

確認コードは時間制限がありますか?

一般的に言えば、時間に敏感で、通常は 30 分です

パスワードを取得するにはどのような方法がありますか?

1. リセット リンクまたは番号|文字列確認コードをメールで送信

2.SMS経由で確認コードを送信

パスワードの取得に関する一般的なセキュリティの問題は何ですか?

1. 確認コードが送信され、フロントエンドによって返されます

2. 認証コードの入力回数に制限はありません

3. 認証コードは制御可能です

4. パスワード変更ページに直接アクセスし、直接変更できることを確認 (本人認証の欠如)

5. 権限の侵害(自分の携帯電話の認証コードが他人のパスワードで変更された)

6. パスワード保護の問題に欠陥がある

フロントエンドリターンの使い方

返されたデータ パケットを表示します (ブラウザまたはパケット キャプチャ ツールを使用できます)。

制御可能な検証コードの危険性は何ですか?

スパム、フィッシング Web サイトのリンク、悪意のある Web サイトのリンクを送信できます

パスワードページを直接変更する状況とは

通常、検証が失敗した後も、引き続きパスワード変更ページにアクセスできます。

不足している認証とは何ですか?

対応するユーザー ID と情報の検証がないため、携帯電話番号を使用して他の人のアカウントをバインドできます

ウルトラバイレスとは

自分の確認コードを使用して、パッケージを変更し、他の人のパスワードを変更します

ウルトラウイルスと認証の欠如の違い

ログイン後に並列の不正アクセスを使用する必要がありますが、身元認証の欠如はそうではありません

パスワードで保護された質問の落とし穴は何ですか?

  1. 推測しやすい
  2. 答えはjsに表示されます

誰かのパスワードで保護された質問への答えを推測する方法

手がかりの分析を通じて、利用可能なリソースを呼び出し、ソーシャルワーカーに行きます。

確認コードは Cookie で暗号化されますか?

はい、おそらくmd5か何かで暗号化されています

検証検証コードの一般的な生成規則は何ですか?

ユーザーのユーザー名、パスワード、ログイン時間などを生成することができます。パスワードを変更して、それを爆破しようとすることができます。まずパスワードを選択してルールを確認してください)

射撃場に入って具体的な操作を見てみましょう!! !

 明らかに通常のtoolcmsを参照してください

 ウェブサイトにアクセスして、通常のツールcmsのソースコードを見つけてください

ダウンロードして見ることができます

 

そのバックグラウンド ログイン アドレスを見つけます。cmsadmin/a_login.php 

 それから射撃場に行き、舞台裏を探しに行きます

 一般的な脆弱なパスワードを入力してみて、アカウント番号とパスワードが存在しないことを確認してください

パケット キャプチャ解析に Burp を使用する

認証コードが変わらない前提で、パスワードの変更は再送可能で、返送されたページはアカウントとパスワードが一致しない

その後、爆破することができます

root として管理者アカウントのパスワードを吹き飛ばす

バックグラウンドに正常にログインしました

バックグラウンドに入った後、使用するものがないことがわかりました

次に、見つかったソース コードに対してコード監査を実行します。

a_templetex.php で file_put_content() 関数を見つけました。

そして、投稿パラメータを受け入れます

(1)这里file_put_contents()是写文件

(2)函数里面的$filenames是文件名,$contents是文件内容

(3)上面看到传给的都是POST传参

(4)那么我们只要在检测sqlcheck的get传参x=m条件成立下

(5)在$filenames里面传个文件名,在$contents里面传个一句话木马那我们是不是就可以拿到shell了

まず、 a_templetex.php が存在するかどうかを確認する必要があります

 Burp はパケットをキャプチャして POST に変更し、?x=m を追加し、ファイル名 filename を以下に書き込み、ファイルの内容を php の 1 語トロイの木馬に書き込みます。

 l接続成功

おすすめ

転載: blog.csdn.net/weixin_46601374/article/details/123240495