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、傳輸時加解密所使用的…

Pwn2Win 2017 Write-up: Web - Criminals

最終解開這道題目時,發現其實並不困難,但因作者我還是個菜雞,且對這道題目的服務所使用的工具完全沒接觸過,過程中繞了許多圈子、走了許多歪路,不過也累積了不少有用的經驗,於是就來為這道題目寫篇 Write-up,同時也詳細記錄下我所走的各種歪路 (´; ω ;`) 原始的題目說明很單純: Criminals Hey, Rebellious member, let's hack this Bloodsuckers web app. I think they keep some secret. 點開網頁應用程式的連結,也是一個很單純的搜尋頁面: 簡單嘗試一下 /robots.txt、/.git/、/.svn/ 等路徑,發現都是 404 的結果,再配合題目敘述,推測可能是要打 SQL Injection。 嘗試 Fuzzing 所有的欄位,直接全部輸入一些奇怪符號「aaa'"'#,」,順利噴出一連串錯誤訊息,…

透過 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]」會被轉換成「」。突然天外飛來一道靈感,試著把網址改成「…

Apricity OS: 安裝中文輸入法 fcitx-chewing

Apricity OS 秉持 Simple 的原則,系統安裝完預設是不會有其他額外輸入法存在,因此必須了解如何自行安裝中文輸入法。介紹如何在 Apricity OS 中安裝 Linux 常見的 fcitx 輸入法框架、經典的新酷音注音輸入法以及可能碰上的問題。 安裝 fcitx fcitx 綽號為「小企鵝輸入法」,相較於另一款常見 Linux 下的 ibus 輸入法引擎,我個人比較習慣使用 fcitx。新酷音輸入法 (chewing) 是 Linux 下知名的中文注音輸入法,不同的是,chewing 需要仰賴 fcitx、ibus 等輸入法軟體才能使用。 需要安裝的項目有三項: 1. fcitx-im : 此為 fcitx 的本體,fcitx-im 會安裝所有需要使用到的附加套件,包含 fcitx、 fcitx-gtk2、…

Apricity OS: 什麼?你也想安裝 Apricity?

常有人看到我的筆電作業系統有點潮,就來詢問是什麼系統,因此就來寫一篇介紹 Apricity OS 的文章,這樣下次有人詢問就能直接貼文章給他XD 關於 Apricity OS Apricity OS 是一款基於 Arch Linux 的作業系統,意即 Apricity 為 Arch Linux 的衍生物,而 Arch Linux 則是常聽見的著名開源作業系統 Linux 的眾多發行版之一。 * Apricity OS 官網 * 知識補充:維基百科 - Arch Linux * 知識補充:維基百科 - Linux Apricity 在官網的標語為 Simple, Beautiful, Linux. 可以看出 Apricity 的目標是造出一款輕量、優美的 Linux…

Digital Ocean: 申請自己的虛擬主機伺服器

筆者第一次搞自己的伺服器來玩,因為認識的朋友是使用 Digital Ocean,看了一下介紹也覺得價格蠻實惠的,還大方採用 SSD 固態硬碟,所以就選擇 Digital Ocean 來申請伺服器,順便也寫篇文章來記錄一下流程。 所以 Digital Ocean 是什麼? Digital Ocean 是一家美國的主機商,專門提供虛擬專用伺服器 (VPS, Virtual Private Server) 的雲端服務。 至於 VPS 是什麼?只要知道基本上功能和一台伺服器主機一樣就對了! 所以我們只要向 Digital Ocean 註冊,再花一點小小的錢就可以擁有自己的伺服器! 註冊帳號 你可以選擇兩種方式註冊: 1. 直接到官網註冊:直接註冊的話,你只能獲得0額度的全新帳號。 2. 透過邀請連結註冊:如果你使用我的邀請連結註冊的話,你將可以獲得免費 USD$ 10 的額度,而且使用上沒有任何影響。 點我直接註冊…