# xssdemo **Repository Path**: chenshiyun/xssdemo ## Basic Information - **Project Name**: xssdemo - **Description**: springboot xss 注入的问题处理,处理xss攻击的演示demo 防止xss注入 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 10 - **Forks**: 3 - **Created**: 2020-03-01 - **Last Updated**: 2024-03-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # xssdemo #### 介绍 springboot xss 注入的问题处理,处理xss攻击的演示demo 防止xss注入,代码项目只有一个xss过滤器,直接拿走去使用就行 #### 软件架构 这个是项目中的xss攻击的一个过滤器demo,单独抽取出来提供学习使用的 对于xss注入,常见的xss注入 去这里看吧 [xss攻击介绍](https://www.jb51.net/article/92639.htm) 这里有几个用例,复制进去试试就好 "javascript:alert(#command#)" "javascript:alert("Hello World")" #### 安装教程 1. jdk8,idea或者eclipse,maven 2. 直接拉取代码到你本地 https://gitee.com/chenshiyun/xssdemo.git 3. 导入后直接启动 ### 项目包结构 ![数据字典](dist/project.png) #### xss过滤器创建 ![bean-create](dist/bean.png) #### 页面演示 ![bean-create](dist/index.png) #### 控制台输出 ![bean-create](dist/log.png) #### 使用说明 1. 直接启动项目8080端口跟路径,我懒,地址都懒得写了 2. http://localhost:8080/ #### 其他说明 EscapeUtil 里面有三个方法 ``` /** * 转义文本中的HTML字符为安全的字符 * * @param text 被转义的文本 * @return 转义后的文本 */ public static String escape(String text) { return encode(text); } /** * 清除所有HTML标签,但是不删除标签内的内容 * * @param content 文本 * @return 清除标签后的文本 */ public static String clean(String content) { return new HTMLFilter().filter(content); } /** * 还原被转义的HTML特殊字符 * * @param content 包含转义符的HTML内容 * @return 转换后的字符串 */ public static String unescape(String content) { return decode(content); } ```