0%

[P7392]官方解题思路

2025-12-09 16:51By
xiaohei7619
Webshell流量

Problem: [2025年全国信息安全竞赛(新疆赛区) 2025]yijian霜寒十四州

题目考点

rot13解密

文件格式判断

解题思路

在http流量包的第84个数据包

80324Guvf gevc yrsg fbzr pbagrag gung hfrf gur fnzr rapbqre nf gur Gebwna ubefr,OHQOPLNjRWfb0BMlmGlIra7pDAm9dUp/33FTqq1DlduIP2DDH8qWaEt7/jL= 2166rrq9n /ebbg 0psrq167p 5a9ae81

rot13解密得到:

80324This trip left some content that uses the same encoder as the Trojan horse,BUDBCYAwEJso0OZyzTyVen7cQNz9qHc/33SGdd1QyqhVC2QQU8dJnRg7/wY= 2166eed9a /root 0cfed167c 5n9nr81

将密文 BUDBCYAwEJso0OZyzTyVen7cQNz9qHc/33SGdd1QyqhVC2QQU8dJnRg7/wY= 进行 Base64 解码,得到二进制数据。

import base64 data = base64.b64decode('BUDBCYAwEJso0OZyzTyVen7cQNz9qHc/33SGdd1QyqhVC2QQU8dJnRg7/wY=') print(data[:2])
输出:b'x\x9c'

前两个字节是 0x78 0x9C,这是 zlib 压缩格式的头部标记,使用 zlib.decompress(data, -zlib.MAX_WBITS) 解压。

解压后的数据为 UTF-8 编码的字符串,即 flag。

import base64, zlib b64 = "BUDBCYAwEJso0OZyzTyVen7cQNz9qHc/33SGdd1QyqhVC2QQU8dJnRg7/wY=" data = base64.b64decode(b64) plain = zlib.decompress(data, -zlib.MAX_WBITS) print(plain.decode())

flag{175374be-4547-f6f6-2232-14d7524d30a5}

还没有人赞赏,快来当第一个赞赏的人吧!
  
© 著作权归作者所有
加载失败
广告
×
评论区
添加新评论