[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思想,虽然有更抽象的(
正好把我之前丢失的盲水印脚本补回来了
4A评测 - 免责申明
本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。
不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。
本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。
如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!
程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。
侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)