2014-04-24 142 views
0

我正在使用一個軟件,它通過一個應用程序安全性來指示「可能不安全」的行代碼。outputStream寫一個byteArray - XSS預防

考慮下面的代碼的應用程序是簽訂outputStream.write()線在網頁中

response.addHeader("Content-Disposition","attachment; filename=" + Util.NeutralizeFileName(filename)); 
byte[] bytes = obj_Data.getBytes("File"); 
ServletOutputStream ouputStream = response.getOutputStream(); 
ouputStream.write(bytes, 0, bytes.length); 
ouputStream.flush(); 
ouputStream.close(); 

其實腳本相關的HTML標記的不當中和的指責,我不寫一個HTML頁面,但文件下載。並且在將其轉換爲字節之前的所有數據正在驗證和中和。

所以,我的問題是:這是一個虛假的警告?如果不是,我該怎麼做才能正確驗證?

回答

0

在一些安全分析引擎(如我的情況)分析中的應用標誌的任何領域,其中軟件寫出來的數據與數據來源於外界(用戶爲例),這被認爲是出了信任邊界

因此,它不一定是虛假警告但分析應用程序的設計行爲可能無法理解輸出的上下文(無論是html還是一個字節文件)。

我可以提供的最好建議是諮詢應用程序支持或文檔本身,您可以檢索用於標記軟件不安全區域的標準信息。

1

用戶仍然可以選擇在瀏覽器中打開文件。例如,在IE中,用戶經常會得到一個對話框,他/她可以在取消,保存和打開之間進行選擇,其中打開將在當前選項卡中打開。儘管你可以通過使用頭來禁用打開。這是否容易受到xss的影響還取決於內容類型。它是HTML嗎?