SQLの窓 イラストAC フリー素材

2018年05月19日

楽天 HTML メールに使用されている tc.api.rakuten-card.co.jp というドメインについて。


結論から言うと、HTML メールのどこをクリックしたか記録している楽天内の WEB API だと思います。

そもそも、正式な rakuten-card.co.jp のサブドメインなので、フィッシングであるはずは無いのですが、HTML メールの表記と実際のリンクが違うので単純に『フィッシング』と思われても無理は無いというか、楽天の HTML メールの内容が怪しすぎるという現実もあります。

▼ WHOIS検索


tc.api.rakuten-card.co.jp という文字列を機械的にサブドメインを取り去ってメインのドメインで検索しています。偽装文字のたぐいは無いという事です。

よくある単純なドメイン偽装は、最後の .jp の後ろに付いています。つまり、rakuten-card.co.jp をサブドメインとして登録して騙そうというのがありますがら、URL がおかしいと感じる感性はとても重要です。( なので、tc.api.rakuten-card.co.jp がフィッシングだと疑うのは正しい感性です )

では、多少技術的なチェックの手順

1) WEB メールより そのままの URL を取得する

WEB メールを Google Chrome で開いて( ここでは nifty です )、F12 キーでデベロッパーツールを起動し、左端のアイコン(インスペクター/検査)で、該当 URL の周辺をクリックします。

※ 直接リンクをクリックするのは、失敗したら困るからです。



そうすると、デベロッパーツール内で該当部分が選択されるので、F2 キーを押して編集モードに移行します。



そして、HTML 部分をコピーします。



2) この URL が何をしているかを調べる

Google Chrom で新しいタブを開き、F12 で開発者ツールを起動して『ネットワークタブ』を選択します。

それから、アドレスバーに該当 URL を貼り付けてページを表示します。結果は 楽天の正しいページですが、そこに至った経緯を調べる為には、ネットワークタブの一番上までスクロールして『?4_--_1526575_--_421003_--_11』のところをクリックします( header タブが表示されます)。

この内容が、この URL が次に実行した内容が間接的に見れる場所です。

▼ General : ブラウザが URL を呼び出すのに使った情報とその URL から返って来た単純な情報
Request URL: https://tc.api.rakuten-card.co.jp/?4_--_1526575_--_421003_--_11
Request Method: GET
Status Code: 302 Found
Remote Address: 203.191.234.109:443
Referrer Policy: no-referrer-when-downgrade

▼ Response Headers : サーバーから戻された詳細な情報
HTTP/1.1 302 Found
Date: Sat, 19 May 2018 03:35:29 GMT
Server: Apache
Location: https://www.rakuten-card.co.jp/?scid=mi_rkc_oo_htmlml_kctop71798
Content-Length: 248
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Content-Type: text/html; charset=iso-8859-1

ここまでで、解るのが以下の内容です。

1) ブラウザは tc.api.rakuten-card.co.jp/?4_--_1526575_--_421003_--_11 を呼んだ
2) ブラウザに https://www.rakuten-card.co.jp/?scid=mi_rkc_oo_htmlml_kctop71798 が返って来た
3) ブラウザは https://www.rakuten-card.co.jp/?scid=mi_rkc_oo_htmlml_kctop71798 を呼び出した
4) ブラウザは https://www.rakuten-card.co.jp/?scid=mi_rkc_oo_htmlml_kctop71798 を表示した

です。


で、実際 tc.api.rakuten-card.co.jp/?4_--_1526575_--_421003_--_11 の内部で何が行われているかは不明ですが、ブラウザには次に表示して欲しい URL しか返していません。( 上の情報のみで、HTML 部分は返していないので / そもそも Location: はそういう目的で使用します )

そしてなんでこんな回りくどい事をするかと言うと、一般的に『どのメールのどの場所がクリックされたかを記録している』と推測できる、という結論になるわけです。


ちなみに

アンカー( リンク内 ) にある、onclick="return redirectConf(this)" は、nifty の WEB メールが付加してるもののようです。

例えば、onclick="return false" とするとそのリンクは href で指定した URL へは飛ばなくなる( キャンセルされます )ので、nifty 内部でなんらかのセキュリティ機能を発動できるのだと推測されます。




posted by at 2018-05-19 13:22 | インターネット | このブログの読者になる | 更新情報をチェックする
Seesaa の各ページの表示について
Seesaa の 記事がたまに全く表示されない場合があります。その場合は、設定> 詳細設定> ブログ設定 で 最新の情報に更新の『実行ボタン』で記事やアーカイブが最新にビルドされます。

Seesaa のページで、アーカイブとタグページは要注意です。タグページはコンテンツが全く無い状態になりますし、アーカイブページも歯抜けページはコンテンツが存在しないのにページが表示されてしまいます。

また、カテゴリページもそういう意味では完全ではありません。『カテゴリID-番号』というフォーマットで表示されるページですが、実際存在するより大きな番号でも表示されてしまいます。

※ インデックスページのみ、実際の記事数を超えたページを指定しても最後のページが表示されるようです

対処としては、このようなヘルプ的な情報を固定でページの最後に表示するようにするといいでしょう。具体的には、メインの記事コンテンツの下に『自由形式』を追加し、アーカイブとカテゴリページでのみ表示するように設定し、コンテンツを用意するといいと思います。


※ エキスパートモードで表示しています

アーカイブとカテゴリページはこのように簡単に設定できますが、タグページは HTML 設定を直接変更して、以下の『タグページでのみ表示される内容』の記述方法で設定する必要があります

<% if:page_name eq 'archive' -%>
アーカイブページでのみ表示される内容
<% /if %>

<% if:page_name eq 'category' -%>
カテゴリページでのみ表示される内容
<% /if %>

<% if:page_name eq 'tag' -%>
タグページでのみ表示される内容
<% /if %>
この記述は、以下の場所で使用します