するめごはんのIT日記

主にITネタを書いていくのさ

某ECサイトのクーポン不具合をみつけた話

f:id:surumegohan:20210504152415j:plain

ごきげんよう

先程、某ECサイトのクーポン獲得バグをみつけて、問い合わせしたので結果を書いておきます

ことの発端

ECサイトAndroidアプリでお買い物。
お買物完了画面で限定?クーポンが表示されたのでタップ。
クーポン獲得!

で、そのページある、某ECサイト関連のバナーをタップして画面遷移。

「んー、あんま興味ないな。他のリンクはどうなのかな」

ということでアプリというかブラウザというかスマホ操作で「戻る」をしてお買い物完了画面に再遷移。

さっきと別のクーポンでてきてるやん!?
え、お買い物した人だからこそもらえる権利がでるのでは!?

タップしてみた。

もらえてしまったー!!

画面遷移、戻る、クーポン取得、画面遷移、戻る、クーポン取得・・・・・

おいおいおい
枚数制限はあるだろうけど、取り放題だぞ

ECサイトにお電話してみた

さすがにこれはやべーやつでは?
けどWebブラウザじゃなくて、完全にアプリだから責任は某ECサイトの運営だよなこれ

・・・・しかたねぇ。。。バグチケットだと思って報告するか・・・


「(上記のやりかた)をするとクーポン取り放題になってます。これは不具合だと思うのですが、これで取得できちゃったクーポン使うと不正利用ですよね?」

オペレーター
「状況確認のためお客様のご本人確認を・・・」

(略)


「はい、というわけです。で、おそらくアプリのセッション情報キャッシュデータベースのどれかがおかしいと技術担当にお伝え下さい」

オペーレーター
「ありがとうございます。助かります」


「で、このクーポンは使っちゃうと垢BAN?他の人に知られたらヤバいやーつ?」

確認してもらった

オペレーター
「お待たせしました。お客様のアカウントを確認し、その方法で獲得したクーポンを利用することは問題ないということになりましたので、よろしければ是非ご利用いただき引き続きお買い物をしてもらえたらと」


まーーじすか!?

オペレーター
「はい。異なる種類のクーポンなので問題ございません。ただ、もし同じ商品・同じショップのクーポンが取り放題になると不正利用と判断される可能性が高いのでそこはお伝え下さい」


「ほう。ということは、その旨をブログとかに書いていいですか?

オペレーター
「現時点でそれを止めることは弊社ではできかねます。ただ、今回の方法で得たクーポンは他の人が同じ方法で取得してお買い物に利用しても問題ありません


「な、、なんだってーー!!?けど、ブラウザというわけでもなく、御社のアプリ上で許容しちゃってる操作ですし、それつまり、日本中世界中やり放題ってことですね!

オペレーター
そうですね(言質)。ただ、繰り返しになりますが同じクーポン、同じショップが複数取得できてしまうと不正と判断される可能性がございます」


「ほーん。じゃあ、できちゃうことはOKだけど、万一、同じクーポン・同じショップが無制限で取得できるならNGという旨は流しておきます」

ということでブログ許可を得た

戻るボタンバグ

JSTQBの試験範囲にあったかな?
なかったかな?

ともあれ、ブラウザ操作やアプリにおける「戻る」の操作は厳重に設計・実装・テストをしないといけません

特に金銭が絡む場合や抽選機能がある場合は不正やり放題になります。
銀行のアプリの振り込み機能がそれの最たる例でしょう。

ブラウザ操作でよくある「戻る」を押したらページが無効になる処理を入れて、しっかり結合テスト・E2Eテストをすることが重要ですね。

まとめ

ECサイトの不具合でクーポンゲットできてしまう話でした。
今回みつけてしまった方法は、様々な異なるクーポンのために問題なしらしいです。
ランダム表示されるらしいですが、この操作で取り放題は許容されるらしい。
そしてこうしてブログにしていいらしい。
裏技にもほどがある

ただし、
同じクーポンが取得してしまうと不正利用扱いになる可能性が高いのでそこは各自ご承知おきください。