电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Spring Boot XSS 攻擊過濾插件使用

瀏覽:122日期:2023-07-29 16:55:21

XSS 是什么

XSS(Cross Site Scripting)攻擊全稱跨站腳本攻擊,為了不與 CSS(Cascading Style Sheets)名詞混淆,故將跨站腳本攻擊簡稱為 XSS,XSS 是一種常見 web 安全漏洞,它允許惡意代碼植入到提供給其它用戶使用的頁面中。

xss 攻擊流程

Spring Boot XSS 攻擊過濾插件使用

簡單 xss 攻擊示例若網站某個表單沒做相關的處理,用戶提交相關惡意代碼,瀏覽器會執行相關的代碼。

Spring Boot XSS 攻擊過濾插件使用

解決方案

XSS 過濾說明

對表單綁定的字符串類型進行 xss 處理。 對 json 字符串數據進行 xss 處理。 提供路由和控制器方法級別的放行規則。

使用 mica-xss

引入一下 依賴即可

<!--XSS 安全過濾--><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>

測試 XSS 過濾

測試 GET 參數過濾創建目標接口,模擬 get 提交

@GetMapping('/xss')public String xss(String params){ return params;}

返回為空

⋊> ~ curl --location --request GET ’http://localhost:8080/xss?params=%3Cscript%3Ealert(%27xxx%27)%3C/script%3E’

測試 POST form 參數過濾創建目標接口,模擬 post form 提交

@PostMapping('/xss')public String xss(String params){ return params;}

返回為空

curl --location --request POST ’http://localhost:8080/xss’ --header ’Content-Type: application/x-www-form-urlencoded’ --data-urlencode ’params=<script>alert(’’’xxx’’’)</script>’

測試 POST body 參數過濾創建目標接口,模擬 post body 提交

@PostMapping('/xss') public String xss(@RequestBody Map<String,String> body){ return body.get('params'); }

返回為空

curl --location --request POST ’http://localhost:8080/xss’ --header ’Content-Type: application/json’ --data-raw ’{ 'params':'<script>alert(’’’XXX’’’)</script>'}’

跳過某些接口過濾

可以使用 @XssCleanIgnore 注解對方法和類級別進行忽略。

@XssCleanIgnore@PostMapping('/xss')public String xss(@RequestBody Map<String,String> body){ return body.get('params');}

原理分析

常見實現剖析

目前網上大多數的方案如下圖,新增 XssFilter 攔截用戶提交的參數,進行相關的轉義和黑名單排除,完成相關的業務邏輯。在整個過程中最核心的是通過包裝用戶的原始請求,創建新的 requestwrapper 保證請求流在后邊的流程可以重復讀。

Spring Boot XSS 攻擊過濾插件使用

mica-xss 實現

1. 自定義 WebDataBinder 編輯器支持 form 過濾

Spring WebDataBinder 的作用是從 web request 中把 web 請求里的parameters綁定到對應的JavaBean上,在 Controller 方法中的參數類型可以是基本類型,也可以是封裝后的普通 Java 類型。若這個普通的 Java 類型沒有聲明任何注解,則意味著它的每一個屬性都需要到 Request 中去查找對應的請求參數,而 WebDataBinder 則可以幫助我們實現從 Request 中取出請求參數并綁定到 JavaBean 中。

SpringMVC 在綁定的過程中提供了用戶自定義編輯綁定的接口,注入即可在參數綁定 JavaBean 過程中執行過濾。

Spring Boot XSS 攻擊過濾插件使用

2. 自定義 JsonDeserializer 反序列化支持 Json 過濾

在 Spring Boot 中默認是使用 Jackson 進行序列化和反序列化 JSON 數據的,那么除了可以用默認的之外,我們也可以編寫自己的 JsonSerializer 和 JsonDeserializer 類,來進行自定義操作。用戶提交 JSON 報文會通過 Jackson 的 JsonDeserializer 綁定到 JavaBean 中。我們只需要自定義 JsonDeserializer 即可完成在綁定 JavaBean 中執行過濾。

Spring Boot XSS 攻擊過濾插件使用

核心過濾邏輯

在 mica-xss 中并未采取上文所述通過自己手寫黑名單或者轉義方式的實現方案,而是直接實現 Jsoup 這個工具類。

jsoup 實現 WHATWG HTML5 規范,并將 HTML 解析為與現代瀏覽器相同的 DOM。

從 URL,文件或字符串中刮取和解析 HTML 使用 DOM 遍歷或 CSS 選擇器查找和提取數據 操縱 HTML 元素,屬性和文本 清除用戶提交的內容以防止安全白名單,以防止 XSS 攻擊 輸出整潔的 HTML

Spring Boot XSS 攻擊過濾插件使用

到此這篇關于Spring Boot XSS 攻擊過濾插件使用的文章就介紹到這了,更多相關Spring Boot XSS攻擊過濾內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
主站蜘蛛池模板: TTCMS自助建站_网站建设_自助建站_免费网站_免费建站_天天向上旗下品牌 | 上海道勤塑化有限公司| 海水晶,海水素,海水晶价格-潍坊滨海经济开发区强隆海水晶厂 | 立式_复合式_壁挂式智能化电伴热洗眼器-上海达傲洗眼器生产厂家 理化生实验室设备,吊装实验室设备,顶装实验室设备,实验室成套设备厂家,校园功能室设备,智慧书法教室方案 - 东莞市惠森教学设备有限公司 | 自动螺旋上料机厂家价格-斗式提升机定制-螺杆绞龙输送机-杰凯上料机 | 【星耀裂变】_企微SCRM_任务宝_视频号分销裂变_企业微信裂变增长_私域流量_裂变营销 | 众品家具网-家具品牌招商_家具代理加盟_家具门户的首选网络媒体。 | RV减速机-蜗轮蜗杆减速机-洗车机减速机-减速机厂家-艾思捷 | 济南侦探调查-济南调查取证-山东私家侦探-山东白豹调查咨询公司 密集架|电动密集架|移动密集架|黑龙江档案密集架-大量现货厂家销售 | 合肥网带炉_安徽箱式炉_钟罩炉-合肥品炙装备科技有限公司 | POS机办理_个人POS机免费领取 - 银联POS机申请首页 | 橡胶膜片,夹布膜片,橡胶隔膜密封,泵阀设备密封膜片-衡水汉丰橡塑科技公司网站 | 自动焊锡机_点胶机_螺丝机-锐驰机器人 | 信阳网站建设专家-信阳时代网联-【信阳网站建设百度推广优质服务提供商】信阳网站建设|信阳网络公司|信阳网络营销推广 | 中直网_行业门户-行业人专业的交流平台!| 加气混凝土砌块设备,轻质砖设备,蒸养砖设备,新型墙体设备-河南省杜甫机械制造有限公司 | 执业药师报名时间,报考条件,考试时间-首页入口| 气动隔膜泵厂家-温州永嘉定远泵阀有限公司| TPE塑胶原料-PPA|杜邦pom工程塑料、PPSU|PCTG材料、PC/PBT价格-悦诚塑胶 | 搬运设备、起重设备、吊装设备—『龙海起重成套设备』 | 酒吧霸屏软件_酒吧霸屏系统,酒吧微上墙,夜场霸屏软件,酒吧点歌软件,酒吧互动游戏,酒吧大屏幕软件系统下载 | 高楼航空障碍灯厂家哪家好_航空障碍灯厂家_广州北斗星障碍灯有限公司 | 办公室装修_上海办公室设计装修_时尚办公新主张-后街印象 | 没斑啦-专业的祛斑美白嫩肤知识网站-去斑经验分享 | 水稻烘干机,小麦烘干机,大豆烘干机,玉米烘干机,粮食烘干机_巩义市锦华粮食烘干机械制造有限公司 水环真空泵厂家,2bv真空泵,2be真空泵-淄博真空设备厂 | 湖南自考_湖南自学考试 | 5L旋转蒸发器-20L-50L旋转蒸发器-上海越众仪器设备有限公司 | 胀套-锁紧盘-风电锁紧盘-蛇形联轴器「厂家」-瑞安市宝德隆机械配件有限公司 | 北京印刷厂_北京印刷_北京印刷公司_北京印刷厂家_北京东爵盛世印刷有限公司 | 信阳网站建设专家-信阳时代网联-【信阳网站建设百度推广优质服务提供商】信阳网站建设|信阳网络公司|信阳网络营销推广 | 多功能真空滤油机_润滑油全自动滤油机_高效真空滤油机价格-重庆润华通驰 | 萃取箱-萃取槽-PVC萃取箱厂家-混合澄清槽- 杭州南方化工设备 | 植筋胶-粘钢胶-碳纤维布-碳纤维板-环氧砂浆-加固材料生产厂家-上海巧力建筑科技有限公司 | 企业微信scrm管理系统_客户关系管理平台_私域流量运营工具_CRM、ERP、OA软件-腾辉网络 | 磁力抛光机_磁力研磨机_磁力去毛刺机-冠古设备厂家|维修|租赁【官网】 | 学考网学历中心| 电池高低温试验箱-气态冲击箱-双层电池防爆箱|简户百科 | 企典软件一站式企业管理平台,可私有、本地化部署!在线CRM客户关系管理系统|移动办公OA管理系统|HR人事管理系统|人力 | 焊锡丝|焊锡条|无铅锡条|无铅锡丝|无铅焊锡线|低温锡膏-深圳市川崎锡业科技有限公司 | ge超声波测厚仪-电动涂膜机-电动划格仪-上海洪富 | 并离网逆变器_高频UPS电源定制_户用储能光伏逆变器厂家-深圳市索克新能源 |