モールCMSによるペネトレーションテスト

目次

NiushopCMS 侵入テスト

サイトホーム

メッセージを収集する

弱いパスワードの爆発

ファイルアップロードの脆弱性

個人センターの個人データにファイルアップロードポイントがあります

バックグラウンドユーザーの個人データの中には、ファイルアップロードポイントがあります

背景記事管理所にファイルアップロードポイントもあります

ビジネスロジックの脆弱性

XSS

SQLインジェクション


NiushopCMS 侵入テスト

サイトホーム

メッセージを収集する

 IP情報を取得してWebサイト情報を取得します

 ポート 22 は高いリスクにさらされていることが判明

 Yujian スキャンポート情報

 上記のポート情報を確認します。

 nmapスキャン情報

スキャンされたポート情報:

 スキャンディレクトリ

ステータスコード 200:

追加のディレクトリ情報:

弱いパスワードの爆発

 情報を収集したところ、ポート 22 が開いていることがわかりました。リスクが高いため、弱いパスワードのブラスティングを試してください。

 接続に失敗しました。パスワードが脆弱でない可能性があることを示しています

 弱いパスワードを使用してデータベースを爆破してみます

 またチェックアウトされていないため、弱いパスワードがない可能性があります

バックグラウンドでログインしてみます。

 アカウントのパスワードを入力し、ブラスト用のパケットをキャプチャしてみ
 てください。最初にアカウント管理者の使用を試み、ブラスト用のスナイパーモードを選択して、ブラストが成功したかどうかを確認してください。

パケットをキャプチャしてデータを取得し、Intruder モジュールに送信して、スナイパー モードを選択します。

パスワード辞書を選択して爆発させます

 観察により長さに応じて判断する

パスワードは: admin123456

 ログインに成功しました バックグラウンド
 アカウント: 管理者
 パスワード: admin123456

新しい管理者ユーザーを追加できます。

ファイルアップロードの脆弱性

個人センターの個人データにファイルアップロードポイントがあります

 ファイルのアップロード ポイントを見つける

 アップロードを試行し、パケットを取得してデータ情報を取得し、ファイルが正常にアップロードされ、アップロードされたファイルのパスを確認します

画像をアップロードするパスを見つける

 アップロードに成功しました。確認してください

 ファイルのアップロード ポイントにアクセスし、php ステートメントが解析され、トロイの木馬ファイルが正常に作成されたことを確認して、アクセスして php ステートメントを実行してみます。

 Godzilla を使用して接続し、サーバー権限を正常に取得します

バックグラウンドユーザーの個人データの中には、ファイルアップロードポイントがあります

 画像をアップロードし、パケットをキャプチャしてデータ情報を変更し、php ステートメントを画像に挿入してから、パッケージをリリースしてアップロードが成功したことを確認してください。

 対応するアップロード パスにアクセスして、解析されているかどうかを確認します。

 正常に解析されました。php ステートメントを 1 文のトロイの木馬に置き換えるか、1 文の php を使用してファイルを生成し、トロイの木馬に書き込みます。例として、
 1 文の PHP でファイルを生成し、それをトロイの木馬に書き込みます。同じ原則が一文のトロイの木馬にも当てはまります

アップロードされたファイルのサフィックスを変更し、PHP トロイの木馬ステートメントを画像に挿入して、パッケージに含めます。

正常にアップロードされました。解析されたかどうかを確認します

対応するアップロードリンクにアクセスしてください

先ほど挿入した文で、生成されたトロイの木馬ファイルが正常に生成され、解析できることを確認します。

 アントソードまたはゴジラを使用して接続します

接続は成功しました。追加するだけです

背景記事管理所にファイルアップロードポイントもあります


 試行手順は上記と同様 で、一文のトロイの木馬でもよいし、ファイルを生成してトロイの木馬に書き込む一文でもよい。

アクセスしたらphp文を入力すると解析されます

 接続するサードパーティ製ツール Ant Sword

接続に成功しました

サーバー権限を正常に取得しました:

その他、ファイルのアップロードポイントは他にもあります。この方法を順番に試してみてください。(同様に、同じアイデアと方法をアップロードして検証することができます)

ビジネスロジックの脆弱性

任意に商品を購入し、パッケージをキャプチャし、データパッケージ内の(数量情報)数値情報を変更します

パケットをキャプチャする

パケットを置くだけです。次のパケットも同様です。num を -1 に変更します。

連続する 2 つのデータ パケットを変更し、数値を -1 に変更してから、パケットを解放します (数値は任意の数を選択できます。変更の前にマイナス記号を追加するだけです)。

袋を置き続けると、支払いが0元になります。

 このメソッドが実行されたことが判明すると、在庫不足のインターフェイスがポップアップ表示されます。数量を再度変更して、0.000001 に変更して再試行してみます。

ランダムに製品を選択してみましょう:

クリックして購入:

データ パケットを取得し、データ パケット情報を変更します。

購入数量を変更する

パケットを入れて、2 番目のパケットをもう一度観察してください。

もう一度見直す

梱包するだけです。

支払いインターフェイスが表示されます。

注文の支払いが完了しました:

メンバー センターにアクセスして注文を表示します。

0元ショッピングが実現できます。

 また、クーポンの繰り返し使用にはビジネス ロジックの抜け穴があり、支払いインターフェイスで注文が送信された後、データ パケットを取得するためにパケットがキャプチャされ、そのデータ パケットが複数回送信され、返品は正常な操作となります。個人インターフェイスに移動して、注文、クーポンが繰り返し使用されたかどうか、および成功したかどうかを確認します。

XSS

 相互作用がある場合は、xss があるかどうかを順番に確認してみることができます

Webサイトの記事管理を裏で行っている

保存を試行した後、ポップアップが表示されないことを確認します。

 エフェクトをプレビューし、ポップアップ ウィンドウを見つけます

記事の中央にポップアップウィンドウが表示されます。

 同様にCookie情報を取得します

 Cookie情報の取得に成功しました

XSS プラットフォームを使用して情報を検出し、ログインをバイパスすることができます。

 この悪意のあるステートメントのコードをそこに挿入します

作成したインターフェースにアクセスします

 プラットフォームは情報を記録します

展開して情報コンテンツを表示します

拡張情報:

 上記のURL情報とCookie情報を保存し、Hackbarを使用してログインを回避します。

フォアグラウンドに戻り、先ほどの URL と Cookie 情報を使用して、ログインをバイパスしてみます。

正常にバイパスされました:

正常にバイパスされ、バックグラウンド管理インターフェイスに入りました。

検証テストを確認したところ、次のことがわかりました。

基本設定ではテスト後も XSS が残っています

 フロントデスクはポップアップウィンドウの変化を観察します

テスト後、この型は XSS に格納されていることがわかりました。

他の場所へのジャンプもポップアップ表示されます。

他にもインタラクティブな場所はありますが、同じように抜け穴もありますので、何度も試してみてください。

SQLインジェクション

 検証の結果、フォアグラウンドで SQL インジェクションが行われていることが判明しました

注入ポイント:

パケットをキャプチャしてデータを取得し、sqlmap ディレクトリの txt ファイルに保存します。

sqlmap ツールを使用して次を実行します。

 テスト後、sqlmap がデータベースを使い果たすことはなく、データベースを爆発させることもできません。

同じ位置に、価格などの SQL インジェクションもあります。

注入ポイントにエラーがあります:

sqlmap ツールを使用して、再度実行してみます。

ブール型の注入:

python sqlmap.py -r test.txt  --technique=B --batch

正常に実行されました:

正常に注入できるメソッドとペイロードがなくなる

噴射タイプとペイロード:

爆数据库
 python sqlmap.py -r test.txt  --technique=B --batch --dbs

対応する Web サイトのデータベースを見つけて、テーブルを展開します。

次に、データテーブルを分解します。

爆数据表
 python sqlmap.py -r test.txt  --technique=B --batch -D niushop_b2c  --tables

待機すると、データ テーブルの情報が表示されます。

 データベース内のデータテーブル情報は以下のようになり、正常に展開されました。

データテーブルの数が多いことがわかります。

 観察を通じて、必要なものが見つかりました。重要なデータ テーブルの
 推測は、sys_user が
 データ テーブル内のフィールドを展開し、列情報を取得することです。

 尝试爆破
 python sqlmap.py -r test.txt  --technique=B --batch -D niushop_b2c -T sys_user_admin --columns

sys_user_admin データ テーブル:

 表にリストされている情報は正常に公開されました

観察しても、欲しい情報はありません。引き続き他のデータテーブルを展開します。

sys_users データ テーブル:

获取数据表当中的列的信息:
 python sqlmap.py -r test.txt  --technique=B --batch -D niushop_b2c -T sys_user --columns

結果は以下のようになります。

より機密性の高いデータ情報、ユーザー名とパスワードが存在することが観察されています。

上記の情報を取得した後、フィールド情報を展開し続けます。

尝试爆破列的信息,爆破字段,获取重要的信息用户名和密码
 ​
 python sqlmap.py -r test.txt  --technique=B --batch -D niushop_b2c -T sys_user -C user_name,user_password --dump

データ情報の一部:

データのパスワードが MD5 で暗号化されていると推測し、MD5 を使用して復号化を試み、ランダムに 1 つを見つけて試してみます。

引き続きバーストデータ情報を待ちます。

 ユーザーとパスワードの詳細情報を表示する

管理者情報を観察し、復号化します。

管理者ユーザーとパスワード情報を取得する

 ブラストは成功し、ユーザーとパスワード情報は正常に取得されました。

 データベースの爆破は成功しました!

検証後、バックグラウンドに SQL インジェクション ポイントがあることがわかります。

データベース管理のクエリインターフェイス設定

エラーメッセージが表示される

 パケットをキャプチャしてデータパケットを取得し、それをsqlmapのディレクトリに置き、sqlmapを使用して実行します

sqlmap 実行データ:

 データベースのバースト
 python sqlmap.py -r test.txt --batch --dbs

待った後:

sqlmap ツールを使い切ることはできません。ただし、SQL インジェクションがあるので、他のインジェクション方法を試すこともできます。

バックグラウンドでのユーザーの SQL インジェクション ポイントもあります。

 注射してみる

注入後、エラーが報告されます。

 データ パケットを取得し、sqlmap のディレクトリ下のテキスト ファイルに保存します。

sqlmap ツールを使用してデータを実行します。

インジェクションステートメントとデータベースが不足しました

 データベースのバースト
 python sqlmap.py -r test.txt --batch --dbs

 現在のデータベースを確認する
 python sqlmap.py -r test.txt --batch --dbs --current-db

 データベース内のデータテーブルを展開します
 python sqlmap.py -r test.txt --batch --dbs -D niushop_b2c --tables

 必要な最も重要なデータシートを見つけて、そこに含まれる情報を取得します

 予備的な判断としては、このテーブルは
 次のテーブルの列情報を爆破するということです
 python sqlmap.py -r test.txt --batch --dbs -D niushop_b2c -T niushop_b2c --columns

 最も必要な列、ユーザー名とユーザーパスワードに関する情報を見つけます。
 Blast
 ユーザー名とユーザーパスワード
 python sqlmap.py -r test.txt --batch --dbs -D niushop_b2c -T sys_user -C user_name,user_password --dump

一部のユーザー情報:

 MD5暗号化されたパスワードを解析することで、復号するパスワードをランダムに見つけます

デコードに成功しました。

 データが sqlmap から使い果たされた後、一部のパスワードがデコードされたことが観察されました。暗号化された括弧内はデコードされた情報です。

内容は参考および学習のみを目的としています。

記事が不適切な場合は批判・修正大歓迎です! 

おすすめ

転載: blog.csdn.net/rumil/article/details/131170454