freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

[NISACTF 2022]流量包里有个熊做题笔记及心得
樂於ym 2024-03-19 11:34:05 123811

[NISACTF 2022]流量包里有个熊

一道很综合的题,不是很难

根据题目名称,可以大概猜到流量包里面藏了什么东西

image-20240319084446660

一张图片

image-20240319084840593

丢到010里面看看

image-20240319084932396

没有收获

image-20240319085009407

foremost出来没有东西,binwalk的话很不巧kali正在更新用不了

一顿隐写操作没有任何效果

只好请老祖出山

image-20240319085955961

image-20240319090040014

一眼base64

image-20240319090152616

呵呵,果然

打开rar文件

image-20240319090249029

外面文件夹叫作好像有个小爱心?但是没有任何东西

image-20240319090422153

flag.txt的内容是这样的

我们可以联想会不会这是某种格式文件数据,正好开头的SS让我们想到JPG图片的开头FFD8FF

SSQ8SS对应,毕竟没有其他格式以双相同字母开头的了

image-20240319090648341

可是这么多怎么解呢,比较厉害的同学可以试一逝

ff556bb23babb726c93943c0643e761

于是我们可以试试把它简单化

image-20240319091528202

好像没有用,刚刚唯一的思路也没有了

那么再回到那29578个字符的文本里面

首先考虑位移密码

image-20240319092717929

rot5和rot47不考虑,那么试一试rot13

因为F到S正好是差了13位

image-20240319092337384

from string import maketrans

rot13trans = maketrans('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz', 
   'NOPQRSTUVWXYZABCDEFGHIJKLMnopqrstuvwxyzabcdefghijklm')

# Function to translate plain text
def rot13(text):
   return text.translate(rot13trans)
def main():
   txt = "ROT13 Algorithm"
   print rot13(txt)
	
if __name__ == "__main__":
   main()

ROT13加密/解密 - ROT13编码/解码—LZL在线工具 (lzltool.cn)

image-20240319093005885

很好,基本出来了

010 ->新建十六进制文本->粘贴自十六进制

image-20240319093249136

找到了前面说的爱心

image-20240319093516721

常见隐写跑一遍

foremost

image-20240319103758050

binwalk

image-20240319105740501

一直想试试这个来着,但好像并没有什么用

image-20240319105841372

最后发现是盲水印

image-20240319110017860

吐槽一下,这flag是真的看不出来

Python脚本的话

import cv2
import numpy as np
import matplotlib.pyplot as plt
img = cv2.imread('111111.jpg',0) #直接读为灰度图像
f = np.fft.fft2(img)
fshift = np.fft.fftshift(f)#将图像中的低频部分移动到图像的中心
#取绝对值:将复数变化成实数
#取对数的目的为了将数据变化到较小的范围(比如0-255)
s1 = np.log(np.abs(f))
s2 = np.log(np.abs(fshift))
plt.subplot(121),plt.imshow(s1,'gray'),plt.title('original')
plt.subplot(122),plt.imshow(s2,'gray'),plt.title('center')
plt.show()

我试的绝对路径失败了

image-20240319111514824

清楚一点

总结

这道题不难但是涉及的地方挺多的,根据SS猜到FF开头的JPG再想到rot13就体现了典型的MISC思想,虽然有更抽象的(

正好把我之前丢失的盲水印脚本补回来了

# 网络安全 # CTF # 网络安全技术 # misc
本文为 樂於ym 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
樂於ym LV.2
这家伙太懒了,还未填写个人描述!
  • 3 文章数
  • 3 关注者
新鲜webshell刷题记录
2024-03-27
记一次webshell流量题心得
2024-03-18