SQL注入的应对策略能够应对XPath注入吗?

 
   | |

导读:虽然XPath与SQL在许多方面有些相似,但XPath注入比SQL注入更加危险。当Web应用程序在没有验证用户提供数据的情况下构建XPath查询时,XPath注入可以利用这些应用程序。

关键词:XPath SQL XPath查询 数据 XML路径语言 数据库

 
正在加载数据... 【TechTarget中国原创】问:XPath注入攻击与SQL注入攻击有什么不同?SQL注入攻击能够缓解防御XPath注入攻击的技术吗? 答:虽然XPath语言表达的句法与SQL查询在许多方面都有些相似,但是,XPath注入比SQL注入更加危险。

【TechTarget中国原创】问: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)批准程序的最后阶段。这个技术规范提供了一套极大地扩展了的功能和能力,但是遗憾的是没有增加安全功能。

 
查看全文
 
 
 
 
 

数据库安全

 
在你认为已经很好地控制了SQL Server安全性时,往往问题正在悄悄出现。有人会在网络中的某个区域悄然进入你已经遗忘或根本不知道的SQL Server系统。
 
Web开发者经常使用自定义代码来实现动态网站功能,但这种代码存在风险,会使服务器带有大量漏洞,尤其是把Web应用程序作为后台数据库交互接口时这一问题将……
 
尽管DAM被大肆炒作,但它仅能对数据安全起到微弱的影响,最终工作需要交由数据库供应商来完成,DAM市场的炒作程度远远超过实际客户的需求及对该市场的预估……
 
本文对几款好用的SQL Server密码破解工具进行了详细的介绍,其中包括了SQLPing3,Cain&Abel,NGSSQLCrack,AppDetective Pro和Advanced SQL Password Recovery。
 
对于数据库补丁管理工作来说,什么样的流程才最佳呢?在本次的Techtarget专家答疑中,我们请到了Michael Cobb专家为我们解答数据库补丁更新的最佳实践方式。
 

登录TechTarget中国

关闭
本服务仅向TechTarget中国的会员开放,请登录或立即免费注册
登录Email
请输入您的登录Email
密码
下次自动登录