最新国产好看的视频,伊人天堂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 防護(hù)
@RequestMapping("/")
public class IndexController {
?
    @GetMapping("/xss")
    public String xssGet(String data){
        System.out.println(data);
        return data;
    }
}

測試

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

設(shè)置XSS防護(hù)

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

總結(jié)

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

相關(guān)文章

最新評論

淄博市| 华容县| 南开区| 阜南县| 北川| 延长县| 永定县| 屏东市| 大冶市| 东莞市| 鹿邑县| 稻城县| 噶尔县| 交城县| 竹山县| 龙川县| 郑州市| 民乐县| 夏河县| 和田市| 宜州市| 嘉义县| 伽师县| 嘉峪关市| 盘山县| 宣武区| 玛纳斯县| 景东| 大同市| 区。| 丘北县| 昌吉市| 诏安县| 东光县| 遵义县| 信阳市| 东丽区| 常德市| 阿克苏市| 东兴市| 潜江市|