设计糟糕的冠状病毒测试用户体验几乎让我们处于自我隔离状态,但一个安全漏洞拯救了我们

设计糟糕的冠状病毒测试用户体验几乎让我们处于自我隔离状态,但一个安全漏洞拯救了我们
这就是我,我在克罗地亚边境前写了一个脚本来枚举对 gov.tr 的 POST 请求的参数。

这一切是如何开始的

我和我的妻子环游世界并远程工作。 我们最近从土耳其搬到了克罗地亚(游览欧洲的最佳地点)。 为了不在克罗地亚进行隔离,您需要在入境前 48 小时内获得新冠肺炎检测呈阴性的证明。

我们发现在我们刚刚飞出的伊斯坦布尔机场参加考试相对有利可图(2500 卢布)并且速度很快(所有结果在 5 小时内得出)。

我们在起飞前7小时到达机场,找到了一个测试点。 他们做的一切都很混乱:你上来,给你的护照,付钱,你得到 2 张带有条形码的贴纸,你去移动实验室,他们从你那里拿走其中一张贴纸来识别你的分析。 你离开后,他们告诉你:去这个网站: enabiz.gov.tr/PcrTestSonuc, 把你的条形码和你护照的后4位开车进去,过一会儿就会有结果。

设计糟糕的冠状病毒测试用户体验几乎让我们处于自我隔离状态,但一个安全漏洞拯救了我们

但是如果分析通过后马上输入数据,页面就会报错。

设计糟糕的冠状病毒测试用户体验几乎让我们处于自我隔离状态,但一个安全漏洞拯救了我们
设计糟糕的冠状病毒测试用户体验几乎让我们处于自我隔离状态,但一个安全漏洞拯救了我们

即便如此,关于“美丽”用户体验的想法还是悄悄进入了我的脑海,其中,如果输入护照数据的操作员有任何错误,就无法找出您的结果。

在出发前

出发时间到了,我输入我的数据,看到他们的文件已经在那里,虽然还没有测试结果。

设计糟糕的冠状病毒测试用户体验几乎让我们处于自我隔离状态,但一个安全漏洞拯救了我们
设计糟糕的冠状病毒测试用户体验几乎让我们处于自我隔离状态,但一个安全漏洞拯救了我们

甚至可以清楚地看到,测试是在 1.5 小时前到达实验室的。 但是我妻子的数据输入仍然报错说没有找到该条目。 最重要的是,你不能直接去问怎么了,因为。 我们通过了护照检查前的区域测试。

登机时,我们被要求提供测试结果,但幸运的是,我们能够说服机场代表他们很快就会出现(向他们展示条形码),并且作为最后的手段,我们将进行隔离。

我一上飞机,我的代码就显示我的测试结果为阴性。

设计糟糕的冠状病毒测试用户体验几乎让我们处于自我隔离状态,但一个安全漏洞拯救了我们

抵达时

这就是乐趣的开始! 我们一飞进去连上本地wifi,结果发现数据库里没有我老婆的记录。 在边境本身,非常小心地接近这些文件:边防人员进行了冠状病毒检测,并将其带到一个单独的房间以检查其真实性。 我们决定按原样讲述我们的信任故事,并找出我们有哪些选择。

当我们排队时,我决定检查正确的(我的)和不正确的数据,以及验证页面的反应。

原来她发了一个post请求给 www.enabiz.gov.tr/PcrTestSonuc/GetPcrRaporVerifyWithKimlik,具有以下参数:

条形码No=XX
kimlikNo=YY
金利克蒂皮=2
哪里 条形码无 – 条形码编号, kimlik没有 - 护照ID, 金利克蒂皮 – 固定参数等于 2(如果只填写前两个字段)。 没有标记是可见的。 请求为正确的参数(我的数据)返回 1,为不正确的参数返回 0。

从邮递员那里,我试图对 40 种组合进行排序(突然出现一个字符的错误),但没有任何结果。

在那一刻,我们找到了边防人员,他听了我们的故事并建议隔离。 但我们显然不想在公寓里呆 14 天,所以我们要求在过境区稍等片刻,以便在几个小时内解决问题。 边防人员进了我们的阵地,看我们能不能坐到白区,征得头头的同意,说:“好吧,就几个小时。”

我开始寻找那些做过 crown 测试的人的手机,同时决定测试一个疯狂的假设:如果这个系统有如此糟糕的用户体验,那么安全系统应该不会很好,即使 gov.tr领域。

因此,在等待通话时,我编写了一个小脚本,对 kimlikNo 字段中从 0000 到 9999 的所有数字进行排序。 barkod不,我们贴了标签,所以不会错。

想象一下,即使在 500 次连续请求之后我没有被禁止并且脚本从机场 WiFi 以每秒 20 次请求的速度继续运行,我感到很惊讶。

电话并没有带来太大的成功:我被从一个部门转到了另一个部门。 但很快脚本给出了令人垂涎的值 6505,这与护照上真正的 4 位数字完全不同。

上传文件后,发现这显然不是我妻子的护照(俄罗斯外国人甚至没有这样的号码),但所有其他数据(包括名字、姓氏和出生日期)都是正确的。

设计糟糕的冠状病毒测试用户体验几乎让我们处于自我隔离状态,但一个安全漏洞拯救了我们

最有趣的是条形码也不是随机的,而是几乎一个接一个。 因此,理论上,我可以找到知道我妻子护照号码的联系人,并且通常可以顺利地抽出其他人的私人数据。

但这是一个没有睡觉的早上 9 点,我参加在线会议迟到了,很高兴他们让我们在没有隔离的情况下通过,所以我就开始了我的欧洲之旅。

来源: habr.com

添加评论