マレーシアコロナ感染管理アプリ「MySejahtera」を解析してみた(HotSpot編)

はじめに

マレーシアの生活に必ず必要なアプリ、それがマレーシア政府が作った「MySejahtera」になります。普段の生活でQRコードを読み込んで入らないといけなかったりと、必須なアプリとなりました。また今後日本からの入国者もインストールが求められるので、当分利用されるかと思います。

今回は、このアプリの通信部分を少し解析してみました。

今回はHotSpot、つまり自分の現在地やコンドから1Km範囲内に、何人のコロナ感染者がいるか調べられる機能があるのですが、それを分析してみましょう。

分析結果

当然、通信はすべてSSLで暗号化されている為、外部から解析出来ないので、SSLで通信を行う前のリクエストを解析してみました。

結果はこんな感じ。

Web APIのアドレス

https://mysejahtera.malaysia.gov.my/register/api/nearby/hotspots?type=locateme

ヘッダの内容

ヘッダ
Content-Typeapplication/json
AuthorizationBasic XXXXXXXXXXXXXXX

注意する点は、このWebAPIは、Authorizationにあるようにbasic認証が使われているという事ですね。つまり簡易的なユーザーIDとパスワード認証が利用されています。
※ここにはBASE64で変換した値が設定されています。ユーザー名とパスワードを公開したら怒られれるので、ご自分でこの部分は解析してください。

Postデータ

[{
    "lat": XXXXXXXXX,
    "lng": YYYYYYYYY,
    "classification": "LOW_RISK_NS"
}]

調べたい場所や現在地の経度と緯度を入れればOKですね。

まとめ

いかがだったでしょうか?分析が出来ればアプリを使わなくても、同じ命令を投げれば値を取得することが出来、自分なりの通知システムも作れますよ。
自分で通知機能を作りたい方は、以前にヘイズの通知機能の作り方を書きましたので、参考にしてみてください。

IT,生活

Posted by スングル