最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot如何使用mica-xss防止Xss攻擊

 更新時間:2024年01月12日 15:49:35   作者:龍域、白澤  
這篇文章主要介紹了SpringBoot如何使用mica-xss防止Xss攻擊問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

Xss攻擊介紹

XSS攻擊又稱 跨站腳本攻擊,通常指利用網(wǎng)頁開發(fā)時留下的漏洞,通過巧妙的方法注入惡意指令代碼到網(wǎng)頁,使用戶加載并執(zhí)行攻擊者惡意制造的網(wǎng)頁程序。

通俗的講就是通過web應(yīng)用可輸入?yún)?shù),輸入script腳本實現(xiàn)xss攻擊。

主要防御措施是通過web頁面關(guān)鍵字特殊字符過濾。

XSS攻擊的原理:攻擊者會在web頁面中插入一些惡意的script代碼。

當(dāng)用戶瀏覽該頁面的時候,那么嵌套在該頁面的代碼就會執(zhí)行,因此會達(dá)到攻擊用戶的目的。

那根據(jù)這個原理,實際上如果沒有做任何的限制,有心人就可以為所欲為了。

可以在里面嵌入一些關(guān)鍵代碼,把你的信息拿走。確實是個很嚴(yán)重的問題。

需求概述

在常見的開發(fā)中需要注意xss跨站腳本的攻擊,需要對參數(shù)關(guān)鍵字做一些校驗與過濾,避免將script腳本存入數(shù)據(jù)庫或者造成數(shù)據(jù)泄漏等安全問題。

實例

在前端form表單的輸入框中,用戶沒有正常輸入,而是輸入了一段代碼:

</input><img src=1 onerror=alert1> 

這個正常保存沒有問題。

問題出在了列表查詢的時候,上面的代碼就生效了,由于圖片的地址亂寫的,所以這個alert就起作用了來看圖。

XSS攻擊分類

  • 反射型 XSS:通過將XSS攻擊代碼放在請求URL上,將其作為輸入提交到服務(wù)器端。當(dāng)服務(wù)器端解析提交后,XSS代碼會隨著響應(yīng)內(nèi)容一起傳回瀏覽器,最后瀏覽器解析并執(zhí)行XSS代碼。由于整個過程像一個反射,因此稱為反射型XSS。如發(fā)起如下請求:https://www.域名.com/index.php?xss=<script>alter(xss攻擊)</script>。
  • 存儲型 XSS:與反射型XSS“相似”,但不同的是提交的XSS代碼會被存儲在服務(wù)器端,當(dāng)下一次請求該頁面時,不用提交XSS代碼,也會觸發(fā)XSS攻擊。例如當(dāng)進(jìn)行用戶注冊時,用戶提交一條包含XSS代碼的注冊信息到服務(wù)器端,當(dāng)用戶查看個人信息時候,那些個人信息就會被瀏覽器當(dāng)成正常的HTML和JS解析執(zhí)行,從而觸發(fā)了XSS攻擊。
  • DOM XSS:與反射型和存儲型XSS不同之處在于,DOM XSS不需要服務(wù)器的參與,通過瀏覽器的DOM解析即可觸發(fā)XSS攻擊,避免了服務(wù)器端的信息檢驗和字符過濾。如發(fā)起如下請求:https://www.域名.com/index.html#alert(xss攻擊)

mica-xss

介紹

Mica,Spring Cloud 微服務(wù)開發(fā)核心包,支持 web 和 webflux。

mica-xss組件說明

  • 對表單綁定的字符串類型進(jìn)行 xss 處理。
  • 對 json 字符串?dāng)?shù)據(jù)進(jìn)行 xss 處理。
  • 提供路由和控制器方法級別的放行規(guī)則。

導(dǎo)入依賴

<dependency>
	<groupId>net.dreamlu</groupId>
	<artifactId>mica-core</artifactId>
	<version>2.0.9-GA</version>
</dependency>
<dependency>
	<groupId>net.dreamlu</groupId>
	<artifactId>mica-xss</artifactId>
	<version>2.0.9-GA</version>
</dependency>

mica-xss 配置

@XssCleanIgnore

添加注解@XssCleanIgnore跳過XSS過濾,該注解可作用于類上和方法上

import net.dreamlu.mica.xss.core.XssCleanIgnore;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
?
@RestController
@XssCleanIgnore //設(shè)置該注解 用于跳過配置的Xss 防護
@RequestMapping("/")
public class IndexController {
?
    @GetMapping("/xss")
    public String xssGet(String data){
        System.out.println(data);
        return data;
    }
}

測試

參數(shù)為:<script>alert(666)</script>

設(shè)置XSS防護

去掉注解 @XssCleanIgnore ,則data的值為空字符串

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

孝感市| 宜宾县| 靖江市| 玉树县| 长乐市| 秦安县| 松阳县| 宣化县| 开远市| 宁德市| 西乌珠穆沁旗| 乌兰浩特市| 信阳市| 合川市| 邻水| 岐山县| 卓尼县| 阿鲁科尔沁旗| 九台市| 山丹县| 宝清县| 永宁县| 宁晋县| 松潘县| 庆安县| 原阳县| 铁力市| 天等县| 寿宁县| 成都市| 黑河市| 平邑县| 深水埗区| 万年县| 手机| 凌海市| 天门市| 晋宁县| 达日县| 云龙县| 巴中市|