CHECKMARX安全漏洞检测防止XSS跨站脚本攻击

总结CHECKMARX软件安全检测报告高危风险漏洞处理方式

  • 高危警告内容
    This can enable a Reflected Cross-Site Scripting (XSS) attack

  • 封装工具类如下

         public class ESAPIUtil {private static ESAPIUtil instance = new ESAPIUtil();public <T> T encodeForHTML(T t) {// filter xssreturn t;}public <T> T canonicalize(T t) {// filter xssreturn t;}public <T> T encodeForJavaScript(T t) {return t;}public static ESAPIUtil encoder() {return instance;}public static String cleanXSS(String value) {if (value != null) {value = ESAPIUtil.encoder().canonicalize(value);// 避免空字符串value = value.replaceAll("", "");// 避免script 标签Pattern scriptPattern = compile("<script>(.*?)</script>", CASE_INSENSITIVE);value = scriptPattern.matcher(value).replaceAll("");//避免src形式的表达式//scriptPattern = compile("src[\r\n]*=[\r\n]*\\\'(.*?)\\\'", CASE_INSENSITIVE | MULTILINE | DOTALL);//value = scriptPattern.matcher(value).replaceAll("");scriptPattern = compile("src[\r\n]*=[\r\n]*\\\"(.*?)\\\"", CASE_INSENSITIVE | MULTILINE | DOTALL);value = scriptPattern.matcher(value).replaceAll("");// 删除单个的 </script> 标签scriptPattern = compile("</script>", CASE_INSENSITIVE);value = scriptPattern.matcher(value).replaceAll("");// 删除单个的<script ...> 标签scriptPattern = compile("<script(.*?)>", CASE_INSENSITIVE | MULTILINE | DOTALL);value = scriptPattern.matcher(value).replaceAll("");// 避免 eval(...) 形式表达式scriptPattern = compile("eval\\((.*?)\\)", CASE_INSENSITIVE | MULTILINE | DOTALL);value = scriptPattern.matcher(value).replaceAll("");// 避免 e­xpression(...) 表达式scriptPattern = compile("expression\\((.*?)\\)", CASE_INSENSITIVE | MULTILINE | DOTALL);value = scriptPattern.matcher(value).replaceAll("");// 避免 javascript: 表达式scriptPattern = compile("javascript:", CASE_INSENSITIVE);value = scriptPattern.matcher(value).replaceAll("");// 避免 vbscript: 表达式scriptPattern = compile("vbscript:", CASE_INSENSITIVE);value = scriptPattern.matcher(value).replaceAll("");// 避免 onl oad= 表达式scriptPattern = compile("onload(.*?)=", CASE_INSENSITIVE | MULTILINE | DOTALL);value = scriptPattern.matcher(value).replaceAll("");// 避免 onXX= 表达式scriptPattern = compile("on.*(.*?)=", CASE_INSENSITIVE | MULTILINE | DOTALL);value = scriptPattern.matcher(value).replaceAll("");// 避免 html 标签 表达式scriptPattern = compile("<(\\\"[^\\\"]*\\\"|'[^']*'|[^'\\\">])*>", CASE_INSENSITIVE);value = scriptPattern.matcher(value).replaceAll("");}return value;}

CHECKMARX安全漏洞检测防止XSS(Cross Site Scripting)跨站脚本攻击相关推荐

  1. Cross Site Scripting DOM攻击jQuery append() 的处理方法

    做安全红线使用Fortify工具进行扫描时,jquery append会报Cross Site Scripting DOM风险.解决该问题有两种办法. 一.原生dom方式 使用JavaScript原生 ...

  2. XSS(Cross Site Scripting)攻击简介

    环境 Ubuntu 22.04 IntelliJ IDEA 2022.1.3 JDK 17.0.3.1 Spring Boot 3.0.1 Firefox 108.0.2 问题和分析 在Intelli ...

  3. 【常见Web应用安全问题】---1、Cross Site Scripting

    Web应用程序的安全性问题依其存在的形势划分,种类繁多,这里不准备介绍所有的,只介绍常见的一些.  常见Web应用安全问题安全性问题的列表: 1.跨站脚本攻击(CSS or XSS, Cross Si ...

  4. XSSF - Cross Site Scripting Framework

    2019独角兽企业重金招聘Python工程师标准>>> 跨站脚本框架 (XSSF) 是一个设计用来快速发现网站存在XSS漏洞的一个安全工具集. 该项目是为了验证网站存在的XSS漏洞及 ...

  5. Reflected Cross Site Scripting (XSS)

    前言 反射型XSS, 即 Reflected Cross Site Scripting (XSS),  攻击者事先制作好攻击链接, 需要欺骗用户自己去点击链接才能触发XSS代码(服务器中没有这样的 页 ...

  6. DVWA V1.9:Reflected Cross Site Scripting(存储型XSS)

    DVWA V1.9:Reflected Cross Site Scripting(存储型XSS) 存储型 XSS 介绍 Low 级别 核心代码 官方提示 漏洞利用 Medium 级别 核心代码 官方提 ...

  7. Xss-reflected/stored跨站脚本分析(Cross site scripting)

    Xss-reflected/stored跨站脚本分析(Cross site scripting) 基础知识 针对Dom - dochtml Url概念:协议+网址/dns+端口+路径 XSS原理:对U ...

  8. DVWA-Reflected Cross Site Scripting (XSS)

    实验环境: DVWA靶机:172.16.12.10 靶场用户名:admin 密码:123 windos攻击机:172.16.12.7 kali攻击机:172.16.12.30 实验步骤: 反射型Xss ...

  9. xss(Cross Site Scripting)

    目录 xss 跨站脚本攻击 原理: 反射型XSS 存储型XSS xss 跨站脚本攻击 原理: 恶意攻击者在web页面中会插入一些恶意的script代码.当用户浏览该页面的时候,那么嵌入到web页面中s ...

最新文章

  1. 《为iPad而设计:打造畅销App》——大胆创意
  2. 这24个高频存储问题,你一定要知道!如何不停机,安全更换数据库?大厂都怎么做MySQL到Redis同步的?...
  3. xml中1字节的UTF-8序列的字节1无效([字符编码]Invalid byte 1 of 1-byte UTF-8 sequence终极解决方案)
  4. xamarin使用mysql_[开源] .NetCore .NetFramework Xamarin 使用 ORM FreeSql 访问 MySql
  5. ActionScript 3.0 优化
  6. 查看代码 index.html,Javascript查看大图功能代码实现
  7. 如何给Xcode添加我们常用的插件呢?
  8. TikTok 与 Oracle 的交易将开创两个危险的先例
  9. 成不了数据分析师,都是这些套路搞的鬼!
  10. 移动数据通信网络工作原理(SGSNGGSN)
  11. gf(2 4)有限域的乘法c语言实现,有限域GF(2^n)的C语言实现浅析
  12. 2015.7.29国内TMT行业融资简报
  13. 美学设计专家解读小度智能音箱Play设计 天猫精灵被打脸了
  14. 如何将文件打包到jar包里面
  15. Xshell6下载与安装
  16. iOS开发简记(1):指定APP的图标与启动图
  17. 法大大首批通过ISO 22301:2019认证
  18. 防火墙策略添加linux,通过iptables设置Linux防火墙INPUT策略
  19. XMind思维导图教程:思维导图怎么画好看?(一)
  20. 帮你养好鸡:从农产品到社交产品,认养一窝鸡上线了

热门文章

  1. Web端即时聊天项目实现(基于WebSocket)
  2. 输入一个十进制数据,转换为8进制,使用顺序栈实现.
  3. 自动驾驶自主避障概况
  4. 条码打印软件如何实现条码数据彩色效果
  5. 图解硬盘低格操作方法
  6. 网络变压器全面叙述(作用,工厂,类型,型号,原理等)
  7. Ubuntu 13.04 小米2S连接Eclipse真机调试
  8. 噪声扬尘监测系统 实时监测
  9. gitlab默认加密方式
  10. QCustomplot(二) 源码解读