描述
这种攻击利用XQuery来探测和攻击服务器系统;以类似方式,SQL注入允许攻击者利用SQL调用RDBMS, XQuery注射使用不当传递给XQuery命令来验证数据遍历和XQuery程序访问执行命令。XQuery注入可用于枚举元素对受害者的环境,注入本地主机的命令,或执行查询远程文件和数据来源。
攻击的可能性
典型的严重性
执行流程
探索
调查申请用户可控的输入:使用浏览器或一个自动化工具,攻击者遵循所有公共和行动在一个网站的链接。他们记录所有的链接、表单、资源访问web应用程序和所有其他可能的切入点之一。
技术 |
使用搜索工具跟踪和记录所有的链接和分析网页找到入口点。特别注意任何链接,包括参数的URL。 |
使用一个代理工具来记录所有用户输入入口点在手工遍历web应用程序的访问。 |
网站使用浏览器手动探索和分析它是如何构建的。许多浏览器的插件可以促进分析或自动发现。 |
实验
确定用户可控输入容易注入:确定用户可控输入容易注入。为每个用户可控的输入,攻击者嫌疑犯很容易受到XQL注入,试图在XQL注入具有特殊意义的字符。我们的目标是创建一个XQL和无效语法查询。
技术 |
使用web浏览器将输入文本字段或通过HTTP GET参数。 |
使用一个web应用程序调试工具如篡改数据,TamperIE, WebScarab,等等。修改HTTP POST参数,隐藏字段,non-freeform字段等。 |
使用XML文件将输入。 |
使用网络级数据包注入工具如netcat注入输入 |
使用修改客户端(由逆向工程修改)注入输入。 |
利用
信息披露:攻击者工艺品和注入一个XQuery负载由一个XQL查询导致行动上不恰当的信息披露。
技术 |
利用一个脆弱的输入确定在实验阶段,注入恶意XQuery负载。有效载荷旨在了解底层的XML数据库的结构和/或内容。 |
操纵XML数据库中的数据:攻击者工艺品和注入一个XQuery负载由一个XQL查询执行导致修改应用程序数据。
技术 |
利用一个脆弱的输入确定在实验阶段,注入恶意XQuery载荷。有效载荷试图插入或替换数据在XML数据库中。 |
先决条件
技能要求
后果
这个表指定不同的个体与攻击模式相关的后果。范围确定违反了安全属性,而影响了负面的技术影响,如果敌人成功的攻击。可能提供的信息如何可能的具体结果预计将看到列表中相对于其它后果。例如,可能有高可能性模式将被用来实现一定的影响,但较低的可能性,它将被利用来实现不同的影响。
范围 |
影响 |
可能性 |
完整性 |
修改数据 |
|
保密 |
读取数据 |
|
保密
访问控制
授权 |
获得特权 |
|
保密
完整性
可用性 |
执行未经授权的命令 |
|
缓解措施
设计:对所有XML执行输入allowlist验证输入 |
实现:以最少的特权运行xml解析和查询的基础设施,这样攻击者的能力是有限的调查从XQL其他系统资源。 |
例子,实例
攻击者可以通过XQuery表达式嵌入在其他标准的XML文档。像SQL注入攻击,攻击者隧道通过应用程序入口点目标资源访问层。下面的字符串的一个例子是一个攻击者访问帐户。xml请求服务提供者发回所有用户的名字。
医生(accounts.xml) / /用户[Name = ' * '] 通过XQuery的攻击可能难以预测,如果数据没有执行XQL之前进行验证。 |
分类法映射
内容的历史
提交 |
提交日期 |
提交者 |
组织 |
2014-06-23
(版本2.6) |
CAPEC内容团队 |
manbetx客户端首页 |
|
修改 |
修改日期 |
修饰符 |
组织 |
2020-07-30
(版本3.3) |
CAPEC内容团队 |
manbetx客户端首页 |
应对Execution_Flow更新, |
2020-12-17
(版本3.4) |
CAPEC内容团队 |
manbetx客户端首页 |
更新Taxonomy_Mappings |
2021-06-24
(版本3.5) |
CAPEC内容团队 |
manbetx客户端首页 |
更新Related_Weaknesses |
2022-09-29
(版本3.8) |
CAPEC内容团队 |
manbetx客户端首页 |
更新Example_Instances |
|