网站地图    收藏   

主页 > 后端 > 网站安全 >

xpath注入原理分析 - 网站安全 - 自学php

来源:自学PHP网    时间:2015-04-17 11:59 作者: 阅读:

[导读] xpath是xml路径语言,用于配置文件的查找。数据库就是xml文件。#8203;常见的xpath语句如下:users user firstnameBen/firstname lastnameElmore/lastname logi......

  xpath是xml路径语言,用于配置文件的查找。数据库就是xml文件。
常见的xpath语句如下:
 
<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>
</users>
 
//users/user[loginID/text()='"&request("loginID")&"' and password/text()='"&request("password")&"']/firstname/text()
 
关于xpath的语法可以参考:
 
http://www.2cto.com/kf/201107/97458.html
 
语法看懂了,看懂这个语句就很简单了。。。。。。
 
这个最终会显示firstname的值。。。。
 
注入语句跟其他注入一样:
 
数字型:  or 1=1
字符型: ' or '1'='1
 
这里顺带提个小问题,为什么 ' or '1'='1 会显示所有的firstname  (如搞不定的,可以回帖或者PM我,,,, )
 
这是很基本的注入,稍微高级点的:
 
例如判断父节点的名称,可以尝试:
' or substring(name(parent::*[position()=1]),1,1)='u
 
如果知道了当前节点名称,可以利用:
' or substring(password/text(),1,1)='1 判断值。。。。。。
 
====
 
xpath注入没有其他注入复杂,但也是一个趋势。。。。。。
 
另建议大家实际搭建环境模拟攻击,就很了解这个注入手法

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论