好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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

  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://HdhCmsTest2cto测试数据/kf/201107/97458. html

 

语法看懂了,看懂这个语句就很简单了。。。。。。

 

这个最终会显示firstname的值。。。。

 

注入语句跟其他注入一样:

 

 

这里顺带提个小问题,为什么 ' or '1'='1 会显示所有的firstname  (如搞不定的,可以回帖或者PM我,,,, )

 

这是很基本的注入,稍微高级点的:

 

例如判断父节点的名称,可以尝试:

' or substring(name(parent::*[position()=1]),1,1)='u

 

如果知道了当前节点名称,可以利用:

' or substring(password/text(),1,1)='1 判断值。。。。。。

 

====

 

xpath注入没有其他注入复杂,但也是一个趋势。。。。。。

 

另建议大家实际搭建环境模拟攻击,就很了解这个注入手法

查看更多关于xpath注入原理分析 - 网站安全 - 自学php的详细内容...

  阅读:42次