js解决跨站点脚本编制问题
1.前台处理(容易绕过):
<script type="text/javascript">
$(document).ready(function(){
var url=window.location.href; window.location.href=HTMLEnCode(url);
}); function HTMLEnCode(str) {
var s = "";
if (str.length == ) return "";
s = str.replace(/&/g, ">");
s = s.replace(/</g, "");
s = s.replace(/>/g, "");
s = s.replace(/ /g, "");
s = s.replace(/\"/g, "");
s = s.replace(/\'/g, "");
s = s.replace(/\n/g, "");
s = s.replace(/\//g, "");
s = s.replace(/\(/g, "");
s = s.replace(/\)/g, "");
s = s.replace(/\=/g, ""); return s;
} });
</script>
2.后台处理:
/**
* 危险字符过滤方法
* @param str
* @return
* @throws Exception
*/
public static String dangerousCharacterFilter(String str) {
//一种解决SQL盲注的后台过虑,其方式就是将可能出现的非法字符进行规制
//java代码替换特殊字符
//str="^&h\\/!@#$%^&*()+|/jgfj&%fgd''$#$@!)(}|";
if(str!=null){
str = str.replaceAll("(\\|)", "");
str = str.replaceAll("(\\&)", "");
str = str.replaceAll("(\\;)", "");
str = str.replaceAll("(\\$)", "");
str = str.replaceAll("(\\%)", "");
str = str.replaceAll("(\\@)", "");
str = str.replaceAll("(\\')", "");
str = str.replaceAll("(\\\")", "");
str = str.replaceAll("(\\>)", "");
str = str.replaceAll("(\\<)", "");
str = str.replaceAll("(\\))", "");
str = str.replaceAll("(\\()", "");
str = str.replaceAll("(\\+)", "");
//str = str.replaceAll("(\\CR)", ""); //回车符 ASCII 0x0d
//str = str.replaceAll("(\\LF)", ""); //换行 ASCII 0x0a
str = str.replaceAll("(\\,)", "");
str = str.replaceAll("(\\\\)", "");
str = str.replaceAll("(\\#|$)", "");
}
return str;
}
3.添加过滤器(暂时没做)
js解决跨站点脚本编制问题的更多相关文章
- 使用过滤器解决SQL注入和跨站点脚本编制
1 SQL注入.盲注 1.1 SQL注入.盲注概述 Web 应用程序通常在后端使用数据库,以与企业数据仓库交互.查询数据库事实上的标准语言是 SQL(各大数据库供应商都有自己的不同版本).Web 应用 ...
- 跨站点脚本编制-XSS 描述及解决方法
跨站点脚本编制可能是一个危险的安全性问题,在设计安全的基于 Web 的应用程序时应该考虑这一点.本文中,描述了这种问题的本质.它是如何起作用的,并概述了一些推荐的修正策略. 当今的大多数网站都对 We ...
- 跨站点脚本编制实例(AppScan扫描结果)
最近工作要求解决下web的项目的漏洞问题,扫描漏洞是用的AppScan工具,其中有很多是关于跨站点脚本编制问题的.下面就把这块东西分享出来. 原创文章,转载请注明 ------------------ ...
- 跨站点脚本编制 - SpringBoot配置XSS过滤器(基于mica-xss)
1. 简介 XSS,即跨站脚本编制,英文为Cross Site Scripting.为了和CSS区分,命名为XSS. XSS是最普遍的Web应用安全漏洞.这类漏洞能够使得攻击者嵌入恶意脚本代码 ...
- 跨站点脚本编制 - SpringBoot配置XSS过滤器(基于Jsoup)
1. 跨站点脚本编制 风险:可能会窃取或操纵客户会话和 cookie,它们可能用于模仿合法用户,从而使黑客能够以该用户身份查看或变更用户记录以及执行事务. 原因:未对用户输入正确执行危险字符清 ...
- 跨站点脚本攻击XSS
来源:http://www.freebuf.com/articles/web/15188.html 跨站点脚本攻击是一种Web应用程序的攻击,攻击者尝试注入恶意脚本代码到受信任的网站上执行恶意操作.在 ...
- ASP.NET Core中的OWASP Top 10 十大风险-跨站点脚本攻击 (XSS)
不定时更新翻译系列,此系列更新毫无时间规律,文笔菜翻译菜求各位看官老爷们轻喷,如觉得我翻译有问题请挪步原博客地址 本博文翻译自: https://dotnetcoretutorials.com/201 ...
- 【漏洞三】跨站点脚本(XSS)攻击
[漏洞] 跨站点脚本(XSS)攻击 [原因] 跨站点脚本(也称为xss)是一个漏洞,攻击者可以发送恶意代码(通常在(Javascript的形式)给另一个用户.因为浏览器无法知道脚本是否值得信任,所以它 ...
- 网站跨站点脚本,Sql注入等攻击的处理
从360安全论坛里找到的一段代码,经过整理封装,直接在站点Global.asax文件或写一个HttpModule来拦截恶意请求即可: http://bbs.webscan.360.cn/forum.p ...
随机推荐
- 使用Vue.js和Axios从第三方API获取数据 — SitePoint
更多的往往不是,建立你的JavaScript应用程序时,你会想把数据从远程源或消耗一个[ API ](https:/ /恩.维基百科.org /维基/ application_programming_ ...
- python 将有序list打乱
利用random模块下的shuffle函数就能够实现. 关于官网对于shuffle,我感觉说法上有一定的误解. 上面是官网的解释,他说会返回打乱的list,事实上什么也没有返回. 能够看到返回的是No ...
- 【GISER && Painter】矢量切片(Vector tile)番外一:Proj4js
说明:番外篇是对正篇矢量切片(Vector tile)中提到的一些值得继续延伸的关注点继续进行探索和学习,所涉及的内容以解决实际问题为主要导向. 一.新的需求? 在完成了矢量切片的工作后,新的需求出现 ...
- thymleaf 常用th 标签
常用th标签都有那些? 关键字 功能介绍 案例 th:id 替换id <input th:id="'xxx' + ${collect.id}"/> th:text 文本 ...
- django的动态url,url里含有参数,含有参数的url
#!/usr/bin/env python # coding:utf- from django.conf.urls import url,include from django.contrib imp ...
- Zookeeper常用命令 (转)
原文链接:ZooKeeper系列之二:Zookeeper常用命令 ZooKeeper服务命令: 在准备好相应的配置之后,可以直接通过zkServer.sh 这个脚本进行服务的相关操作 1. 启动ZK服 ...
- 使用Springboot Email实现邮件发送
在springboot配置文件增加emai配置(此种方式不支持QQ邮箱): spring.datasource.type=com.alibaba.druid.pool.DruidDataSource ...
- 【C/C++】Linux C,关于刷新printf输出问题
直接描述吧:int i = 0;while(1){printf("now i = %d\r", i);fflush(stdout);i++;sleep(1);}我想在输出中不仅仅是 ...
- 检索COM类工厂的组件失败:80040111
检索 COM 类工厂中 CLSID 为 {--} 的组件失败,原因是出现以下错误: 80040111.如图: 这种问题可能由多种情况造成,目前我遇到两种: 操作系统版本问题 如果是在Win7 64版本 ...
- 关于angularjs中路由页面强制更新的问题
有这么一个问题,在页面内路由页面跳转时,第一次跳入路由页面时是正常的,但是第二次会记住第一次时的状态,有时候并不想这样,想强制更新这个路由页面. 有一种方式就是使用 ui-sref-opts功能,我试 ...