赞
踩
Table of Contents
题目如下:
开局一张图。故事全靠编,hahhahahah
下载附件:
为cat文件。
给了数据包破解WiFi密码,基本上都是爆破了:
1. 创建密码字典:
crunch 11 11 -t 1391040%%%% -o password.txt
2. 爆破:
aircrack-ng -a2 wifi.cap -w password.txt
提示需要爆破的对象:
看到第三个存在握手包,咦哈哈哈哈哈哈哈哈哈,就是它了!!!!
呵呵,真鸡儿快!
那么:
flag{13910407686}
嗯,100分到手!
点击链接:
提示不是admin:
burp安排上:
显示isadmin=false,改为isadmin=true:
文件下载有问题,,,此题先暂停在这儿,,,,,,,,,,,,,,,,
点开链接下载文件解压得到一个.jpg文件。
顺手点开属性一看:
这家伙还有一个备注:TVNEUzQ1NkFTRDEyM3p6
看起来挺像base64编码,base64解码搞一哈嗨:
解密得到:MSDS456ASD123zz
看起来也不像flag,试了一下确实不是,那就先放这。
再看看图片大小,6M多,贼吉尔大!用binwalk分析一下试试:
打开分离出来的out.rar压缩包:
哎呀卧槽,需要密码。。。。。那会不会。。。。。嘿嘿,试一下哈(备注base64解码后的数据)
啧啧啧,还真是,解压后的文件为:
问题是flag还是不见啊。。。。
但是,,,这不是回到隐写2了吗?
用winhex修改宽高:把第二行第六列的01改成02保存
然后:
就没有有然后了。。。100分
下载附件:8.jpg
用binwalk查看文件:内含9个文件
用foremost提取出来:
用binwalk挨个进行分析:88,888,8888三个文件内含信息
可以看见 88 上面有个二维码:
扫一下得内容为:bilibili
用foremost提取8888:可以得到一个二维码
扫一下得到信息:panama
那么888内的信息是什么呢?
给其加上jpg后缀,查看属性,可以看见备注信息:c2lsaXNpbGk=
base64解密得:silisili
至此三个含有信息的图像所含信息都出来了
尝试了几个组合,最终发现了flag为:flag{bilibili_silisili_panama}
打开附件添加png后缀:
通常做图片隐写的题,大概都是先右键查看属性,看下有没有一些特殊的信息,没有就放binwalk看下有没有隐藏什么文件,又或者直接stegsolve分析一波,这题一开始我都试了一遍,无果。
折腾好半天之后,发现了一点线索,在RGB里都发现了这奇怪的一段(为什么选LSB,BGR?题目说的),
png图片的正常文件头为89 50 4e 47。这里面多出了ff fe:
将文件输出保存的格式bin(txt格式用winhex和010Editor打开都是乱码),然后我们修改文件的后缀为png,然后发现图片打不开,用winhex打开后删除前面的FFFE保存:
得到半张二维码:
然后改写图片高度:
保存得到:
诶呀卧槽,这二维码看起来贼吉尔别扭!
拿画图工具反色一哈子:
用QR research 看一下:
看到了百度网盘的链接:https://pan.baidu.com/s/1pLT2J4f
进入是一个flag.rar的压缩包:
下载下来,解压打开:
什么鬼?魔鬼吗?
不知道怎么下手了。。。
度娘搜了下,发现另一位老铁写的writeup
https://www.jianshu.com/p/abc44c54857a
最后根据hint里面的提示“NTFS”,根据大佬的说法,这是一种流隐写,需要用到工具
ntfstreamseditor,然而。。这里还有一个坑就是,这压缩文件一定要用winrar来解压才会产生这样的效果
接着用ntfstreamseditor,查看解压的文件夹里面的数据流,然后把他导出来:
将里面的flag.pyc文件导出:这是一个py文件编译后的文件
拿去在线反编译一下:
得到的是一个加密脚本:
再编辑如下解密脚本代码:
- def decode():
- ciphertext = [
- '96',
- '65',
- '93',
- '123',
- '91',
- '97',
- '22',
- '93',
- '70',
- '102',
- '94',
- '132',
- '46',
- '112',
- '64',
- '97',
- '88',
- '80',
- '82',
- '137',
- '90',
- '109',
- '99',
- '112']
- ciphertext.reverse()
- flag = ''
- for i in range(len(ciphertext)):
- if i % 2 == 0:
- s = int(ciphertext[i]) - 10
- else:
- s = int(ciphertext[i]) + 10
- s=chr(i^s)
- flag += s
- return flag
-
- def main():
- flag = decode()
- print(flag)
-
- if __name__ == '__main__':
- main()
去运行一下:
哎呀卧槽:flag终于出来了。。。。。
flag{Y@e_Cl3veR_C1Ever!}
打开题目是一个压缩包,解压是一个MP3音频文件,根据题目的提示的key
使用mp3stego 和提示的key 进行操作:
在MP3文件同目录下多出两个文件:
打开TXT文件得到flag:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。