您好,登錄后才能下訂單哦!
這篇文章給大家介紹IKEA.com本地文件包含漏洞以及PDF解析的巧妙利用是怎樣的,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
本地文件包含(LFI)漏洞是一種危害性較大的漏洞類型。一旦出現攻擊者將可能利用其,讀取文件源碼或敏感信息,包含惡意文件,執行任意代碼,甚至控制服務器等。大多數LFI攻擊都是由動態加載圖像或其他文件的代碼引起的。如果請求的文件名或路徑未做正確驗證,就會造成該漏洞的發生。
宜家是世界上最強大的品牌之一;在福布斯排行榜中為前50名。毫不夸張的說,每個人家里都至少有一件產品來自宜家;我愛IKEA!你呢?可以在評論中告訴我你最喜歡的宜家產品。
除了宜家的產品外,另一個值得我稱贊的地方就是,他們擁有大量且設計合理的網站和應用程序。為了更好的用戶體驗,他們還為此開設了一個bug賞金計劃,允許我們安全的滲透測試他們的平臺并發布,只要我們遵守漏洞披露規則。下面,就讓我們試一試吧!
大多數時候我都是從枚舉子域開始的,Aquatone是我最常用的一款枚舉工具。該工具會在不同的公共域數據庫中查找域,并返回活動子域列表,包括屏幕截圖等。了解有關Aquatone的更多信息,請查看Apple.com報告中的Unrestricted File Upload(無限制文件上傳漏洞)。
經過一番查找,其中一個Bathroomplanner.IKEA.com的子域引起了我的注意。這是宜家提供的一個在線規劃工具,主要是為客戶體提供靈感和現成的浴室解決方案。通過它客戶可以查找產品,并將其添加到自己的浴室產品列表中。除此之外,還可以通過電子郵件發送產品列表,或以PDF格式下載至本地保存。生成的PDF文件包含一些文本和產品圖片信息。如下:
到這里我有個疑問,這個PDF是如何生成的呢?
讓我們打開burp通過攔截瀏覽器和宜家服務器之間的流量來一探究竟。我們打開首頁,并嘗試將產品添加到我們的列表中。
可以看到這里有幾個非常有意思的字段:
data:包含產品和圖片代碼的JSON blob,沒有文件路徑
shopping:包含我們產品列表的JSON blob,沒有文件路徑
pdf:一長串字符,內容不明
images:一些base64編碼后的圖片
當你看到一長串字符時,請務必檢查其是否為Base64編碼的字符串。Base64編碼常用于文件的數據傳輸。這里推薦大家一個在線的base64字符串編碼解碼網站:http://decodebase64.com/
如果我們將該字符串直接粘貼到解碼器中,你會發現解碼出錯;這是因為該字符串中包含有%之類的無效字符。這也說明該字符串可能也經過了URL編碼,所以在Base64解碼之前,我們先進行URL解碼。同樣,推薦大家一個在線的URL解碼和編碼網站:https://meyerweb.com/eric/tools/dencoder/
進行URL解碼后,再Base64解碼我們將得到以下字符串:
這看起來有點意思。當我們將產品添加到列表中,它會為宜家Web服務器提供一些用于生成PDF購物清單的模板。
如果我們能夠將本地服務器文件包含到此PDF中,會發生什么? 例如圖片?試試看,我將<img src=”/etc/passwd”>添加到了該模板,并進行了Base64和URL編碼,替換Burp Suite中的pdf參數并Forward。
長話短說,這并不起作用。PDF生成器無法將該文件識別為圖片,并且不會在輸出中解析它...
也許我們可以找到另一種在PDF中包含文件的方法?首先,我們要弄清楚的是生成PDF的工具是什么?我們可以通過Google搜索模板中的一些獨特字符串來得到答案。
搜索結果為我們提供了兩個選擇,node-html-pdf庫或mPDF庫。在快速瀏覽了它們的文檔后,最終我確定在該項目中使用的為mPDF庫。
我們立刻制作了一個mPDF的本地副本,以便檢查它是否存在安全漏洞。最好的起點是CHANGELOG,開發人員通常使用該文件來跟蹤版本之間的變化。
可以看到在2017年10月19日,mPDF改變了他們處理注釋標簽的方式。因此,讓我們仔細查看文檔中的該標簽。
這里并沒有提及任何文件包含的相關內容。讓我們再次Google搜索,看看是否有其他人發現過這類問題。
在閱讀了h0ng10的漏洞報告后我們得知,在舊版本的mPDF存在嚴重的安全問題,攻擊者能夠通過注釋標記包含文件。
仔細查看該項目的Github提交后,我發現其中展示的一段易受攻擊的mPDF代碼。
因此,我們可以更改PDF的模板嘗試包含該標簽并利用。讓我們看看IKEA是否忘記將庫更新到最新版本。
我們將以下標記添加到模板中:
<annotation file=\”/etc/passwd\” content=\”/etc/passwd\” icon=\”Graph\” title=\”Attached File: /etc/passwd\” pos-x=\”195\” />
使用Burp Suite Repeater發送新模板并下載PDF文件。然后用Foxit Reader打開文件,并尋找黃顏色的注釋標記。
雙擊該標記,我們就能打開并查看服務器上的文件啦!
IKEA.com允許用戶在購物清單導出過程中操縱PDF模板。而其使用的PDF庫包含了一個隱藏功能,即允許通過在模板中添加特定標記將文件嵌入到PDF中。該功能已在其最新版本中禁用,而IKEA卻未進行及時的更新,因此才導致了安全問題的發生。
絕不要允許用戶操縱PDF模板
在客戶端渲染包含購物清單的PDF,例如使用jsPDF
更新到最新版本的mPDF庫,禁用注釋代碼
關于IKEA.com本地文件包含漏洞以及PDF解析的巧妙利用是怎樣的就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。