開發人員通常直接使用或連線潛在的易受攻擊的輸入與檔案,或假設輸入檔案是有效的。如果未正確檢查資料,則可能導致Web伺服器處理或呼叫易受攻擊的內容。
一些經典的例子包括 -
.jsp
檔案上傳到Web目錄中。.gif
進行調整大小。.exe
檔案上傳到Web目錄中。第1步 - 啟動WebGoat並導航到惡意檔案執行部分。如下所示-
第2步 - 為了測試演示,我們需要在上述位置上傳guest.txt。
第3步 - 我們建立一個jsp
檔案,以便在執行jsp時建立guest.txt
檔案。由於我們執行jsp來建立檔案,因此jsp在此上下文中沒有任何顯示。
<HTML>
<% java.io.File file = new
java.io.File("C:\\Users\\username$\\.extract\\webapps\\WebGoat\\mfe_target\\guest.txt");
file.createNewFile(); %>
</HTML>
第4步 - 這裡將上傳jsp檔案並在上傳後複製相同的連結位置。上傳期望的是圖片,但這裡上傳的一個jsp檔案。
第5步 - 通過導航到jsp檔案,將不會向使用者傳送任何訊息。
第6步 - 現在重新整理已上傳jsp檔案的對談,將收到訊息「* Congratulations. You have successfully completed the lesson」。
- 使用網站許可權保護網站。
- 採用Web應用安全對策。
- 了解IIS 7.0中的內建使用者和組帳戶。