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过滤方法相关推荐

  1. java处理XSS过滤的方法

    2019独角兽企业重金招聘Python工程师标准>>> 如果系统中,没有富文本编辑器的功能,那么对于XSS过滤可以采用如下方式过滤 如果采用了struts2,那么需要重写Struts ...

  2. java过滤xss_java处理XSS过滤的方法

    如果系统中,没有富文本编辑器的功能,那么对于XSS过滤可以采用如下方式过滤 如果采用了struts2,那么需要重写StrutsRequestWrapper 如果没有采用struts2,那么直接重写Ht ...

  3. XSS攻击绕过过滤方法大全(转)

    XSS攻击绕过过滤方法大全(约100种) 文章目录 XSS攻击绕过过滤方法大全(约100种) 1.XSS定位器 2.XSS定位器(短) 3.无过滤绕过 4.利用多语言进行过滤绕过 5.通过JavaSc ...

  4. java 防XSS过滤处理过滤器

    防止XSS攻击的过滤器 import com.XX.utils.StringUtils;import javax.servlet.*; import javax.servlet.http.HttpSe ...

  5. java接口方法实现_Java接口的简单定义与实现方法示例

    本文实例讲述了Java接口的简单定义与实现方法.分享给大家供大家参考,具体如下: 1.接口是Java中最终要的概念,接口可以理解为一种特殊的类,里面全部是由全局常量和公共的抽象方法所组成. 2.接口的 ...

  6. java+cache使用方法_java相关:springboot使用GuavaCache做简单缓存处理的方法

    java相关:springboot使用GuavaCache做简单缓存处理的方法 发布于 2020-3-29| 复制链接 摘记: 问题背景 实际项目碰到一个上游服务商接口有10秒的查询限制(同个账号). ...

  7. Java实现一个简单的加密解密方法

    Crypto是Java语言写的一个简单的加密解密方法. 使用方法: 加密方法 String cipherte=Enande.encrypt(content, pass): 解密方法 Enande.de ...

  8. java过滤ios表情,JS前端去掉emoji表情和Java后台处理emoji表情方法

    莫非定律 : 任何事情都没表面看去来那么简单! emoji表情在项目中使用,因为其特殊的编码格式,经常导致在网络传输.编解码.以及数据入库中带来一些问题! 下面简单介绍使用Js和java处理移除emo ...

  9. java修改文件名_Java实现简单修改文件名的方法分析

    本文实例讲述了Java实现简单修改文件名的方法.分享给大家供大家参考,具体如下: 今天帮朋些个网站,做到商品上传的时候需要给文件重新设置名称,以前也做过类的功能,只是没有保存忘了,为了避免以后再重新找 ...

最新文章

  1. git merge 回退_Git项目开发必备命令
  2. set-cookie 和 cookie 的区别_Go Web 编程如何确保Cookie数据的安全传输
  3. OpenCV4每日一练day13:双目相机校正
  4. MathType 插入定义的chapter and section break后无法隐藏
  5. window 2012 上安装 sql server 2005 出错的解决方案
  6. 一阶系统开环传递函数表达式_自动控制总结:第二章、控制系统的数学模型
  7. python定义一个整数变量_Python变量和数据类型详解
  8. python 二进制的数为啥带0b?,怎样去掉0b?
  9. 小小明_小小明手游框架_xxm_小小明手游平台
  10. ICS文件说明和创建(以Outlook为例)
  11. pptpd 安装步骤
  12. python求圆的周长和面积
  13. C陷阱篇之char的默认符号
  14. 二本逆袭进百度,我总结了这些经验
  15. php smtp发送邮件
  16. mac可以用计算机考试系统吗,苹果测试在iPhone上装macOS电脑系统?这太牛了吧
  17. 山西宗教文化漫谈(四)——云冈:东方艺术宝库
  18. 期货投资交易为什么要分批建仓?
  19. 三角支架的功能是什么?如何选择?
  20. 使用 chrome 调试被压缩的 js 代码

热门文章

  1. 无限级树状图html5,无限树状列表的实现
  2. 通信原理学习笔记6-2:数字解调——抽样和符号同步
  3. 游戏数学: 计算屏幕点中的平面上的点(上帝视角)
  4. c 语言 组合数,C++中求组合数的各种方法总结详解
  5. 使用ROS melodic下 控制真实UR5机器人 手把手教程
  6. 机器学习中的三种误差
  7. 虚拟机Ubuntu18.04中文输入法设置(同时保留系统英文语言)
  8. 数学七大基本思想方法
  9. windows 平台shellcode编写
  10. 2021年中国机动车、汽车和新能源汽车保有量及驾驶人和驾驶证业务办理情况分析「图」