この記事は、侵入テストの経験が浅い初心者向けにテストのアイデアをいくつか提供することを目的としています。内容は比較的基本的なものになるかもしれませんが、ご容赦ください。 APK を解凍して APK を取得した後、7-Zip を使用して直接解凍し、いくつかのフォルダー、AndroidManifest.xml ファイル、および dex ファイルを取得します。 dex2jar https://sourceforge.net/projects/dex2jar/ を使用してこの dex ファイルを解凍し、jar ファイルを生成し、jd-gui を使用して Java ソース コードを表示します。ソース コードを調べてコードの脆弱性を探すことは可能ですが、難読化が頻繁に発生するため、ここでは詳しく説明しません。上記の xml ファイルは、次のような多くの重要な設定項目を含むため、事前に配布してはなりません。 - AndroidManifest.xml ファイルで android:debuggable が true である。アプリは任意にデバッグできます。AndroidManifest.xml ファイルの android:allowBackup は true です。アプリデータはバックアップおよびエクスポートできます。 - 待ってください...実際のテスト中に使用される可能性のある別のポイントがあります: apk を解凍した後、powershell で db ファイルを検索してみることができます。機密情報がある可能性があります (なぜこれを言うか、私が遭遇したからです)一度 ...)
for /r F:\source-code %i in (*.db) do echo %i
apk セキュリティ分析と検出:
実験: apk セキュリティ分析と検出 (Hetian Network Security Laboratory)
実験を実施して、実行方法を学習します。 apk セキュリティ分析検出プログラム。これを使用して apk のセキュリティ分析と検出を実行すると、その結果によって潜在的な脅威が明らかになります。 )
ユーザー名を列挙する最も単純なケースは、ユーザー名を入力してログインすると、システムはユーザー名が存在しないと応答することです。今回遭遇したのは、ログインにはパスワードは必要ありませんが、登録したユーザー名を入力する必要があり、そのユーザー名を基に該当する携帯電話に認証コードが送信されると同時に、 120 秒以内に再送信することはできず、確認コードは 120 秒間有効です。現時点では認証コードでは何もできないように見えますが、実際にテストを行ったところ、 1. 既存のアカウントを入力すると、送信成功のメッセージが表示される; 2. 送信すると、繰り返し送信すると、120 秒以内に再送信できないと応答します; 3. Enter ユーザーがいない場合は、送信が失敗したことを示すメッセージが表示されます。時間制限が設定されている場合でも、ユーザー名の列挙では、サーバーから返された情報に基づいて、ブラスティングを通じてユーザー名が存在するかどうかを検証できます。
待ってください。携帯電話番号が分からず、ソーシャル メッセージを生成するためのユーザー名を取得したとしても、ログインするためのパスワードを入力することはできません。エンジニアリング辞書では使用されません。その後、ユーザーを取得します。名前は何の役に立つのですか?もちろん便利ですが、特定のシナリオによって異なります。たとえば、次の場合、認証コードはバイパスできます。ログインすると、サーバーはアカウントにバインドされている携帯電話番号に SMS 認証コードを送信します。前の手順で取得したアカウント番号を入力し、確認コードを何気なく入力します。ログイン後にクリックしてパケットをキャプチャします。ログインは失敗し、応答には 2 つのコード フィールドがあります
#ドラマがある!
xss を試してください
これをブラウザに入れると、ポップアップ ウィンドウが表示されます。
以上が承認された APK 侵入テストを実施する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。