コロナウイルステストのUXの設計が不十分だったために、ほぼ自己隔離状態になりましたが、セキュリティホールによって救われました。



これは私です。クロアチアとの国境の前に座って、gov.trへのPOSTリクエストのパラメータを繰り返すスクリプトを作成しています。



すべてが始まった経緯



妻と私は世界中を旅し、遠隔地で働いています。最近、私たちはトルコからクロアチア(ヨーロッパで呼び出すのに最適な場所)に移動しました。クロアチアの検疫に行かないためには、入国の48時間前までに作成されたcovidの否定的な分析の証明書を持っている必要があります。



比較的収益性が高く(2500ルーブル)、すぐに(すべての結果が5時間以内に)、離陸したばかりのイスタンブール空港でテストを行うことがわかりました。



出発の7時間前に空港に到着し、テストポイントを見つけました。彼らはすべてを無秩序に行います。あなたがやって来て、パスポートを渡し、支払い、バーコード付きのステッカーを2つ入手し、モバイルラボに行き、そこで分析を識別するためにこれらのステッカーの1つを受け取ります。外出後、次のように言われます。このサイトにアクセスします:enabiz.gov.tr/PcrTestSonuc、バーコードとパスポートの下4桁を入力すると、しばらくすると結果が表示されます。







ただし、分析の直後にデータを入力すると、ページにエラーが表示されます。









それでも、「優れた」UXの思いが頭に浮かび、パスポートのデータを打ち込んだオペレーターのミスで、結果を知る方法がありませんでした。



出発する前に



出発の時が来て、私は自分のデータをドライブして、テスト結果はまだありませんが、それらのドキュメントがすでにあることを確認します。









テストが1.5時間前に研究所に到着したことさえわかります。しかし、私の妻のデータ入力は、レコードが見つからなかったというエラーをスローします。そして最も重要なことは、あなたはただ行って何が悪いのかを尋ねることができないでしょう。パスポート管理の前に、その地域でのテストに合格しました。



飛行機に乗るとき、彼らは私たちにテスト結果を要求しましたが、幸いなことに、私たちは空港の代表者にそれらがすぐに現れることを納得させることができました(彼らにバーコードを見せました)、そして最後の手段として、私たちは検疫に入りました。



私が飛行機に乗るとすぐに、私のコードによると、私のテストは陰性であるという情報が現れました。







到着時に



そして、ここから楽しみが始まります!到着してローカルWiFiに接続するとすぐに、妻の記録がまだデータベースにないことがわかりました。そして国境自体で、彼らは非常に注意深く文書に近づきました:国境警備隊はコロナウイルスのテストを受け、その現実をチェックするために別の部屋に連れて行きました。実話をそのまま伝えて、どんな選択肢があるのか​​を知ることにしました。



キューにいる間に、正しい(自分の)データと間違ったデータ、検証ページの反応を確認することにしました。



彼女はwww.enabiz.gov.tr/PcrTestSonuc/GetPcrRaporVerifyWithKimlikに、次のパラメータを使用して投稿リクエストを送信していることが判明しました



。barkodNo= XX

kimlikNo = YY

kimlikTipi = 2

ここで、barkodNoはバーコード番号です。kimlikNo-パスポート番号、kimlikTipi -2に等しい固定パラメーター(最初の2つのフィールドのみに入力する場合)。トークンは表示されませんでした。リクエストでは、正しいパラメータ(私のデータ)に1、間違ったパラメータに0が与えられました。



郵便配達員から、40を超える組み合わせを繰り返してみましたが(突然1文字のエラーが発生しました)、何も起こりませんでした。



その瞬間、私たちは国境警備隊に近づき、彼は私たちの話を聞いて検疫を申し出ました。しかし、明らかに14日間はアパートに座りたくなかったので、数時間で問題に対処するために、トランジットゾーンで少し待つように依頼しました。ボーダーガードが私たちの立場に入り、ホワイトゾーンに座れるかどうか調べに行き、頭の同意を得て、「オーケー、ほんの数時間」と言いました。



私はコロナテストを行っている人の電話番号を探し始め、同時にクレイジーな仮説をテストすることにしました:このシステムがそのようなひどいUXを持っているなら、セキュリティシステムは良くないはずですが、gov.tr。



その結果、通話中に、kimlikNoフィールドの0000から9999までのすべての数値を繰り返す小さなスクリプトを作成しました。 barkodいいえ、ステッカーに貼っていたので、間違いはありませんでした。



500回の連続リクエストの後でも禁止されず、空港のWiFiから毎秒20リクエストの速度でスクリプトが実行され続けたときの驚きを想像してみてください。



呼び出しはあまり成功しませんでした。私はある部門から別の部門にリダイレクトされました。しかし、すぐにスクリプトは切望された値6505を生成しました。これは、パスポートの実際の4桁とはまったく異なります。



文書をアップロードした後、明らかに私の妻のパスポートがなかったことがわかりました(そのような番号はロシアの外国人には存在しません)が、他のすべてのデータ(名前、姓、生年月日を含む)は正しいです。







最も興味深いのは、バーコードもランダムではなく、ほぼ1つずつ移動することです。したがって、理論的には、妻のパスポート番号を取得した連絡先を見つけることができ、一般に、他の人の個人データをスムーズに送り出すことができました。



でも午前9時と眠れない夜だったので、オンラインミーティングに遅れて、検疫なしで通ってくれて嬉しかったので、ヨーロッパを旅し始めました。



All Articles