支払いシステムの脆弱性がクレジットカード情報を開示する方法

最近、私は支払いシステムのサイトで脆弱性(ua、ru)をチェックすることにしました。 そのようなサービスのトップを見つけましたが、その多くでxss、csrf、その他の一般的な脆弱性が発見されました。 すぐに脆弱性を排除し、協力してくれたことに感謝し、同意した企業がありました。黙って修正した企業もありました。最も不快な瞬間は、問題の危険性を信じない企業でした。私は彼らに反対を証明しようとしました。テストアカウント、彼らは彼らがそれを修正すると言ったが、まだそれを修正していません。



脆弱性が存在する支払いシステムが1つあり、ユーザー、ユーザーのパスワード、クレジットカードなどに関する重要な情報を取得できます。 バグの再現は非常に簡単でしたが、ハッキングされたアカウントからの資金の引き出しはいくつかの理由で困難でしたが、それらについて説明します。



会社のウェブサイトhttps://www.plategka.com 、ウクライナの7900 alexarankです。 所有者はまだ自分のサイトの脆弱性を認識していないため、私は通常、各サイトにあまり時間を費やしません。おそらく、彼は脆弱性を無視し、私の時間は無駄になります。 サイトで最初の永続的な脆弱性を見つけた場合、すぐにそれを非難し、所有者の反応を見て、そのようなイベントに肯定的であり、彼にさらに協力してほしい場合は、検索を続行します。



私が最初にしたことは、辞書のサブドメインとディレクトリを確認することでした。次のサブドメインが特定されました



mail.plategka.com

test.plategka.com








、一般的に、ブルータスは何も与えませんでした。

次に、Google Dorksの結果が表示されましたが、検索は失敗しました。見つかった唯一のことは Gobrnyaよる Habrに関する記事で、 プラトカの脆弱性の発見方法と多額の支払い-8ドルのみでした。



次のステップは、個人アカウントの機能をテストすることでした。データを変更するためのパスワード確認のためにcsrfバグを再現できませんでした。xssにもフィルターがありました。



発見されたのは、パスワードでフォームを確認する自己xssだけでした。そのようなバグの危険性は最小限であるため、他の何か、より深刻なものを探す必要がありました。







私が気づいたのは、 pay2meサービスです。 彼の仕事はクレジットカードのデータを処理することであり、これは研究する興味深いテーマであることがわかりました。

以前、私はこのサービスでニュースに出会いましたが、それらにあまり注意を払いませんでした。 作成手順:



個人アカウントには、対応するタブ-「Pay2me設定」があります。 一意のリンクを作成するには、その名前、16桁のカード番号を入力し、「追加」キーを押す必要があります。


リンクhttps://www.plategka.com/gateway/pay2me/qwqwqw/を作成しました。





地図データは非表示で、xssの脆弱性はありませんでした。 げっぷの反応に注意が向けられました。 javascriptで支払いを行うページのソースコードでは、ユーザーログイン、パスワード、名前、メール、電話番号のmd5ハッシュが発行されました。



 {“user_id”:”dd660731660eb4bba1f62e44e7″,”user_role_id”:null,”org_id”:null,”merchant_id”:null,”partner_id”:null,”login”:”berest****”,”passwd”:”f1957496d2f5c7cb3caa73c2e*******”,”first_name”:”\u0418\u043b\u044c\u044f”,”second_name”:”\u0418\u0433\u043e\u0440\u0435\u0432\u0438\u0447″,”last_name”:”\u0412\u044f\u0437\u043c\u0435\u043d\u0442\u0438\u043d\u043e\u0432″,”email”:”berest****@ya.ru”,”phone”:”+38097360″,”key_private”:”inNFD\/aJyC2\/KWsuQ9vAs9FGg6\/\/4YnGjQuHUX7tu0i5GMY7weB3EddH815ytvkaUfS8F0KuxWMgAzDBAKv+Rv6Uzqgtn6qMaHH8N6v5KFWFeeRncGQ6XPQwo4kboNJIf8jidlFj\/Xi8+5BqRM\/cUfDt+P3ODaql5dImLehS36jzBwsQq6NjKZFYVkwhZ1mKbcu4H832JA32mHaHmTLlb\/HAocxg6ws1EDKRyJoNL3S8P”,”key_public”:”/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/+6MXVFgAmowKck8C+Bqoofy6+A2Qx6lREFBM8ENpCZGo6QAkjv2uYcw+JwXzBglqyomyBGp6kCR3G4KwWuFNQG+dNGA+uRC3wCvbHyPPRZKpuNIwM3AFGXdWWs3yZok32NbMkFRRcFa3raJ1QFlk1usJ6D3tnGiSrPL4NM+kB\/S6ezQHZzepScfD”,”secret”:”d7ceeb0a873ad2d29de12c45b******”,”secret_key”:null,”date_created”:”2017-05-11″}
      
      





(これはURL https://www.plategka.com/gateway/pay2me/ilia/から取得したデータです)。







脆弱性は見つかりましたが、証明のためのリンクの1つでは十分ではないため、他のそのようなリンクを見つけることが決定されました。



サイトsite:plategka.com inurl:pay2me /のフォームを使用してそれらを見つける試みがありました。 このサービスは非常に人気があるため、もっと多くのリンクがあるはずだと思いました。



大切なリンクを取得する最後のチャンスは、侵入者のブルートフォースでした。100,000を超える人気のある英単語がダウンロードされ、検索が開始されました。







約40のリンクが見つかり、パスワードの約半分が見つかりました







cvv2およびその他のカードデータが暗号化されているかどうかを確認するために、いくつかのアカウントにアクセスしました。



最初のアカウントで、3つの有効なカードを見つけました。







2番目は20でした。







アカウントのcvvは非表示になり、カード番号の10桁とその有効期限のみが開示されます。 カードをキャッシュアウトするには、たとえば、ウェブマネーや別の電子財布を補充できます。 ただし、これを行うには、カードが検証済みであっても、支払い確認にcvv2コードを入力する必要があります。



最初にできることは、111などのランダムなcvv2コードを入力することです。多くの場合、銀行からotpを入力するようにリダイレクトされ、その後、cvv2が正しくないために支払いが失敗します。







cvv2を取得することもできますが、銀行からコードを入力することに遭遇する可能性があります。



日付とカード番号の一部がある場合、通常のフィッシング攻撃により、ユーザーにカード番号を知らせることができます( 電子メール電話番号氏名 、ソーシャルネットワーク上のユーザーページへのリンクを取得することさえできました)。 「賞金を獲得しました。それを受け取るには、カード番号を送信する必要があります」が機能する場合がありますが、重要な機密データの提供は必要ありません。



cvv2を取得するには、なんらかの種類のオンラインストアを使用できます。リクエストは1000件のみで、コードを取得しました( これについての記事はこちらです )。 もちろん、一部の店は銀行からotpに入るようにリダイレクトしますが、多くの「外国の」店はリダイレクトを必要とせずにすぐにお金を償却します。



この脆弱性は、ブルートフォースのほぼ直後に修正されました。脆弱性データに加えて、即座に凍結されたユーザーのデータベースも送信され、バグ自体はすぐに修正されました。



彼らはこの脆弱性に100ドルしか支払わず、さらに多くを得るためには、アカウントからすべてのクレジットカード情報を見つけなければならないと言いました。



タイムライン:



07/13 at 17: 00-レポートが送信されました。

07/13-脆弱性は修正されました。

07.20-100ドルの報酬が支払われました。

07.24-記事はplategka.comのサポートに同意しました。



記事からの結論:宣言されたPCI DSSの通過にもかかわらず、私はサイトが定期的に脆弱性をチェックし、顧客がインターネットで使用する仮想カードを開始することをお勧めします。



PS: セキュリティ監査が必要な場合は、 ここに書いてください また、新しい記事の監視に興味がある場合は、vk / twitter / telegram、下のリンクを購読できます。



前の記事



All Articles