web安全測試--XSS(跨站腳本)與CSRF


XSS攻擊原理

反射型

發出請求時,xss代碼出現在URL中,作為輸入提交到服務器端,服務器端解析后響應,xss代碼隨響應內容一起傳回瀏覽器,最后瀏覽器解析執行xss代碼。這個過程像一次反射,故叫反射型xss

存儲型

存儲型xss和反射型xss的差別僅在於,提交的代碼會存儲在服務器端(數據庫,內存,文件系統等),下次請求目標頁面時不用再提交xss代碼。

 

 

XSS攻擊手段

反射型

反射xss存儲在URL中。

測試語句:

id=<img src="null" onerror="alert(1)"/>   主動觸發

id=<p onclick="alert('點我')">點我</p>    被動觸發

id=<iframe src="//jd.com"></iframe>     插入廣告

 

<script>alert(1)</script>

<p>skii<img src="null" alt="" onerror="alert(1)"></p>

<p>skii<img src="null" onerror="alert(1)"></p><button onclick=“alert("攻擊我")”>攻擊我</button>

javascript:alert('XSS')"

Unicode下:alert `A `

\u0061\u006c\u0065\u0072\u0074 `A `

x5h'><script>alert(1)</script>rm

<script>alert(document.cookie)</script>

"/><script>alert(document.cookie)</script>

 

存儲型

存儲xss存儲在數據庫中。

 

 

XSS防范措施

編碼

對用戶輸入的數據進行HTML Entity編碼

 

過濾

移除用戶上傳的DOM屬性,如onerror等

移除用戶上傳的Style節點、Script節點、iframe或frame節點等,不區分大小寫

對上傳的數據進行客戶端及后台程序的校驗

 

校正

避免直接對HTML Entity解碼

使用DOM Parse轉換,校正不配對的DOM標簽

 

--------------------------------------------------------------------------------------------------------------------------------------------

 

CSRF攻擊原理

CSRF是指請求迫使某個已登錄的瀏覽器(用戶)向攻擊者的Web應用發送一個請求(包含token信息cookie信息等),然后攻擊者以受害者的名義進行操作

 

CSRF攻擊手段

1、同個瀏覽器打開兩個頁面:一個頁面權限失效后,另一個頁面是否可操作成功

2、使用工具發送請求,在http請求頭中不加入referer字段,檢驗返回消息,是否重新定位到錯誤界面或者登陸界面。

如果還可以返回正常的信息就有可能存在CSRF問題。

 

CSRF防范措施

1、用戶技巧

用戶退出

多個瀏覽器進行訪問避免共享進程導致session共享

2、添加一些確認的操作

頁面上確認操作

雙因子/多因子認證

3、重新認證,要求用戶重新輸入密碼

4、session時效時間(比如設置為1小時)

5、使用token

服務器端session中增加token值

請求頭中增加token值

進行請求時對比

用戶退出或session失效token移除並銷毀

 


免責聲明!

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



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