[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":指单播,即数据包从一个发送方发送到一个特定的接收方。其他方式还有广播(发送到网络中的所有设备)和组播(发送到一组特定的设备)。

相关推荐
xiaoduyyy11 小时前
【Android】View动画—XML动画、帧动画
android·xml
inxunoffice12 小时前
导入 Excel 规则批量修改 txt/html/json/xml/csv 等记事本文本文件内容
xml·excel
inxunoffice13 小时前
批量删除 txt/html/json/xml/csv 等文本文件空白行
xml
NaZiMeKiY14 小时前
基于XML方式Bean的配置
xml
利明的博客14 小时前
mediacodec服务启动时加载media_codecs.xml
android·xml·java
小突突突1 天前
总结 MyBatis 的XML实现方法
xml·oracle·mybatis
Мартин.4 天前
[Meachines] [Medium] DevOops XXE-XML-RSS+cPickle反序列化+git-leak权限提升
xml·git
珺毅同学4 天前
XML标签格式转换为YOLO TXT格式
xml·人工智能·yolo
一个幽默的程序员4 天前
Postman 如何发送 XML 格式的 API 请求?
xml·测试工具·postman