本篇介紹了以下代碼安全問題
1、路徑遍歷:ZIP條目覆蓋
2、訪問權限修飾符控制
3、基於文件的跨區域腳本
4、JavaScript劫持
5、不安全的JNI
6、Bean操縱
7、通過黑名單來防止反序列化漏洞
8、不安全的HTML清除策略
9、OGNL表達式注入:動態方法調用
10、缺少表單驗證
1、路徑遍歷:ZIP條目覆蓋
詳細信息
程序在解壓zip文件時,由於沒有對文件名進行合法性的校驗,而是直接將文件名拼接在待解壓目錄後面,導致可以將文件解壓到正常解壓縮路徑之外並覆蓋可執行文件,從而等待系統或用戶調用他們實現代碼執行(也可能是覆蓋配置文件或其他可敏感文件)。
例1:以下代碼示例解壓zip文件。
...
File sourceFile = new File(sourceName);
ZipFile zipFile = null;
try