推 iLeyaSin365: 蠻想駭喜歡的人的ig的 03/13 22:00
XSS攻擊,就是攻擊者對某個他要攻擊的網站,網站內的input欄位,寫入惡意的script,
若網站本身不對這些輸入進行處理,那麼當有不知情的使用者開啟該網站,
這段惡意script就有可能跟著網站內容一起被下載下來到使用者的電腦,
惡意script就會在不知情使用者電腦中來執行,這就是XSS攻擊。
而Thymeleaf這個類似JSP的前端渲染工具,他的語法本身即具備了防止XSS攻擊的功能。
因為Thymeleaf的語法,會將<script>開頭的字串,通通轉成是另一種格式的字串,
這樣瀏覽器看到這些被轉換後的字串,
就不會解讀成是一串script來執行,而是解讀成一串純文字。既然是純文字那呈顯就好,
這樣就避免了惡意script被執行。也就避免了XSS攻擊。
--------------------------------------------------
CSRF攻擊,是攻擊者利用某個網站對於表單登入沒有多加檢查的缺點,
偽造一個某網站的表單,這個表單與該網站的關鍵功能相關聯
,例如匯款,只要對這個表單按下確認,就會執行匯款動作。
攻擊者做出這樣的表單,接著傳送給不知情的使用者,例如透過電子郵件來傳送,
不知情的使用者點擊後,表單即會被確認,進而執行匯款動作。造成使用者的損失。
這種攻擊的防禦方法,就是利用原始使用者的資訊都會被事先保存於HttpSession內
這個特性,於表單jsp檔,渲染原始使用者的Session資訊,
這樣表單本身在傳送時,就都會一併傳送原始使用者的相關資訊,
而攻擊者的Session資訊,同時也會隨著以上的資訊,一起傳送到後端。
這樣只要後端接收到表單,拿著表單內原始使用者資訊,跟攻擊者的Session來做比較,
若兩方資料不同,即可判斷該張表單並非原始使用者發出,那就把這個請求給阻擋下來。
這樣即成功防止了CSRF攻擊。
這可以透過Spring Security來實作。
--------------------------------------
而Session hijacking,是透過攔截http請求回應中的sessionId,來偽造某個使用者的
HttpSession。
所以若是對http請求回應進行加密,即可避免被攔截到明碼的sessionId,進而避免
被偽造出使用者的HttpSession。
具體加密的方式,是告訴瀏覽器,http請求回應都要改以https來傳送。
告訴瀏覽器的方式,就是在html檔內添加設定。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.125.132.50 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/talk/M.1710327458.A.2BE.html