這是發生在國內某家高級中學全球資訊網的低級錯誤,已通報ZeroDay!
基於職業道德,不便提供此網站的網址及細部資訊。
該校首頁(PHP)利用iframe內嵌另一組新聞管理系統(ASP),由於兩個服務不能共用相同PORT,因此,首頁用PORT 80,新聞管理用PORT 8080,這樣分配很合理。不過,可能是PHP比較早建置,沒有考慮到會和ASP共用伺服器,所以將ASP網頁被當成一般文字檔。依照正常操作,瀏覽此網站並不會發現異樣,亦即,瀏覽www.XXXX.edu.tw會開啟全球資訊網首頁,首頁中間就是內嵌的新聞管理系統。
點擊新聞管理系統的「登入」鈕,會彈出登入畫面(見上圖),注意登入畫面上的URL,它是走PORT 8080(www.XXXX.edu.tw:8080/admin.asp),如果瀏覽此網址,但將8080移除,會神奇地看到admin.asp的原始碼。從洩漏的原始碼可看出後端使用MS ACCESS資料庫及其路徑,只要給予正確路徑,便能下載資料庫檔,等於把整個資料庫都拿走了!
至於怎麼修正這個錯誤呢?最簡單的作法就是不要將ASP網頁和PHP放在同一個根目錄下,只要移動ASP目錄,在IIS重新設定虛擬目錄,就能避免PHP存取ASP的資源。
有管網站的朋友,請檢查看看,是否也犯下這般烏龍失誤!
沒有留言:
張貼留言