网站安全之存储型跨站脚本编制
2017-03-26 17:30
351 查看
1. 说明问题
也许读者看到博客的标题,会觉得有点疑惑。什么叫存储型跨站脚本编制。这个名字有点高大上了。其实也是,我们在网站的有些文本框中输入javaScript的代码或html的标签代码,我们本想作为信息存储,但是这样的文本却成为了代码执行出来。可能这样说读者会有点迷惑。我们来看下面的一个例子。1) 在系统的添加信息的文本框中输入” <img src=1 onerror=alert(3)>.
2) 这条信息保存到数据库后,也会在网站的某个列表中显示出来,这时候,你没有对这条信息作处理,结果也就是变成了系统的可执行代码实现。页面会直接弹出一个‘3’的弹出框。
这下读者应该知道它是谁了吧,也应该知道问题的严重性了吧。可别说,这样的问题也曾在大的IT公司出现过。轻者,可能是影响用户使用的体验感罢了,但是严重的话,作为黑客故意捣乱的话,那么结果大家就可想而知道了。下面笔者说明应该如何避免这样的问题出现我们的系统中。
2. 处理问题
这个问题处理的方法有很多,可用使用第三方的框来协助我们解决这样的问题,下面笔者只介绍几个处理的方法。1) 如果读者的系统是使用Ext的框架的话,那么就可以使用下面的方法。
//反转义
Ext.util.Format.htmlDecode()
//转义
Ext.util.Format.htmlEncode()
2) 我们也可以借助 commons-lang.jar包中的 StringEscapeUtils类的转义与反转义。
//转义 StringEscapeUtils.escapeJava() //反转义 StringEscapeUtils.unescapeJava()
3) 我们也可以使用Spring提供的方法来解决。
//转义 HtmlUtils.htmlEscape() //反转义 HtmlUtils.htmlUnescape()
3. 总结
对于存储型跨站脚本编制的问题,其实处理起来不难,但是很多时候是我们在开发时,忘记了需要注意这个问题,一旦忽略了这个问题,那么到后期修改就会非常麻烦;除非你的系统有很好的架构,可以直接写一个拦截器来处理。笔者是在接管了二次开发系统时发现在的这个问题,结果把我给坑死了。不过吃过了苦,就不会再吃了。相关文章推荐
- [原创]Yeepay网站安全测试漏洞之跨站脚本注入
- Asp网站脚本漏洞的安全防范
- 跨站脚本编制漏洞
- Asp.net安全架构之1:xss(跨站脚本)
- 网站跨站点脚本,Sql注入等攻击的处理
- [原]网站跨站点脚本,Sql注入等攻击的处理
- 跨站漏洞解析-小韩网站编程安全系列一
- 跨站脚本编制漏洞
- 跨站点脚本编制 解决方案( IBM)
- Asp.net安全架构之xss(跨站脚本)
- 您可能试图从服务器上的安全浏览器访问此网站。请启用脚本然后重新加载此页。
- 网站编程安全之---跨站漏洞(发现csdn的一个安全露洞)
- 网站安全编程 黑客入侵 脚本黑客 高级语法入侵 C/C++ C# PHP JSP 编程
- 跨站脚本编制漏洞
- asp 网站 XSS跨站脚本漏洞如何修复
- 跨站点脚本编制
- [原创]支付宝alipay网站安全性测试漏洞之“跨站脚本注入攻击”
- 网站安全编程,跨站漏洞
- Asp.net安全架构之1:xss(跨站脚本)
- 跨站点请求伪造 跨站点脚本编制 通过框架钓鱼漏洞