[NCTF2019]True XML cookbook[XXE] [内网探测] [网络ip相关知识]

一模一样的登录界面

我直接故伎重演但是并卵

(话说XXE注入之前好像其他博客都加上了<?xml version="1.0" encoding="utf-8"?>,但是不加好像也没有什么问题🤔)

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;
?>

网上看别的师傅wp才知道还考了内网探测,可惜我啥也不懂.....

内网探测常用文件

感觉好奇怪啊为什么突然就想到要打内网呢

/etc/hosts本地静态的主机名与 IP 地址映射文件,用于手动配置域名解析规则(优先级高于DNS)每行格式:IP地址 主机名 [别名...]

/proc/net/arp显示内核的 ARP 缓存表(IPv4 地址到 MAC 地址的映射),用于局域网内设备通信

也就是近期通信过的ip地址

/proc/net/fib_trie显示内核的 路由表结构(以 Trie 树形式组织),用于管理 IP 数据包的转发规则

还有其他的一些常见的指令:

file:///proc/net/tcp

file:///proc/net/udp

file:///proc/net/dev

file:///etc/passwd

php://filter/convert.base64-encode/resource=xxxxx

在这里发现了

复制代码
          /0 universe UNICAST
        |-- 10.244.244.195

利用这个ip的最后一段进行爆破,但是爆破时间非常非常非常慢 扫了两个小时都没扫出来 蒜了

打穿你的内网之三层内网渗透 - 9eek - 博客园

Xml实体注入漏洞姿势总结_xml实体注入漏洞的利用方式-CSDN博客

一些ip的解释

虽然跟本题没啥关系吧但是还是多扩展一下知识面吧

关于计算机自动获取ip+DHCP+APIPA地址+192.168.xxx

  • 在arp里头的第一个169打头的是APIPA地址,这涉及到计算机自动获取ip的过程
  • DHCP 服务器可以为设备分配私有ip也可以分配公有ip,但大多数情况下还是分配私有 IP 地址(局域网中),++计算机出厂时不会自带互联网上的 IP 地址。但是在出厂时,其网络接口卡(NIC)会有一个唯一的物理地址,也称为 MAC 地址++。MAC 地址是固化在网络接口卡硬件中的,但它不能用于在互联网上定位和通信。当计算机连接到网络后,根据网络的配置方式(如通过 DHCP 自动获取或手动设置)来获得相应的 IP 地址,以便实现与其他设备的网络通信。
  • 当一台计算机设置为自动获取 IP 地址,但又无法从 DHCP 服务器获取到合法的 IP 地址时,就会自动从 169.254.0.1 到 169.254.255.254 这个范围内选择一个 IP 地址给自己使用,这种地址被称为 APIPA 地址。++APIPA 地址仅能在本地网络中使用,不能用于访问互联网或与其他非本地网络中的设备进行通信。++

第二个192.168打头的是内网专属地址(C类私有地址,一般在家庭等较小范围内使用)

关于子网掩码+UNICAST

复制代码
          /0 universe UNICAST
        |-- 10.244.244.195

子网掩码:将 IP 地址划分成网络地址和主机地址两部分。通过子网掩码,计算机可以判断两个 IP 地址是否在同一个子网中,从而确定数据传输的方式。

复制代码
IP 地址:   192.168.1.100 → 11000000.10101000.00000001.01100100  
子网掩码: 255.255.255.0 → 11111111.11111111.11111111.00000000  
按位与运算结果:  
网络地址: 192.168.1.0   → 11000000.10101000.00000001.00000000  

判断两个 IP 是否在同一子网
设备 A:10.1.1.100,子网掩码 255.255.255.0(/24)

设备 B:10.1.2.200,子网掩码 255.255.255.0(/24)

计算网络地址:

设备 A:10.1.1.0

设备 B:10.1.2.0

结论:不在同一子网,需通过路由器通信。

例子:192.168.0.0/24 网段中,子网掩码 255.255.255.0 表示前 24 位是网络地址,后 8 位是主机地址。在同一个网络地址里的才能通信

常见子网掩码与主机容量

子网掩码 CIDR 表示 主机位数 最大主机数(可用) 典型用途
255.255.255.0 /24 8 254 家庭/小型企业网络
255.255.255.128 /25 7 126 中等规模子网划分
255.255.255.192 /26 6 62 服务器集群
255.255.255.252 /30 2 2 点对点链路(如 VPN 隧道)

在这里/0表示子网掩码为0.0.0.0,代表了非常大的网络范围,也就是整个ip空间

"UNICAST":指单播,即数据包从一个发送方发送到一个特定的接收方。其他方式还有广播(发送到网络中的所有设备)和组播(发送到一组特定的设备)。

相关推荐
程序猿零零漆19 小时前
Spring之旅 - 记录学习 Spring 框架的过程和经验(十一)基于XML方式、注解的声明式事务控制、Spring整合Web环境
xml·学习·spring
科雷软件测试1 天前
推荐几个常用的校验yaml、json、xml、md等多种文件格式的在线网站
xml·html·md·yaml
susu10830189111 天前
maven-3.9.12的conf配置settings.xml
xml·java·maven
odoo中国3 天前
如何在 Odoo 中从 XML 文件调用函数
xml·odoo·odoo开发·调用函数
阿凉07024 天前
新版本JLink安装目录中缺失JLinkDevices.xml添加方法
xml·嵌入式硬件
Knight_AL4 天前
从 QueryWrapper 到 XML:一次「报表 SQL」的重构实践
xml·sql·重构
智航GIS5 天前
9.5 XML 处理指南
xml·前端·python
像风一样的男人@5 天前
python --yolo混合文件xml和img整理
xml·python·yolo
飞舞花下11 天前
MAVEN私有仓库配置-Nexus私有仓库
xml·java·maven
好大的月亮11 天前
mybatis在xml中使用OGNL取值简述
xml·mybatis