インストール環境:
インストールパッケージをダウンロードするには、以下のアドレスでPicachuが、これは私自身のBaiduのネットワークディスクです。私はここで使用phpStudyは、次のWWWカタログにそれを解凍します。
リンクします。https://pan.baidu.com/s/1bTc0XaSi0GnVcO5VfC8dBQ
抽出コード:DL16
次に、Firefoxのブラウザを使用して入力します。
:それは左の列が消えてしまうことを時々場合、あなたはページをズームすることができ、この時間プレスCTRL、スクロールホイール、登場左の列、後には、ページの変更に入ることがわかりました
フォルダにpkxssフォルダを開いた後、incはメモ帳で、[開くconfig.inc.phpを(図このパス以下)が選択されます。
保存し(私はここにあるルートとして改正されている)、そして自分自身のデータベース・ユーザー名とパスワードのための彼らの実際の状況に応じて変更するために、データベースのユーザー名とパスワードを開きます。
これは、オープンXSSの背景にあるデータベース・ユーザー名とパスワードを変更しない場合は、ページ管理ツールの下部を開いた後、その後の状況は、次の図に表示されます、XSS背景を入力し、問題になり、赤のヒント、設定の初期化をクリックしてください:
しかし、改正案が成功した後、我々は通常のインストールXSSバックグラウンド初期化を再入力し、それは正常です。
管理者/ 123456ログイン、あなたは正常にログインできます。
その後、元のホームページに、あなたはピカチュウのを操作することができます。
ブルートフォース(Burteフォース)
私の以前のブログ(SQLI-ラボ及びDVWA)において、導入に関してブルート力、ブルートフォースの関連モジュールを行っている、詳細に記載されているDVWAブルートフォースモジュールを参照することができます。私たちが必要とするので、ブルートフォースの必要なツールは、最終的にげっぷSuiteは、辞書ツールが遅すぎる、自動ログイン、人工的な試みを持参しようとしている必要があります。そして、げっぷスイートの使用に関するその他の情報は、あなたが私のSQLIラボレス5-10を参照することができます。
簡単にモジュール侵入者の事を説明し、ここで、げっぷスイートに下に使用されるのは、げっぷスイートを見てみましょう
ターゲットオプション:
目標を設定し、プロキシによって送信することができます
Pasitionsオプション:
指定引数とセット変数のブルートフォース、および選択した攻撃モード
攻撃の4つのモードがあります。
スナイパー(狙撃):
ペイロード、辞書最初のテストを使用して第1変数、第2の試験変数辞書
破城槌(自動車事故):
ペイロードを複数設けることができる、すべての変数は、辞書の内容と一緒に交換し、その後にしようとしています
ピッチフォーク(ピッチフォークのタイプ):
各セットに対応する辞書のペイロードの内容、及び亀裂に対する次いでプレス1の対応順
クラスター爆弾(原爆フォーカスビーム):
、それぞれ、各変数のペイロードを設定用い辞書組成の内容変数を置き換えます
(これらの4つのモードの詳細については、次のURLでより多くを学ぶことができます。
https://www.cnblogs.com/wayne-tao/p/11130158.html)
ペイロードオプション:
辞書、辞書統一政策の処理を設定します。
オプションオプション:
コンフィギュレーションのような失敗の再試行をスキャンするスレッド。
結果列の識別子判別結果によって、フラグ:結果セットフラグに一致
理解した後、私たちは強引に始まりました。
まず、フォームベースのブルートフォース
左側には、ドロップダウンメニューの下に「フォームベースのブルートフォース」暴力的な亀裂を選択します。
これは最も簡単なモードで、最初のテストは、ちょうど彼らが何が違うの戻り値があるかどうかを確認するために、ユーザー名とパスワード、および正しいユーザ名とパスワードを入力します:
エラー:456分の123
正しい:管理者/ 123456
正しいユーザー名とパスワードがわからない場合は[、あなたはヒントの右上隅をクリックすることができます:
】
異なる結果が返されるので、我々は、異なるデータページに基づいてすることができ、ブラウザのプロキシを開いて、ブルートフォースとの差に戻った、ちょうど直接キャプチャげっぷ(具体的には、どのようにプロキシは、私のブログを参照してください、ユーザー名とパスワードを入力します。 SQLIラボレス5-10):
その後、モジュールに送信された侵入者:
位置にポイント、クラスター爆弾の攻撃モードを選択し、ユーザー名とパスワードの変数を選択し、削除を選択$の追加]をクリックしてクリア$、変数の無関係をクリックします。
我々は2つのパラメータはクラックする必要があるのでそこで我々は、2にペイロード、ペイロードセットでのペイロードセットを入力してください。クリックして、Brup Suiteは、辞書によるとされます、我々は、ユーザー名とパスワードを推測している書かれている、事前に作成した(実際には、テキスト文書のインポート辞書ペイロードオプションは、内部の内容がしようとする負荷、ランダムに辞書ストレージ・パスと名前):
最後のオプションは、独自のスレッドに応じて設定することができ、そしていくつかは、高同時実行をサポートしていないようですし、これを一致させるGREP追加し、我々は、返されたページの長さに応じて観察していますが、ほとんどの場合、独自のフラグを設定することができます。
スタート攻撃をクリックして、ブルートフォースが始まりました:
その後、我々は長さのために見て、他には返された結果とは異なる独自の個別の値で、対応するPayload1 Payload2は、ユーザー名とパスワードです:
管理者でログイン/ 123456それ(すぐ戻ります、代理店、より便利を持ち上げるために覚えて捕まらないだろう)。
ログインに成功。
第二に、(クライアント上の)確認コードを迂回
フォアグラウンドでのコードは、フロントエンドで、唯一のプロセスをバイパスしています。
オープンげっぷスイート、オープンPHPの研究、オープンピカチュウは、ユーザー名やパスワードエラーを促すために、私たちが間違ったユーザー名とパスワードが正しい認証コード(456分の123)を入力し、クライアント・オプションに戻りをクリックします。
正しいユーザー名とパスワードを入力し、エラーコード(管理者/ 11111分の123456)、ポップを返します。
エージェントは、パケットキャプチャ(456分の123)を実行し、アカウントのパスワードを入力して自由に、正しいコードを入力しました:
右のリピータに送信されたコンテンツの選択、:
ランダムな変動の中で生では、検証コード、(私は11111にそれを変更)して、「ゴー」をクリックし、ユーザー名やパスワードエラーの権利は、つまりメッセージではなく、検証コードのエラーを(「ユーザ名またはパスワードが存在されていない」場合最後に、逆さまに直接見て、あなたは、コードが唯一のフロントエンドを扱う)より速く見つけます:
我々は関係なく、認証コードの侵入者、直接のブルートフォースに送信されたパケットになるので、フォームベースのブルートフォースで他のステップと同じ、それらを繰り返さない(このコードのいずれかがフォアグラウンドで実行するためにJSコードで、動きを通過することであることをものがあります検証は、使用されていないフロントデスク)をバイパス。
第三に、バイパス検証コード(サーバー上)
このコードは、我々はフロントデスクが自由に爆破することができますバイパスするために、クライアント上のようにすることはできません、もっと飛ぶだろう、一般的には、バックグラウンド処理のチェック確認コードは、非常に信頼性が高いが、あなたが利用することができます抜け穴があります。それのソースで見てみましょう(パスは、次のように):
観測ソースが、これはこのコードの検出のバックエンドで、私たちはアイデアバイパスはデフォルトのセッションがない場合、彼は(リフレッシュ後に使用)は、有効期限の設定を生じなかった確認コードを観察することです24minリフレッシュされ、あなたが見ることができ、入力します。検出が後端に行われるので、エラーコードは、検出されます。非常に厳しいように見えますが、私たちは正しい検証コード、確認コードを入力して、期限が切れていない後、あなたは引き続き使用することができます。
私たちは、コードを再利用することができ表す、テストのために、我々は再び正しいコードを使用して、結果があることを願って、返された結果は、ユーザー名やパスワードは、「ユーザー名またはパスワードが存在していない」という誤っている発見されています。
もちろん、まだそれから、我々はまだ同じエージェントですので、単なるテキストボックス内のユーザ名とパスワード(456分の123)を入力し、げっぷSuiteを使用する必要がありますが、あなたは正しいコードを入力するようにしたい、あなたがコードを表示されませんので、実際の状況をシミュレートしますEtherealの:
そして、リピータに送信され、新しい確認コードを取得するにはページを更新し、[移動]をクリックします:
ユーザー名やパスワードエラーの権利、すなわち検証するのではなく、メッセージを「ユーザー名またはパスワードが存在していない」場合は、ユーザー名とパスワードが(私は246分の137を変更)どのようなランダムな変動の中で生では、「移動」をクリックしてくださいコードが間違っている、そしてそれは、このコードを使用し続けることができ、有効期限が切れていません。
これはかなりひどいです、そして私たちは、このコードのブルートフォースを使用することができ、結果だけを解放するために、参照フォームベースのブルートフォースステップ:
テキストボックスのログインを入力します。
ログインに成功。
四、トークン抗爆発、それ?
トークンとは何ですか。
簡単に言えばトークンは、文字列、サーバーへのクライアント要求の識別子の文字列のサービス終了により生成されます。フロントエンドでは、ユーザー名/パスワード認証がサーバーに要求を送信し、サーバ認証が成功すると、サーバーがフロントエンドにトークンを返し、各要求のフロントエンドは、その正当性を証明するためにトークンを送信するためにサーバーをもたらします。
DVWAでは、我々は次のトークンを取得する必要がげっぷスイートによって記録されたため、ユーザー名とパスワードを破るので、答えは明らかです。
トークンは、抗爆発することはできません!
私たちは、ページのソースコードをトークンに外観を見て:
ユーザ名とパスワードの提出に加えて、フォームから見つかり、また、トークン隠された属性値を提出し、認証トークンので、それぞれが(たびに更新)の値にコミットしていること、表面上の破裂を防止することができます。しかし、クリアテキストでフロントに到達するたびに生成されたバックエンドのトークンは、抜け穴があります
私たちは、エージェントが巻き込ま行う、ちょうどユーザー名adminパスワード、ユーザー名、パスワードを入力し、トークンがセット変数攻撃モード選択Clster爆弾、トークン追加grepのエキスのオプション(私は、単一のパスワード辞書を書くためにここにいる)されています:
DVWA:導入、構造や環境を詳細にすべてのレベルのブルート、ハイレベルのステップのための具体的な手順は、私のブログを参照してください。ここでは、最終的な結果は以下のとおりです。
このパスワードを使用して:
ログインに成功。