【スポンサーリンク】

【注意】Amazonの偽サイトがかなり巧妙になっていた【カード番号のパリティチェック】

【注意】Amazonの偽サイトがかなり巧妙になっていた【カード番号のパリティチェック】

メールアドレスやリンク先を注意していれば、騙されない偽メールでしたが、偽サイトの中身がかなり巧妙になっていたので、メモしておきます。

ほとんどの偽サイトは見た目を似せただけの「ハリボテ」です。しかし、今回のAmazonの偽サイトは、入力チェックなどが細かくプログラムされていたので、びっくりしました。

注意

偽サイトには、予期しないリスクがあり得ます。検証にあたっては、個人データのない端末からアクセスしています。

【注意】Amazonの偽サイトがかなり巧妙になっていた【カード番号のパリティチェック】

偽サイトは、アクセスしただけで心配になりますよね。どんな操作が危険につながるのか、根拠を得るために調べています。

\記事が役に立ったらシェアしてね/
【スポンサーリンク】

1. 【偽】あなたのアカウントは停止されました。情報を更新してください

「Amazon」と称して、「あなたのアカウントは停止されました。情報を更新してください」というメールが届きました。

落ち着いて、メールアドレスを見ると「In@knmnmecv.net」という見慣れないアドレスです。

【偽】あなたのアカウントは停止されました。情報を更新してください

リンク先アドレスは、「http://www.amunbfc.shop/」。偽サイトですね。

【偽】あなたのアカウントは停止されました。情報を更新してください

2. 適当な情報を入力しても進める

偽サイトなので、適当な情報を入力しても、ログインできます。

適当な情報を入力しても進める

請求書住所とクレジットカード情報を聞かれました。

もし、本当の情報を入れてしまったら、大変ですね。

適当な情報を入力しても進める

カード番号は、適当な数字を試してみましたが、エラーになりました。

3. 偽サイトがクレジットカード番号をチェックしている

どのようにカード番号の判定しているのか、調べてみました。

HTMLソースはほとんど空で、スクリプトだけで画面が生成されていました。

偽サイトがクレジットカード番号をチェックしている

手が込んでいますね。

カード番号の入力欄やフォーム全体の構造をあれこれ調べると、submit(送信)の関数でエラーチェックしていることがわかりました。

偽サイトがクレジットカード番号をチェックしている

if文の中にカード番号を調べる条件式があります。

this.CommonFunction.luhn(this.cardnumber, [0,2,4,6,8,1,3,5,7,9]) ? this.iscardnumber = !1: this.iscardnumber = !0, 

平たく書けば(式の値に考慮しなければ)、

if (this.CommonFunction.luhn(this.cardnumber, [0,2,4,6,8,1,3,5,7,9]) == true) 
  this.iscardnumber = false
else
  this.iscardnumber = true
偽サイトがクレジットカード番号をチェックしている

ん? 真偽が逆?

あるいは、

this.iscardnumber = !this.CommonFunction.luhn(this.cardnumber, [0,2,4,6,8,1,3,5,7,9])
偽サイトがクレジットカード番号をチェックしている

どうでもよいですが、!1と!0で 真偽値を表していますね。

文字数を減らす(minify)と変換されるようです。

どこからに luhn関数があるはずです。

偽サイトがクレジットカード番号をチェックしている

このfor文の中身が、クレジットカード番号の整合性をチェックしています。

大事な部分を抜き出します。

luhn: function(e, n) {
  for (var t = e.length, i = 1, a = 0, p = void 0; t;)
    p = parseInt(e.charAt(--t), 10),
    a += (i ^= 1) ? n[p] : p;
  return a % 10 == 0
}

代入式を駆使していて読みにくいですが、パリティチェックですね。各文字を読み込んで、n[p]かpを交互に足していって、10で割り切れるかどうかチェックしています。

偽サイトがクレジットカード番号をチェックしている

i ^= 1は、xor代入演算子で、
iの値が 1なら 0が
0なら 1が代入されます。

繰り返すごとに i がフリップしています。

4. 有効で適当なカード番号を入力したが……

パリティチェックは、最後の桁を 0〜9まで試せば、どこかは必ず有効な値になります。

今回は、「1234 5678 9012 3452」で通りました。

ソースコードによると、おそらく入力された情報は、「https://www.en-am-01.buzzz/api/send_card.php」に送られていると思います。

有効で適当なカード番号を入力したが……

ただし、「継続する」で進んでも、画面に「ロード中」のGIFアニメーションが表示されるだけで、それ以上 進みませんでした。また、再度アクセスしても、サーバにつながらなくなりましたので、ここまでです。

こちらもどうぞ

アドレスバーの読み方(ドメイン名)
アドレスバーの読み方(ドメイン名)
ウェブサイトの信頼性を確認するには、アドレスバーに表示される「ドメイン名」を確認することが重要です。 ドメイン名は管理会社による登録が必要で、特に企業サイトは厳格な審査があります。 不自然なランダム文字列を含むドメイン名や、安易に取得できるトップレベルドメインを使用しているサイトは、フィッシングサイトの可能性も高いため注意が必要です。 まずはアドレスバーを見てみよう パスワードを入力する前に、「アドレスを確認すれば本物か偽サイトかわかる」って言われたんだけれど、どう見たらよい...
「Amazonに不正アクセスがあった」と騙る詐欺メールにあった変なリンク「x-webdoc://」
「Amazonに不正アクセスがあった」と騙る詐欺メールにあった変なリンク「x-webdoc://」
x-webdocの「リンク」は、URLが正しく書かれていなかったことを示しています。
【注意喚起】偽ドコモ「利用料金の未払い金があります」で進んでみる【iTunesギフト券番号は入力しちゃダメ】
【注意喚起】偽ドコモ「利用料金の未払い金があります」で進んでみる【iTunesギフト券番号は入力しちゃダメ】
スマホに「料金の未払いがある」ってメッセージがあったから、確認してみたんだけど……。 どうも偽物みたいで、どうしたらいいかな? スマホに「料金の未払いがある」ってメッセージが来たら、どうしますか? 偽メッセージのリンク先は、見に行かないのが一番です。しかし、偽サイトにアクセスしてしまった場合でも、それだけで情報を抜き取られることはありません。こんなときこそ、慌てずに対処しましょう。 偽サイトに騙されないための3箇条 しっかりURL(アドレス)を確認する 慌てて操作しない 騙し...
QRコードを読み込むと、関連記事を確認できます。

【注意】Amazonの偽サイトがかなり巧妙になっていた【カード番号のパリティチェック】
【スポンサーリンク】
タイトルとURLをコピーしました