首页云计算 正文

网络安全之XPath注入防御方案

2024-11-19 8 0条评论
  1. 首页
  2. 证书相关
  3. 网络安全之XPath注入防御方案

网络安全之XPath注入防御方案

发布日期:2017-07-04

XPath注入定义

XPath注入,攻击者利用Web应用对用户提交的参数过滤不严的漏洞,提交经过构造的参数,这些参数能够被注入到XPath查询语句中,获得权限信息的访问权并在此基础上更改这些信息。适用于使用XML文档存储数据的Web应用系统。和SQL注入非常相似,区别在于SQL注入是用户的输入被注入到SQL语句中,而XPath注入是用户的输入注入到XPath查询语句中。

Xpath注入攻击原理

XPath注入攻击主要是通过构建特殊的输入,这些输入往往是XPath语法中的一些组合,这些输入将作为参数传入Web 应用程序,通过执行XPath查询而执行入侵者想要的操作,下面以登录验证中的模块为例,说明 XPath注入攻击的实现原理。

在Web 应用程序的登录验证程序中,一般有用户名(username)和密码(password) 两个参数,程序会通过用户所提交输入的用户名和密码来执行授权操作。若验证数据存放在XML文件中,其原理是通过查找user表中的用户名 (username)和密码(password)的结果来进行授权访问,

例存在user.xml文件如下:

<users>

<user>

<firstname>Ben</firstname>

<lastname>Elmore</lastname>

<loginID>abc</loginID>

<password>test123</password>

</user>

<user>

<firstname>Shlomy</firstname>

<lastname>Gantz</lastname>

<loginID>xyz</loginID>

<password>123test</password>

</user>

则在XPath中其典型的查询语句如下:

//users/user[loginID/text()=’xyz’and password/text()=’123test’]

但是,可以采用如下的方法实施注入攻击,绕过身份验证。如果用 户传入一个 login 和 password,例如 loginID = ‘xyz’ 和 password = ‘123test’,则该查询语句将返回 true。但如果用户传入类似 ‘ or 1=1 or ”=’ 的值,那么该查询语句也会得到 true 返回值,因为 XPath 查询语句最终会变成如下代码:

//users/user[loginID/text()=”or 1=1 or ”=” and password/text()=” or 1=1 or ”=”]

这个字符串会在逻辑上使查询一直返回 true 并将一直允许攻击者访问系统。攻击者可以利用 XPath 在应用程序中动态地操作 XML 文档。攻击完成登录可以再通过XPath盲入技术获取最高权限帐号和其它重要文档信息。

XPath注入攻击防御技术

目前专门的XPath攻击防御技术还不是太多,但是SQL注入攻击防御技术可以加以改进,应用到XPath注入攻击防御。具体技术总结如下:

(1)数据提交到服务器上端,在服务端正式处理这批数据之前,对提交数据的合法性进行验证。

(2)检查提交的数据是否包含特殊字符,对特殊字符进行编码转换或替换、删除敏感字符或字符串。

(3)对于系统出现的错误信息,以IE错误编码信息替换,屏蔽系统本身的出错信息。

(4)参数化XPath查询,将需要构建的XPath查询表达式,以变量的形式表示,变量不是可以执行的脚本。如下代码可以通过创建保存查询的外部文件使查询参数化:

 declare variable $loginID as xs:string external;

declare variable $password as xs:string external;

//users/user[@loginID=$loginID and@password= $password]

(5)通过MD5、SSL等加密算法,对于数据敏感信息和在数据传输过程中加密,即使某些非法用户通过非法手法获取数据包,看到的也是加密后的信息。


GDCA致力于网络信息安全,已通过WebTrust 的国际认证,是全球可信任的证书签发机构。GDCA专业技术团队将根据用户具体情况为其提供最优的产品选择建议,并针对不同的应用或服务器要求提供专业对应的HTTPS解决方案。GDCA一直以“构建网络信任体系,服务现代数字生活”的宗旨,致力于提供全球化的数字证书认证服务。其自主品牌——信鉴易 TrustAUTH  SSL证书:包括 OVSSL、EVSSL、代码签名证书等。为涉足互联网的企业打造更安全的生态环境,建立更具公信力的企业网站形象。

上一篇:网络安全之重放攻击的防御方案

下一篇:如何在Windows下编译安装Openssl

相关新闻

  • SSL证书对网站访问速度有影响吗
  • 个人隐私数据泄露有哪些危害?如何预防?
  • 部署SSL证书有哪些常见的错误
  • 国际证书、国产证书和国密证书
  • 游戏开发为什么离不开代码签名?
  • 僵尸网络攻击手法与防范方式
  • SSL证书助力保障网络数据安全
  • 网站加密与不加密区别
  • SSL证书有哪些类型和价格差异
  • ca机构颁发的证书包括那些内容呢?
文章版权及转载声明

本文作者:admin 网址:http://news.edns.com/post/113543.html 发布于 2024-11-19
文章转载或复制请以超链接形式并注明出处。

取消
微信二维码
微信二维码
支付宝二维码