关于XSS跨站的一些思路

你的项目开放在网上,那么难免有安全上的风险,最近项目让过滤了脚本跨站问题,这里简单说说,

然后有些简单的脚本过滤是替换尖括号,这样看似放住了跨站,难道过滤掉了尖括号就不会导致脚本运行了吗,但是我们在Test的时候发现

确实是这样。

也许事实却很残酷

Let's  try  it

<html>
<head>
<title>test</title>
<script src="http://libs.baidu.com/jquery/1.8.3/jquery.js"></script>
<script>
$(function(){
var s = "\u003cscript\u003ealert('xss')\u003c/script\u003e";
$("#div1").html(s);
});
</script>
</head>
<body>
<div id="div1">1</div>
</body>
</html>

可以看到轻松的执行了

xss

说明依旧存在注入的风险,所谓攻防,只有知己知彼才可以百战不殆,并不是你防住了什么,而是你防住了你自己的有限范围,这是一个长期的过程,不存在一劳永逸。

Tips:"\u003c 和 \u003e 显示 <>