浅谈XXE进犯

访客6年前黑客文章1023

现在越来越多首要的web程序被发现和陈述存在XXE(XML External Entity attack)缝隙,比方说facebook、paypal等等。 举个比方,咱们扫一眼这些网站最近奖赏的缝隙,充沛证明了前面的说法。虽然XXE缝隙现已存在了许多年,可是它从来没有取得它应得的重视度。许多XML的解析器默许是含有XXE缝隙的,这意味着开发人员有职责保证这些程序不受此缝隙的影响。
本文首要评论什么是XML外部实体,这些外部实体是怎样被进犯的。
0×01. 什么是XML外部实体?
假如你了解XML,你能够把XML理解为一个用来界说数据的东东。因而,两个选用不同技能的体系能够经过XML进行通讯和交流数据。 比方,下图便是一个用来描述一个员工的XML文档样本,其间的’name’,'salary’,'address’ 被称为XML的元素。

 
有些XML文档包括system标识符界说的“实体”,这些XML文档会在DOCTYPE头部标签中出现。这些界说的’实体’能够拜访本地或许长途的内容。比方,下面的XML文档样例就包括了XML ‘实体’。

 
在上面的代码中, XML外部实体 ‘entityex’ 被赋予的值为:file://etc/passwd。在解析XML文档的进程中,实体’entityex’的值会被替换为URI(file://etc/passwd)内容值(也便是passwd文件的内容)。 关键字’SYSTEM’会告知XML解析器,’entityex’实体的值将从这以后的URI中读取。因而,XML实体被运用的次数越多,越有协助。
0×02. 什么是XML外部实体进犯?
有了XML实体,关键字’SYSTEM’会令XML解析器从URI中读取内容,并答应它在XML文档中被替换。因而,进犯者能够经过实体将他自界说的值发送给应用程序,然后让应用程序去出现。 简略来说,进犯者强制XML解析器去拜访进犯者指定的资源内容(或许是体系上本地文件亦或是长途体系上的文件)。比方,下面的代码将获取体系上folder/file的内容并呈献给用户。

0×03. 怎样鉴别一个XML实体进犯缝隙?
最直接的答复便是: 鉴别那些承受XML作为输入内容的端点。 可是有时候,这些端点或许并不是那么显着(比方,一些仅运用 *** ON去拜访服务的客户端)。在这种情况下,浸透测验人员就必须测验不同的测验办法,比方修正HTTP的恳求办法,修正Content-Type头部字段等等办法,然后看看应用程序的呼应,看看程序是否解析了发送的内容,假如解析了,那么则或许有XXE进犯缝隙。
0×04. 怎样承认XXE缝隙?
出于演示的意图,咱们将用到一个Acunetix保护的demo站点,这个站点便是: http://testhtml5.vulnweb.com/。这个站点可用于测验Acunetix web扫描器的功用。 拜访 http://testhtml5.vulnweb.com/ 站点,点击 ‘Login’下面的 ‘Forgot Password’ 链接。留意调查应用程序怎样运用XML传输数据,进程如下图所示:
恳求:

呼应:

调查上面的恳求与呼应,咱们能够看到,应用程序正在解析XML内容,承受特定的输入,然后将其出现给用户。为了测验验证XML解析器的确正在解析和履行咱们自界说的XML内容,咱们发送如下的恳求
修正后的恳求和呼应:

如上图所示,咱们在上面的恳求中界说了一个名为myentity、值为’testing’的实体。 呼应报文明晰地展现了解析器现已解析了咱们发送的XML实体,然后并将实体内容出现出来了。 由此,咱们能够承认,这个应用程序存在XXE缝隙。
0×05. 怎样进行XXE进犯?
Code 1:
 
 1. To read files on same server:
 
  1.0" encoding="ISO-8859-1"?>
 
 
 
  ]>
 
  &myentity;
 
 2. To crash the server / Cause denial of service:
 
  1.0"?>
 
 
 
 
 
  &lol;&lol;&lol;&lol;&lol;&lol;&lol;&lol;&lol;&lol;">
 
  &lol2;&lol2;&lol2;&lol2;&lol2;&lol2;&lol2;&lol2;&lol2;&lol2;">
 
  &lol3;&lol3;&lol3;&lol3;&lol3;&lol3;&lol3;&lol3;&lol3;&lol3;">
 
  &lol4;&lol4;&lol4;&lol4;&lol4;&lol4;&lol4;&lol4;&lol4;&lol4;">
 
  &lol5;&lol5;&lol5;&lol5;&lol5;&lol5;&lol5;&lol5;&lol5;&lol5;">
 
  &lol6;&lol6;&lol6;&lol6;&lol6;&lol6;&lol6;&lol6;&lol6;&lol6;">
 
  &lol7;&lol7;&lol7;&lol7;&lol7;&lol7;&lol7;&lol7;&lol7;&lol7;">

[1] [2]  黑客接单网

相关文章

ETC黑客接单,青年黑客联系方式,黑客可以用手机号码找微信聊天记录吗

因为Access数据库的加密机制十分简略,所以即便数据库设置了暗码,解密也很简单。 该数据库体系通过将用户输入的暗码与某一固定密钥进行异或来构成一个加密串,并将其存储在*.mdb文件中从地址“&H42...

reshacker_有没有什么地方能找黑客合作-一个黑客找要授权费

「reshacker_有没有什么地方能找黑客合作-一个黑客找要授权费」9、用发掘机挑选admin表,点击 [猜解列名],成功猜解出三个列名id、username和password; 这样来跑就可...

接单平台,网赌的钱可以找黑客追回吗,找黑客把案底消了

[1][2][3][4][5][6][7]黑客接单渠道0×1 概略3,方针站点:freebuf.com上存在灵敏数据或许能够在方针站点上履行一些灵敏操作。 该exploit.rtf...

黑客接单app._网赌被黑找黑客有用吗

值得注意的是,在GreyEnergy歹意活动开端后,咱们发现GreyEnergy和Zebrocy之间存在相同之处,二者运用相同的基础设施以及相同的ICS 0day缝隙。 Powershell日志201...

为什么WAF(WebApplicationFirewall)不能保证数据库安全?

 正告:不要以为有了WAF的维护,数据库安全就能够无忧无虑了,数据库依然有很大的露出危险。      Web运用程序防火墙(WAF)现在现已成为许多商业Web网站和体系的根本维护措施了,它确实在防备许...

微信赌博举报会不会挽回损失

接着ntlmrelayx.py开始执行LDAP攻击,加上-debug选项后可以看到更详细的信息。 6、2019年5月31日do Windows 7 for 32-bit Systems Service...