DOM 跨站脚本攻击问题,怎么解决
跨站脚本攻击(Cross Site Scripting)是指攻击者利用网站程序对用户输入过滤不足,输入可以显示在页面上对其他用户造成影响的HTML代码,从而盗取用户资料、利用用户身份进行某种动作或者对访问者进行病毒侵害的一种攻击方式。为了与层叠样式表(Cascading Style Sheets)的缩写CSS区分开,跨站脚本攻击通常简写为XSS。
下面这个页面的主要作用是获取用户输入的参数作为用户名,并在页面中显示“欢迎您,XXX”的形式,具体代码如下:
?php
$username = $_GET["name"];
echo "p欢迎您, ".$username."!/p";
如何解决跨站脚本攻击
test
如:input type="text" id="txtceshi" /input type="button" onclick="yanzheng()" value="ceshi" /
script type="text/javascript"
function yanzheng() {
var ce = txtceshi.value;//获取文本框的值
var ze = /[^0-9]+/; //只能是数字,这里可以在网上找到一些正则替换成你想要的表达式
if (ze.test(ce)) {
alert("数据不合法!");
}
}
/script
网页显示跨站请求伪造攻击,已被拦截!请关闭当前窗口重新打开浏览器
我的电脑也出现了这样的问题。。。都好几天了。。我都是打开好多登陆页面,一个一个试,一般第二三个页面就可以登录了,你可以试试。。。记住要一连打开至少5个登陆页面。。。多登登就能登上的。。还有,那些显示“跨站请求伪造攻击,已被拦截!请关闭当前窗口重新打开浏览器。”的页面在登上之前最好别关。。希望能帮到你吧。
怎样过滤跨站恶意脚本攻击
1.在输入流中截住formdata中的恶意脚本研究两种XSS攻击,如反射型和存储型XSS攻击,其恶意脚本都是来自用户的输入。因此,可以使用过滤用户输入的方法对恶意脚本进行过滤。对简单的HTTP请求,一般使用GET和POST方法。2.在输入流中检测滤掉来自其他网站的URL中的恶意脚本当用户不小心点击了被其他黑客提供的假冒URL,则可能在该URL中注入恶意脚本。因此,也需要对这种情况进行处理。因此为确保其他在header中的恶意脚本,需要对request.getHeader进行重写。以下为例子:publicStringgetHeader(Stringname){Stringvalue=super.getHeader(name);if(value==null)returnnull;returnxssClean(value);}3.xssClean函数怎样实现才可以过滤掉恶意脚本呢?如果是java语言,推荐使用antisamy。使用antisamy进行XSS清理非常简单,只需要简单的几个步骤即可达到目的。1‘.在pom.xml文件中加入antisamy的dependency,org.owasp.antisamyantisamy1.5.32’.加入了dependency之后,就可以在xssClean中加入antisamy对恶意脚本进行清理。其中policy.xml是白名单,policy.xml中规定了各个html元素所必须满足的条件。antisamy的精髓之处在于,使用policy文件来规定你的过滤条件,若输入字符串不满足policy文件中的条件,则会过滤掉字符中的恶意脚本,返回过滤后的结果。具体代码如下:privateStringxssClean(Stringvalue){AntiSamyantiSamy=newAntiSamy();try{finalCleanResultscr=antiSamy.scan(value,Policy.getInstance("policy.xml"),AntiSamy.SAX);returncr.getCleanHTML();}catch(ScanExceptione){e.printStackTrace();}catch(PolicyExceptione){e.printStackTrace();}returnvalue;}这样,我们就将client端用户输入的request,在server端进行了拦截,并且进行了过滤。
等大神来,对于跨站脚本攻击都有什么防范的方法
跨站点脚本(XSS)允许攻击者通过利用因特网服务器的漏洞来发送恶意代码到其他用户。攻击者利用跨站点脚本(XSS)攻击向那些看似可信任的链接中注入恶意代码。当用户点击了链接后,内嵌的程序将被提交并且会在用户的电脑上执行,这会使黑客获取。
0条大神的评论