網站攻擊的方式有哪幾種


1、xss(跨站腳本攻擊):富文本、評論

利用站點開放的文本編輯並發布的功能,輸入並執行js腳本,竊取cookie等敏感信息。

預防方法:

方法一:cookie添加httpOnly屬性,這是使用js是不能讀取和操作cookie的。

方法二:在cookie中添加校驗信息。

方法三:對用戶輸入進行編碼(encode)、過濾(移除style、script、iframe相關節點)、校正()

js編碼解碼:
1、使用參數時,使用encodeURIComponent
2、進行url跳轉時,使用encodeURI
3、js使用數據時,使用escape
 
2、csrf(跨站請求偽造):支付扣款

偽造用戶的請求,冒充用戶在站內進行操作。

方法一:使用referer來判定來源頁面

方法二:關鍵操作只接受post請求,因為get請求的參數攜帶在url中,很容易模擬。

方法三:在http請求中加上token,並在服務器端驗證這個token。

方法四:登錄、支付的頁面加上一些用戶互動,比如驗證碼,確保當前請求是用戶發起的。

兩者的區別:

1、xss不需要登錄;csrf需要用戶先登錄獲取到cookie;

2、xss是在網站A注入js代碼,然后執行js代碼,達到篡改網站A的內容;

csrf利用網站A的漏洞,去請求網站A的api。

 

Cookie和Token都存需要放在Header里面,為什么只劫持前者?

1、http是無狀態的,為了使域名下的所有網頁能共享某些數據,因此出現了session、cookie以及token。

2、cookie是用於記錄用戶狀態的一種方式,裝有sessionId,由服務端設置,存儲在客戶端在每個請求中會自動攜帶。

3、token是無狀態的,用戶信息都被加密到token中,服務器收到token后解密就可以知道是哪個用戶,token不會在請求中自動攜帶,而需要手動添加。

cookie:用戶點擊了鏈接,cookie未失效情況下,后端以為是用戶的正常操作,於是進行扣款等操作。

token:用戶點擊鏈接,由於瀏覽器不會自動帶上token,即使發了請求,但是后端token驗證不通過。


免責聲明!

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



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