首页 电脑 电脑学堂 查看内容

不要忘记数据本身的解析

2011-2-14 11:24 510 0

摘要:   在webzine 0x03有一篇大风写的paper《WEB应用安全设计思想》里有这样一节:  “数据与代码分离的思想是安全设计的原则”  我这里要说的,你在遵循这条原则的同时,不要忘记了"数据库本...
关键词: 数据 问题 直接 代码 上面 数据库 时代 安全 大风 WEB

  在webzine 0x03有一篇大风写的paper《WEB应用安全设计思想》里有这样一节:  “数据与代码分离的思想是安全设计的原则”  我这里要说的,你在遵循这条原则的同时,不要忘记了"数据库本身的解析问题",在2004年的时候我和lilo哥发表的一篇文章:《改mdb为asp所带来的灾难》这个其实也说明了数据(库)本身的解析带来的安全问题,数据库改名后当作asp解析了,那么我们可以直接插入asp代码来执行......,同样在web程序使用文本数据库的时代[如数据用php后缀保存],也可能导致直接执行代码。  上面提到的基本上是web 1.0时代的一些问题,那么在现在web 2.0的时代主要有哪些体现呢?在上面提到的大风的文章里:  "在应用中,比较好的例子是json、XSLT,这些方法都比较好的做到了数据与代码分离,所以在开发中多使用这些比较好的方法,无形中就提高了安全性"  数据类型主要体现在json和xml等上面,如果忘记这些类型数据本身的解析问题,那么就可能导致严重的安全漏洞。事实上也是如此,目前还有很多著名的sns网络应用都没有注意这个问题,比如直接访问json文件,返回Content-Type: text/html,而数据又没有被编码,数据直接被浏览器解析导致xss漏洞。  具体的一个demo[见下图]:  那么解决这个问题的方案有2点:  1. 严格控制数据文件,返回的Content-Type。  2. 数据存储时,使用编码。
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部