大葉大學 一卡通卡務管理系統 程式無加密可輕鬆破解全校門禁 - HITCON ZeroDay

Vulnerability Detail Report

Vulnerability Overview

  • ZDID: ZD-2019-01162
  •  發信 Vendor: TACERT台灣學術網路危機處理中心
  • Title: 大葉大學 一卡通卡務管理系統 程式無加密可輕鬆破解全校門禁
  • Introduction: 逆向破解

處理狀態

目前狀態

公開
Last Update : 2019/12/30
  • 新提交
  • 已審核
  • 已通報
  • 已修補
  • 未複測
  • 公開

處理歷程

  • 2019/10/06 00:55:14 : 新提交 (由 Hzllaga 更新此狀態)
  • 2019/10/06 00:58:22 : 新提交 (由 Hzllaga 更新此狀態)
  • 2019/10/06 01:24:49 : 新提交 (由 Hzllaga 更新此狀態)
  • 2019/10/06 01:25:23 : 新提交 (由 Hzllaga 更新此狀態)
  • 2019/10/06 22:44:18 : 審核未通過 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2019/10/06 23:28:49 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2019/10/07 14:16:20 : 修補中 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2019/10/07 14:16:20 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2019/10/07 14:16:20 : 修補中 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2019/12/06 03:00:02 : 公開 (由 HITCON ZeroDay 平台自動更新)
  • 2019/12/18 09:44:29 : 已修補 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2019/12/30 03:00:03 : 公開 (由 HITCON ZeroDay 平台自動更新)

詳細資料

  • ZDID:ZD-2019-01162
  • 通報者:haihai (Hzllaga)
  • 風險:中
  • 類型:資訊洩漏 (Information Leakage)

參考資料

暫無資料
(本欄位資訊由系統根據漏洞類別自動產生,做為漏洞參考資料。)

相關網址

http://lotus.dyu.edu.tw/download.htm

敘述

目前只對門禁系統有興趣,其他電算中心開發的軟體沒去測試,可能也能破解。

起因是看到Dcard上面一個學生PO的留言說門禁可以破解,剛好現在有時間了就來試一下,以前都是以為偷拷樓長卡的卡號而已(測試可行),現在發現是真的可以很簡單就破解掉。
圖片

首先到電算中心校園資訊服務系統下載區下載門禁系統

http://163.23.1.82/ga_main/ecard1080809.exe

使用exeinfope查殼,發現未加殼,也沒有混淆代碼,並且得知是.NET 2005開發的程式,可以直接用DnSPY反編譯。
圖片
圖片

"Provider=ASEOLEDB.1;Data Source=1********9,2500;Initial Catalog=GA;User ID=d******r;Password=p*******r;Location='';Connection Timeout=120;Mode=ReadWrite;Extended Properties='';initializationstring=set char_convert off;charset=big5;"

是用OLE DB去連接Sybase的資料庫,並且資料庫處於學校內部網路中,因為學校各個web系統都有許多漏洞,很輕鬆就能用一個同IP段的webshell將Sybase的port用ngrok轉發到公網IP上。
圖片

其實到這邊就能直接看程式碼對資料庫CRUD,不過既然程式都開發好了,就拿現成的來用就好了,比較方便

查了下DB的版本,是12.5.4,比較舊,ASEOLEDB.1我花了幾小時還是沒找到能用的driver,最後直接改程式碼,用其他的driver替代,順便把一些功能DEBUG,不然一直連不上去DB。
圖片


[Provider]
ProviderName=Sybase ASE OLE DB Provider
ClsID={DDACBAD3-9F47-7379-96DA-00105A17E92A}

[Properties]
Initial Catalog=GA
Connect Timeout=15
Server Name=f*******m
Network Protocol=Winsock
Server Port Address=1***8
Optimize Prepare=Partial
Select Method=Direct
Raise Error Behavior=MS Compatible
Print Statement Behavior=MS Compatible
Extended ErrorInfo=FALSE
Stored Proc Row Count=Last Statement Only
Row Cache Size=50
Enable Quoted Identifiers=0
Packet Size=1
Default Length For Long Data=1024
UseSybaseLDAP=0
SybaseServerName=389
UseLDAPHAServer=0
Use SSL=0
EnableSPColumnTypes=True
TruncateTimeTypeFractions=1
Description=card
Tightly Coupled Distributed Transactions=0

然後是程式的登入,這個也簡單,直接看程式碼的SQL語句去資料庫撈帳號就好。
圖片

最後就是可以開心的玩學校各個卡機了,可以自由進出各個宿舍樓層、學校研究室等等,或是可以直接看別人的卡號直接拷貝一張IC卡,學校的卡機只認卡片UID,只要一樣就可以刷過。
圖片
圖片

修補建議

(1) .NET程序如果要公開下載要混淆代碼,不然就不要開放。

(2) 限制內部網路登入需要把整個IP段的系統安全都顧好,不然外網可以很輕鬆的拿來當跳板連接資料庫。

擷圖

留言討論

聯絡組織

 發送私人訊息
您也可以透過私人訊息的方式與組織聯繫,討論有關於這個漏洞的相關資訊。
;