[NISACTF 2022]流量包里有个熊做题笔记及心得
樂於ym
- 关注
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]流量包里有个熊做题笔记及心得
[NISACTF 2022]流量包里有个熊
一道很综合的题,不是很难
根据题目名称,可以大概猜到流量包里面藏了什么东西
一张图片
丢到010里面看看
没有收获
foremost出来没有东西,binwalk的话很不巧kali正在更新用不了
一顿隐写操作没有任何效果
只好请老祖出山
一眼base64
呵呵,果然
打开rar文件
外面文件夹叫作好像有个小爱心?
但是没有任何东西
flag.txt的内容是这样的
我们可以联想会不会这是某种格式文件数据,正好开头的SS
让我们想到JPG
图片的开头FFD8FF
与SSQ8SS
对应,毕竟没有其他格式以双相同字母开头的了
可是这么多怎么解呢,比较厉害的同学可以试一逝
于是我们可以试试把它简单化
好像没有用,刚刚唯一的思路也没有了
那么再回到那29578个字符的文本里面
首先考虑位移密码
rot5和rot47不考虑,那么试一试rot13
因为F到S正好是差了13位
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)
很好,基本出来了
010 ->新建十六进制文本->粘贴自十六进制
找到了前面说的爱心
常见隐写跑一遍
foremost
binwalk
一直想试试这个来着,但好像并没有什么用
最后发现是盲水印
吐槽一下,这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()
我试的绝对路径失败了
清楚一点
总结
这道题不难但是涉及的地方挺多的,根据SS猜到FF开头的JPG再想到rot13就体现了典型的MISC思想,虽然有更抽象的(
正好把我之前丢失的盲水印脚本补回来了
本文为 樂於ym 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
新鲜webshell刷题记录
2024-03-27
记一次webshell流量题心得
2024-03-18