HITCON 0 Day: https://zeroday.hitcon.org/vulnerability/ZD-2021-00767
有點忘記起因了,有一天我在 Shodan 上面亂逛時,發現到了一批在台灣的電腦,都開啟了 8081 的 Web Port,它們的 Banner 都寫了 “樂晴牙醫管理系統”
因為我有在瀏覽器安裝 DotGit , 一點進去之後就叫了,這個網站的目錄底下存在著 .git
因此可以使用 GitHack 之類的東西進行還原。
跑下去之後偷偷看了一下程式碼,一看不得了,竟然有兩個可以任意登入的方法?!
漏洞 1
在程式碼的主要登入邏輯中 ajax/checkLogin_ajax.php
可以看到
$sql="select sfsn,sfno,sfpasswd,position,isowner,sfname from staff where sfno='$id' and sfpasswd='$password' ";
這是一個超級超級裸的 SQL injection ,使用所謂的 SQL injection 萬用密碼就可以進行登入了 QQ。
- 帳號 :
' or 1=1 --
- 密碼 : 任意字串
漏洞 2 (Feature?
繼續的看同一個檔案,會發現在原始碼中留了一個寫死的預設密碼
if ($id!='' && $password!=''){
if ($id=='leyan' && $password=='0429'){
$has=1;
session_start();
$_SESSION['staffid']="leyan";
$_SESSION['staffpw']="0429";
$_SESSION['staffposition']='S';
$_SESSION['isManager']='1';
$_SESSION['staffname']='Leyan';
$_SESSION['staffsfsn']=0;
因此只需要透過帳號 leyan
以及密碼 0429
就能登入所有的系統
危害程度
該系統中有非常多牙醫診所以及病患的私密資料,如果外洩的話將造成滿嚴重的問題 QQ,內容包含但不限於病患生日、身分證字號、病歷資料、診所財務報表等。
漏洞回報日程
- 2021/10/20 發現漏洞,提交至 HITCON 0 day
- 2021/10/23 提交至 TWCERTCC-CVE
- 2021/11/2 TWCERTCC-CVE 請求複測
- 2021/12/14 HITCON 0 day 請求複測
- 2021/12/19 漏洞公開
- 2022/4/14 公開 CVE-2022-22055 、CVE-2022-22056