一、XSS攻擊 全稱跨站腳本攻擊,簡稱XSS攻擊,攻擊者通過在目標網站上HTML註入篡改網頁來插入惡意腳本, 當用戶在瀏覽網頁時獲取用戶的cookie等敏感信息,進一步做一些其他危害的操作。 根據攻擊的來源,該攻擊還可以分為: 1)存儲型攻擊:一般是在有評論功能的網站將惡意代碼當作評論內容存儲到服務 ...
一、XSS攻擊
全稱跨站腳本攻擊,簡稱XSS攻擊,攻擊者通過在目標網站上HTML註入篡改網頁來插入惡意腳本,
當用戶在瀏覽網頁時獲取用戶的cookie等敏感信息,進一步做一些其他危害的操作。
根據攻擊的來源,該攻擊還可以分為:
1)存儲型攻擊:一般是在有評論功能的網站將惡意代碼當作評論內容存儲到服務端,受害者再次瀏覽網頁,就會自動解
析評論內容並執行,比較簡單是輸入一個三方伺服器的腳本(發送一個請求都三方伺服器)到評論區,其他用戶查看時,
就會獲取這個腳本,並執行腳本的內容,就可以獲取到用戶的cookie
2)反射型攻擊:也稱為非持久型XSS,惡意代碼並沒有存儲到目標網站的伺服器中,而是通過一個具有誘惑性的鏈接跳轉到目標網站,
當然這個鏈接除了正常的參數外還會有惡意代碼,經常用來獲取cookie;比如用戶現在登陸了A網站,
然後在其他網站看到一個一刀萬點暴擊的游戲鏈接(鏈接中模擬原網站的搜索介面同時在參數中下發了一個請求),然後被動跳轉到目標網站,
目標網站將惡意代碼返回到頁面被瀏覽器執行,就可以被獲取到cookie信息
3)DOM型攻擊:與前兩種不同,不需要和服務端進行交互,攻擊者構建被攻擊網站的URL,URL參數中包含可執行的語句,比如eval或者innerHTML,通過誘惑性
的鏈接訪問該連接後就可以執行惡意代碼
防範措施:
1)前端進行輸入過濾,將特殊字元進行轉義或者輸入限制,同時後端對特殊字元進行轉義
2)設置HttpOnly,XSS的攻擊目標主要是獲取用戶的cookie,設置此屬性可以防止獲取cookie
3)開啟CSP,為頁面的內容安全制定一系列防護措施,通過CSP可以指定資源文件的來源,避免跨域操作等
二、CSRF攻擊
跨站請求偽造,攻擊者獲取到用戶的cookie等登陸信息後,模擬網站請求進行攻擊操作,比如刪除帖子、銀行轉賬
防範措施:
1)數據修改的請求儘量使用post而不是get請求
2)服務端判斷請求頭中Refer或者Origin的來源,對非本網站的進行過濾
3)用戶登陸後,生成一個有時效的隨機token,每個請求發起時攜帶該token,服務端判斷token的真實性,這種token攻擊者無法偽造