[突發][有圖] 手帶 App 的命運被孟加拉人操控

470 回覆
876 Like 13 Dislike
2020-03-26 21:30:44
TL;DR 給不是IT人的你

香港政府的手帶 App 可能因「貪方便」而使用了一個名為 Humayan Kabir 的孟加拉開發者的程式碼,所以現在全香港《居安抗疫》資料,都掌握在這位外國勢力手上。他明天可以開始收集所有手帶人士電話號碼再轉售,甚至乎明天他加上要求大家輸入信用卡資料的空格,也是絕對可行的。

此乃屬於嚴重安全漏洞。在政府未修正這問題之前,盡可能不要在此程式中輸入任何敏感的個人資料。

如果你有興趣知道更多這漏洞的原理,請繼續往下閱讀或睇片。

https://www.youtube.com/watch?v=53aV2KXQ8wg
2020-03-26 21:31:00
今朝,小狗我發現監察手帶 app 《居安抗疫》的下載頁問題之後,想起有巴打表示連遞交表格都不成功,於是就嘗試下載這個《居安抗疫》程式的 Android 版,把它 decompile (反向編譯),看一看箇中問題,希望為 OGCIO (政府資訊科技總監辦公室) 找一些 bugs,然後讓有手帶的人成功遞交表格,怎料卻發現嚴重漏洞

先發現一個網頁表格

原本只是找一找遞交表格的伺服器 Endpoint,看看會不會有些 Error Code 能找到端倪。怎料在 RegisterInfoActivity 這個 Android 畫面上(Android 中所有用戶能看到的畫面都稱為 Activity),看到有一個類似 WebView 的東西,應該是當用戶掃描 QR Code 後,便會引導到一個網頁中繼續填寫資料。
  C2231a aVar2 = new C2231a();
  aVar2.mo5010c("https");
  aVar2.mo5009b("eqapp1.hqss.ogcio.gov.hk");
  String str2 = "/shs/www/equar/index";
  int i = 0;
  while (true) {
      int a2 = C2124e.m4129a(str2, i, 20, "/\\");
      int i2 = a2;
      aVar2.mo5008a(str2, i, a2, a2 < 20, false);
      i = i2 + 1;
      if (i > 20) {
          break;
      }
  }
  aVar2.mo5006a("www_header_token", "ODk1MGQwNzkyZmIxM2Q4MjI0ZjQxY2U4");
  aVar2.mo5006a("lang", a);
  aVar2.mo5006a("user_sn", sb.toString());
  aVar2.mo5006a("info.family", String.valueOf(list2.size()));
  webView.loadUrl(aVar2.mo5007a().f6202i);
2020-03-26 21:31:16
發現網頁表格的問題

在手機 app 中使用網頁來讓用戶填寫資料本來沒有什麼問題,還節省了開發成本,讓 iOS 和 Android 兩個平台都能夠使用得到。不過當我們打開這個網頁時,便發現有一個很嚴重的問題,以下為網頁的部份原始碼:
<script src="https://technext.github.io/drug/js/vendor/modernizr-3.5.0.min.js"></script>
<script src="https://technext.github.io/drug/js/vendor/jquery-1.12.4.min.js"></script>
<script src="https://technext.github.io/drug/js/ajax-form.js"></script>
<script src="https://technext.github.io/drug/js/waypoints.min.js"></script>


(因應連登的安全保護,以上代碼有稍為修改)

這部份是一些加入其他網站 JavaScript 的 HTML。在一般情況下,我們會使用其他開發者所創立的組件 (Framework/Library),減省我們自己開發的時間。不過,由於很多任何人都能夠公布組件,我們永遠不知道有沒有不懷好意的開發者,在他們的 JavaScript 中放入惡意代碼,所以我們使用任何人的組件時,必須選擇有信譽和來源可靠的組件。

而這個 app 用的是什麼組件呢?驟眼一看,modernizr、jquery、bootstrap 都是常見的工具,很多網站都有使用。

不過,部份工具的來源,卻是來自一個叫 technext.github.io 的網站,這個網站是誰控制的呢?是不是政府擁用的?

所有 github.io 其實都是由著名網站 Github 提供的免費寄存服務,我們可以輕易把網址改一改動,就知道這個寄存空間的擁用人是誰,只要把 github.io 前置的名字,改為 https://github.com/名字 就能找到。於是,我們一起來看看 https://github.com/technext 到底是何許人:



竟然是一位名為 Humayun kabir 的孟加拉開發者。
2020-03-26 21:33:00
有無諗過佢都係中國人
2020-03-26 21:34:10
好勁,咁都發現到

利申:唔識
2020-03-26 21:34:38
特登整個漏洞出黎方便監控,咪踢爆人
2020-03-26 21:36:32
推1
2020-03-26 21:36:58
唔出奇

呢個漏洞都算係好低手,我都唔明點解會咁做
2020-03-26 21:37:26
大把港共app監視緊
2020-03-26 21:37:35
2020-03-26 21:37:35
Push
2020-03-26 21:38:28
2020-03-26 21:39:27
呢個漏洞算好易搵,話唔定仲有更多漏洞未知

外國有一啲 bug bounty program,鼓勵+獎勵啲 developers/hackers 去 report 呢啲咁嘅錯誤。如果香港有,應該唔輪到我搵到。我真係見到今朝個手帶 post 先忽發奇想拆黎睇下
2020-03-26 21:39:49

用咗大家嘅錢去做咁低手嘅 app
2020-03-26 21:40:09
創科局500億
2020-03-26 21:40:56
IT狗又立下大功
2020-03-26 21:42:05
你用咩app拆?
2020-03-26 21:43:24
google "decompile android" 已經有一大堆網上嘅工具隨時可拆 apk

2020-03-26 21:45:11
如果填假資料會點?
2020-03-26 21:47:50
呢個問返衞生署
2020-03-26 21:48:07
好似好勁咁
2020-03-26 21:48:39
題外話,反編譯係大陸叫法,香港,台灣係叫反組譯
2020-03-26 21:51:13
一開始重以為係改歌詞,一路認邊首歌一路入,入到嚟發現認真post
2020-03-26 21:51:26
咁撚小事都要3rd party痴撚線
HK NO IT
吹水台自選台熱 門最 新手機台時事台政事台World體育台娛樂台動漫台Apps台遊戲台影視台講故台健康台感情台潮流台上班台財經台房屋台飲食台旅遊台學術台校園台汽車台音樂台創意台硬件台攝影台玩具台寵物台軟件台活動台電訊台直播台站務台成人台黑 洞