VisaとSSLによる検証-万能薬ではありません

私は海に2週間滞在しましたが、今日は夕方に帰宅しました(長いフライトに疲れた)。 友人が電話をかけて、文書を郵送するよう緊急に求めます。 インターネットは有料ではなく、最寄りのQIWI端末まで約15分です。最近、プロバイダーが銀行カードを使用して支払いを行う機会を提供したことを思い出します。 プロバイダーのWebサイトの個人アカウントにアクセスし、必要なリンクをクリックします。インターネットがないにもかかわらず、ページへのアクセスが開いていることを嬉しく思います。











銀行のよく知られた名前、アドレスバーのhttps、「Verified by Visa」ロゴに注目します(はい、これは単なる追加のセキュリティ対策の名前ですが、それでも「verified by Visa」です)。 このサイトカード番号とCVV2を信頼できますか? はい、そうです。



フォームのすべてのフィールドに入力し、「支払う」をクリックします。テキストの行がある白いページが表示されます。

挿入できませんでした:SQL構文にエラーがあります。 'ya Ivanov'、 ''、 '0'、 ''、 '127.0.0.1'、 'https://web3ds.bank-name.ruの近くで使用する正しい構文については、MySQLサーバーのバージョンに対応するマニュアルを確認してください。 :3443 / cgi-bi '1行目




いいね 「カード所有者の名前」フィールドに不要なアポストロフィを入力したときに、銀行員が私に考えさせていたカードは何でしたか。 そして、プログラマーが考えていたこと、ユーザーが送信したデータをエスケープせずにSQLクエリに代入しました(SQLインジェクションに関するものではないようです)。



xkcdコミックを思い出し、ページを閉じ、着替え、外に出て、最寄りのQIWIターミナルまで歩いた。



画像



PSユーザーに「スペースなし」の入力を求めないでください。 開発者は、各ユーザーがフィールドの下の署名を読み取って理解するよりも、入力データを処理するために正規表現を1回記述する方が簡単です。



All Articles