バグではなく機能。 または、ランブラーがどのようにして手紙の差出人を交換できるか

画像



こんにちは 私の名前はアレックスです。 ボットを作成し、Androidアプリケーションの脆弱性を検索してリバースします。



Android用のRambler / Mailアプリを手に入れました。 目標は、APIモバイルアプリを使用してメールの送信を自動化することでした。 MEmuおよびCharlesエミュレーターが起動されましたが、SSLはその要求を表示することを拒否しました。 その逆が開始されました。 暗号化を削除するためにsmali_classes2 \ okhttp3 \ OkHttpClient.smaliファイルに変更が加えられました。



次に、認証とメッセージ送信を担当するリクエストの検索が開始されました。 そのレベルのアプリケーションの作成者が、少なくとも最も単純な署名で自分自身を保護しようとしないことに驚いた。 通常、ログイン要求が表示されます。 しかし、送信要求は非常に興味があります。



action=send¶ms={"to":{"hrthrtjrt12@mail.ru":"hrthrtjrt12@mail.ru"},"body":"<div><br><\/div>erherh<br>---<br>.","is_html":"1","subject":"ergerg","action":"send","bcc":{},"from":{"eherhregerg@rambler.ru":""},"uploads":[],"cc":{}}
      
      





fromパラメーターに興味があります。 代わりに、Ramblerからのメールアドレスを絶対に置き換えることができます。 Yandexの特徴は次のとおりです。



画像



幸いなことに、Mail.ruとYandexには「サービスヘッダー」などの機能があります。



Delivered-To: hrthrtjrt12@mail.ru

Return-path: <eherhregerg@rambler.ru>









はい 技術的には、本当の送信者がいますが、平均的なユーザーにとってはこれは隠されており、フィッシングツールになる可能性があります。



さらにもっと。 送信時に送信元フィールドにアドレスを追加するだけで、1つのアカウントを他のアカウントから禁止することができましたが、そのメールは届きませんでした。 ただし、この「禁止」アカウントから送信するときに他の石鹸を[差出人]フィールドに送信すると、手紙が届きます。 したがって、ランブラーは実際の送信者ではなく、送信者フィールドからのユーザーの送信者を考慮することを理解しています。



現時点では、Ramblerのテクニカルサポートにはすでに脆弱性が通知されています。 しかし、彼らはそれをそう考えていません。 引用:



画像



YandexおよびMail.ruモバイルアプリケーションを置き換える同様の試みは機能しませんでした。 幸いなことに、これらの企業はそれほど「創造的」ではありません。 モバイルアプリケーションにも脆弱性がありますが、その詳細については次の記事で説明します。 最初に開発者に通知する必要があります。



この記事は、状況を修正し、これをバグとして認識しようとする試みです。 ご清聴ありがとうございました。



All Articles