今日精选 ·绝对解密 XP系统中隐藏的10个秘密 ·Windows系统文件详解【大全】 ·配置Windows Server 2008高级防火墙 ·带你现场体验专业服务器机房 ·屏蔽五项功能 让Windows XP极速狂飙 ·木马免杀技术大盘点 ·如何让无线路由信号更强更广 ·各大路由器默认密码(完美汇总经典版) ·如何构建安全的入侵检测系统 ·电脑故障维修判断指导大全(联想内部文件) >>>>
编程开发  Java | .Net | C/C++ | Delphi | VC/VB | XML | ASP | PHP
数据库  Oracle | Mysql | DB2 | Sql server
应用方案 无线网络方案 | 有线网络方案 

网管天地  网吧管理 | 路由器 | 交换机 | 服务器
网络安全  黑客技术 | 病毒漏洞 | 网站安全 | 服务器安全 | 入侵防御 | 防火墙
操作系统 Linux/Unix | Windows 
您现在的位置: 企业网络安全 >> 文章·资讯 >> 互联网安全 >> 网站安全 >> 文章正文
对付SQL注入的手段能够应对XPath注入?
作者:佚名 文章来源:本站原创 点击数: 更新时间:2007-2-12 8:23:08
问:XPath注入攻击与SQL注入攻击有什么不同?SQL注入攻击能够缓解防御XPath注入攻击的技术吗?

  专家回答:XPath (XML路径语言) 1.0是一种表达语言。许多应用程序根据XML文件的内容使用这种语言进行操作。 一个XML文件可以当作一个数据库,XPath查询用来访问这个文件中的数据。使用XML数据库而不使用传统的数据库的好处包括可移植性、兼容性、重复使用性和结构化表现等。

  虽然XPath语言表达的句法与SQL查询在许多方面都有些相似,但是,XPath注入比SQL注入更加危险。当Web应用程序在没有验证用户提供的数据的情况下构建一个XPath查询的时候,XPath注入就可以利用这些应用程序。一个攻击者能够向一个查询注入数据,从而改变其语义。通过嵌入一系列布尔查询(能够产生一个“真”或者“假”值的精心制作的表达方式),攻击者能够重复查看这个文件的全部节点。使用这个技术,甚至一个事先不知道XPath查询的攻击者也能够提取一个完整的XML数据库文件。

  大多数数据库都提供了某种形式的访问和权限控制,限制用户访问某些表格、字段或者查询。这种限制一般是限制攻击者访问应用程序的数据库账户。XPath没有为数据库文件提供访问限制,因此,攻击者能够查询这个数据库中的全部XML对象。此外,由于XPath是一种标准的语言,攻击者能够创建一种适用于任何基于XPath的应用程序的自动攻击工具。由于SAL的许多变量,SAL注入攻击必须针对正在被攻击的目标的特定版本的SQL进行客户化。

  用来防御SAL注入攻击的措施实际上有助于防御XPath注入攻击。要进行评估,下面是一些可以采取的防御步骤。首先,你的应用程序必须验证和清洁用户输入的全部内容。第二,在你的脚本、数据访问常规性工作和XPath查询使用这个数据之前,你要假设全部数据都来自不可信赖的来源。值得指出的是仅在服务器端进行验证而不在客户端进行验证是没有用的,因为客户端验证很容易被绕过去。遗憾的是没有一个原始的相应的XPath来设置查询的参数。因此,XPath查询不得不使用字符串构造技术。这就使验证用户提供的全部输入内容更为重要。测试你的应用程序是否容易受到XPath注入攻击是容易的。仅仅在发给你的服务器的数据中增加一个引号,看看是否会出现错误。如果出现了错误,那就表明可能出现了XPath注入攻击。XPath 2.0技术规范目前正在万维网联盟(W3C)批准程序的最后阶段。这个技术规范提供了一套极大地扩展了的功能和能力,但是遗憾的是没有增加安全功能。


免责声明:作品版权归所属媒体与作者所有!!本站刊载此文不代表同意其说法或描述,仅为提供更多信息。如果您认为我们侵犯了您的版权,请告知!本站立即删除。有异议请联系我们。
文章录入:admin    责任编辑:admin 
网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
| 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告 |