簡單聊聊在 OpenEMR 5.0.1 <Patch 5 中發現的 CVE-2018-17179、CVE-2018-17180 及 CVE-2018-17181

最近武漢肺炎疫情不停延燒、愈發嚴重,每個人都只能盡力做好自主管理、照顧好身子,也得盡量別在這期間感冒而造成額外擔憂,台灣目前仍能防治住疫情也得特別感謝政府、第一線醫護人員、防疫人員、第三方人員等等許多人的努力! 筆者我身為技術宅,不是醫護人員,只能作為普通民眾盡可能地遵從一些政策、規定以降低醫療人員的負擔,但即使如此也還是希望能替醫療界盡一份心力,所以只好發揮所長試著在醫療界不為人知、沒有直接關聯的角落作出貢獻,因此今天就來聊聊很久之前曾在開源醫療管理系統 OpenEMR 所發現的 3 個 Pre-Auth 弱點。 過去資策會資安科技研究所曾經發表過一篇文章 OpenEMR 弱點分析,分析關於他們在 OpenEMR 發現的 RCE 弱點,RCE 可以讓攻擊者直接控制整台主機,是非常嚴重的風險,值得慶幸的是弱點必須要先登入擁有權限的帳號才可觸發。但倘若攻擊者發現可以在不知道帳號密碼的前提下從匿名使用者(未登入狀態)提升權限(登入)的弱點,就能進一步擴大風險!因此我決定挖掘 Pre-Auth 的弱點並將之回報給開發者作修復以預防此類風險發生,最終發現 2 個 Pre-Auth SQ…

AIS3 2019 Pre-exam Web Write-up

最近 AIS3 2019 的課程正在進行中,於是想起堆在電腦中的 pre-exam 截圖還沒寫成 write-up,趕緊來寫篇文章。個人覺得今年度的 web 題目很優質,沒有太多通靈成分而且還帶到了許多實用知識,然而我其實沒有報名今年度的 AIS3,純粹是因為好奇而偷要到了題目玩玩看 XD 首先附上官方出題者的解答: * AIS3 2019 Pre-Exam 官方解法 by Yuankui Lee * AIS3-PreExam-2019 by Kaibro 這些解答在 pre-exam 結束後沒多久就公佈了,相信大家應該都已經看完,但我這邊還是再附上一次。 Simple Window 開啟首頁馬上就看到一個類似 Virtual Terminal 的畫面,不過這是假的。 view-source 一下就能發現 flag 的頁面在 http://ip/flag,但是直連該頁面會只看到訊息說「I catch…

0CTF/TCTF 2019 Quals: Ghost Pepper Write-up

太久沒寫文章,快速記錄一次簡單的 Web 題目。 題目敘述如下: Do you know ghost pepper? Let's eat. http://111.186.63.207:31337 點開網頁出現授權要求視窗,網站訊息提示:「karaf」,直覺猜預設帳密 karaf/karaf,即可成功通過授權驗證。 但是進去後,頁面顯示 HTTP 404,快速猜測一些常見路徑都無果。 回想起題目敘述提到「ghost pepper」,丟到 Google 搜尋,第一筆結果為維基百科「Bhut jolokia - Wikipedia」,Bhut Jolokia 是一種稱為印度鬼椒的辣椒。 於是嘗試輸入網址 http://111.186.63.207:…

HITCON 2018: Why so Serials? Write-up

Why so Serials? 是由 Orange 在前陣子剛結束的 HITCON CTF 2018 出的一道 Web 題目,題目架設在 Windows/IIS,其功能只有一個頁面 Default.aspx,題目有提供原始碼,現在可以在 Orange 的 GitHub 上找到。 該頁面有提供一個上傳功能,但幾乎阻擋了所有可能直接 RCE 的副檔名。 String[] blacklists = {".aspx", ".config", ".ashx", ".asmx", ".aspq", ".axd", ".cshtm", ".cshtml", ".rem", ".soap", ".vbhtm", ".vbhtml", ".asa", ".asp", ".cer"}; if (blacklists.Any(extension.Contains)…

DefCamp CTF Qualification 2018: Vulture Write-up

Vulture 是一道出現在 DefCamp CTF Qualification 2018 屬於 Web 類型的題目。這題很有趣,雖然是黑箱但不用通靈、猜謎,整道題可以透過各種蛛絲馬跡有邏輯性地推敲並串出完整漏洞利用來解題。 題目敘述如下: We created an online service where you can upload pictures of vultures (or other birds). Each user has a feed so you can privately enjoy the photos you took of this majestic killing machines :) Target: https:…

ASP.NET 下利用 XXE 讀取 Web.config

XXE (XML External Entity Injection) 是個對 Server 端很強力的攻擊手法,可以進而實現 Server-Side Request Forgery、Arbitrary File Read 的利用。雖然可以利用 XXE 讀取一些較簡單的私密的 config、key 檔案,但若想讀取內含 XML 使用的特殊字元 (例如: >, <) 的檔案,就會產生一些問題。今天分享其中一個如何利用 XXE 讀取 Web.config 的小技巧。 在 ASP.NET 的環境下,Web.config 是用來控制針對 ASP.NET Application 設定的重要檔案,內容通常都含有極為重要的資訊,比如可能會存放對資料庫的 Connection String、傳輸時加解密所使用的…

透過 LFI 引入 PHP session 檔案觸發 RCE

先前因為朋友分享而得知某個小站具有 LFI 漏洞,於是就想嘗試著觸發 RCE,但發現主機上檔案權限蠻嚴格的,幸好最終還是成功透過 session 檔案觸發,因為過程有幾個蠻有趣的小細節,就趕緊寫篇文章作個筆記。 該網站發生 LFI 的點原始路徑是長類似這個樣子 /file.php?file=index.html 透過以下幾個測試確認存在 LFI 漏洞 /file.php?file=./index.html<- 存在 /file.php?file=../index.html <- 不存在 /file.php?file=../../../../../etc/passwd <- 成功顯示 passwd 內容 但因為測試發現 include 語句前方串接了額外的資料夾路徑,無法嘗試 PHP Wrapper、RFI (Remote File Inclusion),猜測原始碼可能會類似 include(INCLUDE_DIRECTORY . $_GET['file']); 也沒發現能直接上傳檔案的入口,因此把策略轉為嘗試引入含有環境變數、Ac…

巴哈姆特電玩資訊站 Stored XSS

巴哈姆特電玩資訊站是台灣一個蠻大型的動漫、電玩相關論壇。去年年底的某天,閒來無事在巴哈姆特測試發文功能,意外發現到一個 XSS 漏洞。過了半年到最近才突然想起,這也是我第一次挖到網站漏洞,還不寫個 write-up 作紀念XD 不知道大家是否知道 BB Code?BB Code 是相對於 HTML 的一種極輕量化的標記語言,主要用途是讓網站論壇能夠發布含有圖片、超連結、表格等等的文章,雖然直接允許使用者嵌入 HTML 是最方便的作法,但危險性卻高出許多。後來發展出 BB Code,只允許簡單的語法限制使用者的輸入,再由網站後端將白名單中的 BB Code 轉換成對應的 HTML,以此確保論壇的安全性。 巴哈姆特同樣也使用自定義的 BB Code 來處理文章內容,參考下圖示範超連結與圖片的 BB Code。 其中「[img=url]」會被轉換成「」。突然天外飛來一道靈感,試著把網址改成「…