2024网鼎杯-青龙组
备注:图片图床使用为Github,打不开需要挂梯子!
Misc
MISC01
首先打开流量,发现存在多种协议
S1AP
GTPv2
DIAMETER
在移动通信协议中,S1AP、GTPv2 和 Diameter 协议都可能涉及位置信息。这些协议通常携带不同层级的位置信息,用于不同的功能,如位置更新、会话管理和用户的移动性管理。以下是每种协议中与位置信息相关的字段:
---
### 1. **S1AP (S1 Application Protocol)**
S1AP 是 EPC 和 eNodeB 之间的接口协议,用于管理和信令。以下是 S1AP 中一些与位置信息相关的字段:
- **eCGI (E-UTRAN Cell Global Identifier)**: 包含了小区的唯一标识符。
- **组成**:PLMN ID (包含 MCC 和 MNC) 和 Cell ID。
- **TAI (Tracking Area Identity)**: 标识用户当前所在的跟踪区域。
- **组成**:PLMN ID 和 TAC (Tracking Area Code)。
- **MME Code 和 MME Group ID**: 用于标识用户接入的 MME。
- **Location Reporting Information**: 包含用户的位置报告设置,用于位置更新和用户的移动管理。
- **Global-ENB-ID**: 标识特定的 eNodeB,包含 PLMN ID 和 eNodeB ID。
这些字段用于位置更新、移动管理和跟踪用户在网络中的位置变化。
---
### 2. **GTPv2 (GPRS Tunneling Protocol Version 2)**
GTPv2 用于 EPC 中的信令和会话管理,特别是在 S-GW 和 P-GW 之间。以下是 GTPv2 中常见的位置信息字段:
- **User Location Information (ULI)**: 包含用户的位置信息。
- 可能包含多个字段,如 CGI (Cell Global Identity)、SAI (Service Area Identity)、RAI (Routing Area Identity)、TAI、ECGI 等。
- **CGI (Cell Global Identity)**: 包含 PLMN ID 和 Cell ID,用于标识具体的小区。
- **SAI (Service Area Identity)**: 包含 PLMN ID 和 Service Area Code,用于标识服务区域。
- **RAI (Routing Area Identity)**: 包含 PLMN ID 和 Routing Area Code,用于路由区域标识。
- **TAI (Tracking Area Identity)**: 用于标识用户所在的跟踪区域,与 S1AP 中的 TAI 类似。
这些字段在位置更新和会话管理消息中经常使用,例如位置更新请求和建立会话时。
---
### 3. **Diameter (用于 S6a/S6d 接口)**
Diameter 协议用于 MME 和 HSS 之间的信令,通常承载用户订阅和认证信息。在 Diameter 中,位置信息通常存在于以下字段中:
- **EPS-Location-Information**: 包含 eNodeB 信息,用于标识用户的位置信息。
- 可能包含 MME Code、MME Group ID、ECGI、TAI 等。
- **Location-Information**: 包含用户的位置信息,可用于鉴权或更新位置请求。
- **RAT-Type**: 虽然不直接是位置字段,但可以指示用户接入的无线接入类型(如 LTE),这与位置信息一起使用。
- **Origin-Host 和 Origin-Realm**: 表示请求的来源 MME 和域,用于标识服务的源位置。
- **Serving-Node**: 表示服务节点的信息,包括可能的 MME 信息。
这些字段在用户位置更新和设备连接的认证请求中被频繁使用。
---
### 总结
| 协议 | 位置相关字段 | 说明 |
|-----------|-------------------------------------------|-------------------------------------------------|
| **S1AP** | eCGI, TAI, MME Code, MME Group ID | 小区标识、跟踪区域标识、MME 标识 |
| **GTPv2** | ULI, CGI, SAI, RAI, TAI | 用户位置信息、服务区域、路由区域、跟踪区域 |
| **Diameter** | EPS-Location-Information, Location-Information, Origin-Host | 用户位置信息、位置更新 |
这些字段用于标识用户的位置和当前连接的网络组件,在不同的通信阶段为用户提供会话管理和位置更新支持。
根据gpt的回复,再加上附件名称位MME,重点怀疑是Diameter
依次寻找尝试
最终在这个流中发现EPS-Location-Information字段
da18bee581c4ae
md5加密一下
daedc32bdeceb78094502e481c90c6cc
MISC02
LinuxUbuntu_6_5_0-41-generic_profilex64
MISC03
一个数据很多的流量
开始的时候查找到有相关webshell的信息
开始的时候一直怀疑需要将webshell进行解密
但是解了半天,一直有问题,后来发现原来是将源ip直接提交就行
过滤一下200响应的流,就很容易找到了
最终提交这个ip即可
39.168.5.60
MISC04
原题在IrisCTF2024peanoscramble
然后找到原题的wp
https://almostgph.github.io/2024/01/08/IrisCTF2024/
from PIL import Image
from tqdm import tqdm
def peano(n):
if n == 0:
return [[0,0]]
else:
in_lst = peano(n - 1)
lst = in_lst.copy()
px,py = lst[-1]
lst.extend([px - i[0], py + 1 + i[1]] for i in in_lst)
px,py = lst[-1]
lst.extend([px + i[0], py + 1 + i[1]] for i in in_lst)
px,py = lst[-1]
lst.extend([px + 1 + i[0], py - i[1]] for i in in_lst)
px,py = lst[-1]
lst.extend([px - i[0], py - 1 - i[1]] for i in in_lst)
px,py = lst[-1]
lst.extend([px + i[0], py - 1 - i[1]] for i in in_lst)
px,py = lst[-1]
lst.extend([px + 1 + i[0], py + i[1]] for i in in_lst)
px,py = lst[-1]
lst.extend([px - i[0], py + 1 + i[1]] for i in in_lst)
px,py = lst[-1]
lst.extend([px + i[0], py + 1 + i[1]] for i in in_lst)
return lst
order = peano(6)
img = Image.open(r"C:\Users\ASUSROG\Desktop\chal.png")
width, height = img.size
block_width = width # // 3
block_height = height # // 3
new_image = Image.new("RGB", (width, height))
for i, (x, y) in tqdm(enumerate(order)):
# 根据列表顺序获取新的坐标
new_x, new_y = i % width, i // width
# 获取原图像素
pixel = img.getpixel((x, height - 1 - y))
# 在新图像中放置像素
new_image.putpixel((new_x, new_y), pixel)
new_image.save("rearranged_image.jpg")
翻转图像后使用微信扫码得到flag
wdflag{3f531c43-3b8b-42ab-babf-567f1216fa06}
Comments