Java简单的XSS过滤方法
Java简单的XSS过滤方法
因为某甲方程序XSS过滤类一直没起作用,所以百度了下,简单的写了个参数XSS过滤方法。。。。。上代码~~
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;public class Xss {public static void main(String[] args) {//经过编码后的XSS-Payload,<script>alert("xss");</script>String reqParam = "%3C%73%63%72%69%70%74%3E%61%6C%65%72%74%28%22%78%73%73%22%29%3B%3C%2F%73%63%72%69%70%74%3E";try {//解码后的新参数String newParam = URLDecoder.decode(reqParam,"UTF-8");//调用XSS过滤方法进行过滤后输出System.out.println(xssEncode(newParam));} catch (UnsupportedEncodingException e) {// 异常处理e.printStackTrace();}}private static String xssEncode(String s) {//XSS静态过滤方法if (s == null || s.isEmpty()) {return s;}StringBuilder sb = new StringBuilder(s.length() + 16);for (int i = 0; i < s.length(); i++) {char c = s.charAt(i);switch (c) {case '>':sb.append('>');// 全角大于号break;case '<':sb.append('<');// 全角小于号break;case '\'':sb.append('‘');// 全角单引号break;case '\"':sb.append('“');// 全角双引号break;case '&':sb.append('&');// 全角break;case '\\':sb.append('\');// 全角斜线break;case '#':sb.append('#');// 全角井号break;case '(':sb.append('(');//break;case ')':sb.append(')');//break;default:sb.append(c);break;}}return sb.toString();}}
Java简单的XSS过滤方法相关推荐
- java处理XSS过滤的方法
2019独角兽企业重金招聘Python工程师标准>>> 如果系统中,没有富文本编辑器的功能,那么对于XSS过滤可以采用如下方式过滤 如果采用了struts2,那么需要重写Struts ...
- java过滤xss_java处理XSS过滤的方法
如果系统中,没有富文本编辑器的功能,那么对于XSS过滤可以采用如下方式过滤 如果采用了struts2,那么需要重写StrutsRequestWrapper 如果没有采用struts2,那么直接重写Ht ...
- XSS攻击绕过过滤方法大全(转)
XSS攻击绕过过滤方法大全(约100种) 文章目录 XSS攻击绕过过滤方法大全(约100种) 1.XSS定位器 2.XSS定位器(短) 3.无过滤绕过 4.利用多语言进行过滤绕过 5.通过JavaSc ...
- java 防XSS过滤处理过滤器
防止XSS攻击的过滤器 import com.XX.utils.StringUtils;import javax.servlet.*; import javax.servlet.http.HttpSe ...
- java接口方法实现_Java接口的简单定义与实现方法示例
本文实例讲述了Java接口的简单定义与实现方法.分享给大家供大家参考,具体如下: 1.接口是Java中最终要的概念,接口可以理解为一种特殊的类,里面全部是由全局常量和公共的抽象方法所组成. 2.接口的 ...
- java+cache使用方法_java相关:springboot使用GuavaCache做简单缓存处理的方法
java相关:springboot使用GuavaCache做简单缓存处理的方法 发布于 2020-3-29| 复制链接 摘记: 问题背景 实际项目碰到一个上游服务商接口有10秒的查询限制(同个账号). ...
- Java实现一个简单的加密解密方法
Crypto是Java语言写的一个简单的加密解密方法. 使用方法: 加密方法 String cipherte=Enande.encrypt(content, pass): 解密方法 Enande.de ...
- java过滤ios表情,JS前端去掉emoji表情和Java后台处理emoji表情方法
莫非定律 : 任何事情都没表面看去来那么简单! emoji表情在项目中使用,因为其特殊的编码格式,经常导致在网络传输.编解码.以及数据入库中带来一些问题! 下面简单介绍使用Js和java处理移除emo ...
- java修改文件名_Java实现简单修改文件名的方法分析
本文实例讲述了Java实现简单修改文件名的方法.分享给大家供大家参考,具体如下: 今天帮朋些个网站,做到商品上传的时候需要给文件重新设置名称,以前也做过类的功能,只是没有保存忘了,为了避免以后再重新找 ...
最新文章
- git merge 回退_Git项目开发必备命令
- set-cookie 和 cookie 的区别_Go Web 编程如何确保Cookie数据的安全传输
- OpenCV4每日一练day13:双目相机校正
- MathType 插入定义的chapter and section break后无法隐藏
- window 2012 上安装 sql server 2005 出错的解决方案
- 一阶系统开环传递函数表达式_自动控制总结:第二章、控制系统的数学模型
- python定义一个整数变量_Python变量和数据类型详解
- python 二进制的数为啥带0b?,怎样去掉0b?
- 小小明_小小明手游框架_xxm_小小明手游平台
- ICS文件说明和创建(以Outlook为例)
- pptpd 安装步骤
- python求圆的周长和面积
- C陷阱篇之char的默认符号
- 二本逆袭进百度,我总结了这些经验
- php smtp发送邮件
- mac可以用计算机考试系统吗,苹果测试在iPhone上装macOS电脑系统?这太牛了吧
- 山西宗教文化漫谈(四)——云冈:东方艺术宝库
- 期货投资交易为什么要分批建仓?
- 三角支架的功能是什么?如何选择?
- 使用 chrome 调试被压缩的 js 代码