WEEK 3 buuctf第三页刷题&学习记录
我吃三明治
010打开,检索FF D9看看有没有修改尾部,发现包含两个图片,中间是一串base32字符,解密。
flag{6f1797d4080b29b64da5897780463e30}
[MRCTF2020]你能看懂音符吗
010打开,发现前两位调换导致rar压缩包无法正常打开,编辑一下。解压。
一串音符,隐写,检索一下,用在线工具解一下就好了。
flag{thEse_n0tes_ArE_am@zing~}
NTFS数据流
题目已经提示很明显了。WEEK 2 也做过类似的NTFS数据流题目([SWPU2019]我有一只马里奥)
命令:notepad 293.txt:flag.txt
flag{AAAds_nntfs_ffunn?}
[SWPU2019]你有没有好好看网课?
视频里藏了内容,根据提示在5s 7s附近。学到一种叫敲击码的东西。base64.
得到密码。解开flag2得到flag
flag{A2e_Y0u_Ok?}
[UTCTF2020]docx
改成.zip在一堆文件里面看到。认真找,一开始没找到
flag{unz1p_3v3ryth1ng}
sqltest
在wireshark里面搜索flag,检索到字符串,追踪流,发现sql布尔盲注
学到一个新wireshark操作,就是面对这种有大量相似操作,不好单独分析的数据,可以将其导出为CSV,以表格形式查看


发现是sql布尔盲注,每次都是从100开始测试的,所以提取100上面的所有数据就好了,从查询字段开始就可以手动/脚本提取了,前面的不用管,是在爆库名,表名什么的。
最后提取出
102 108 97 103 123 52 55 101 100 98 56 51 48 48 101 100 53 102 57 98 50 56 102 99 53 52 98 48 100 48 57 101 99 100 101 102 55 125
转为字符串得flag
flag{47edb8300ed5f9b28fc54b0d09ecdef7}
总结:是一道基于web知识的,考察wireshark使用的题目。
john-in-the-middle
wireshark打开,搜索没有结果,追踪流,在TCP流里面看到有好多png图片,于是foremost分离,进入图片分析,最终在stegsolve里面找到flag。

flag{J0hn_th3_Sn1ff3r}
总结:是一道基于misc图片分析,以及wireshark和foremost工具使用的综合题。
[ACTF新生赛2020]swp
这道题被foremost坑了,直接用工具分离结果压缩包打不开,只能看出里面有个.flag.swp文件。看来wp学到了wireshark其他导出方式,就不必foremost分离了。能直接避免这种问题。
还是之前的一通分析,既然题目文件名wget

那应该是在http流里面
文件--导出--HTTP--看到secret.zip,保存下来
然后就是伪加密的内容了

如图,可恶的foremost。并不一直靠谱。。
flag{c5558bcf-26da-4f8b-b181-b61f3850b9e5}
[GXYCTF2019]SXMgdGhpcyBiYXNlPw==
一眼base64隐写
跑脚本
flag{fazhazhenhaoting}
间谍启示录
打开是一个.iso文件,解压一下,里面有很多干扰文件。
有个可执行文件,运行,发现可能下载了一个东西但是由于设定的身份验证,又删掉了。应该是属于磁盘取证题目。
问了问AI


所以其实逻辑就是绕过执行这一步,直接获取文件内容。
看了其他人wp发现对于文件分析,哪怕是这种文件,拖进010分析也是个好方法,可以直接搜索flag。但是接下来用foremost可能面临需要找出隐藏文件,这一步我直接修改后缀名然后运行flag.exe没有遇到。
flag{379:7b758:g7dfe7f19:9464f:4g9231}
小易的U盘
其实1对于这些exe文件的分析也是这两题才开始,,总之都是先解压然后去里面找东西。这些autoflag.exe点开都没有什么内容,但是flag应该在其中。这一题在.inf文件里面有提示,flag在32里面,用IDA打开32进行逆向分析,可以直接F12+Shift查看字符串就看到了。

flag{29a0vkrlek3eu10ue89yug9y4r0wdu10}
总结:对于exe文件如果想知道它是如何运行的,底层代码,可以进行逆向分析,直接绕过执行这一步。(虽然对于这种操作还是不是很熟悉)。
[WUSTCTF2020]爬
010打开发现是PDF,改后缀名打开

十六进制转化ASCII
flag{th1s_1s_@_pdf_and_y0u_can_use_phot0sh0p}
喵喵喵
这道题考点很多有点杂,是一道很综合的题目。
也是第一次使用zsteg,确实好用,不然就要在stegsolve里面硬猜了,还是挺难的。
zsteg mmm.png
imagedata .. text: "&&&...\"\"\""
chunk:0:IHDR .. file: Adobe Photoshop Color swatch, version 0, 640 colors; 1st RGB space (0), w 0x280, x 0x802, y 0, z 0; 2nd RGB space (0), w 0xff00, x 0xffff, y 0xfdfe, z 0
b1,bgr,lsb,xy .. zlib: data="\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00...", offset=43, size=27441
b2,r,msb,xy .. text: "PAtpUAQ<"
b2,g,lsb,xy .. file: MPEG ADTS, AAC, v4 LC, 96 kHz, stereo + center
b2,rgb,msb,xy .. text: "@4U,0EUUW"
b3,bgr,lsb,xy .. text: "TWq8QM$I"
b4,r,lsb,xy .. text: "u5DUETUDDDDgfdEDDET"
b4,g,lsb,xy .. text: "3$EF25ETwwgUTTEDEB3#3T15#25EUES5Vye"
b4,g,msb,xy .. text: "\"\"*b&*DDDD"
b4,b,lsb,xy .. text: "wfwggwR\""
b4,rgb,lsb,xy .. text: "|,,l,H*\n(*\nKN"
b4,rgb,msb,xy .. text: "w}eS>e=1"
b4,bgr,lsb,xy .. text: "x,,lL*(*\n(J"
b4,bgr,msb,xy .. text: "{}c5^m51"
可以看到第三行里面有东西。
zsteg -E "b1,bgr,lsb,xy" mmm.png > output.bin
file output.bin
xxd output.bin | head -n 5
00000000: fffe 8950 4e47 0d0a 1a0a 0000 000d 4948 ...PNG........IH
00000010: 4452 0000 0118 0000 008c 0802 0000 0008 DR..............
00000020: ec7e db00 0005 9c49 4441 5478 9ced dd51 .~.....IDATx...Q
00000030: 6a1c 3b14 40c1 3864 ff5b 7616 1014 5038 j.;.@.8d.[v...P8
00000040: 3792 ecaa df37 afdd eef1 4190 8bd4 3f7e 7....7....A...?~
dd if=output.bin bs=1 skip=2 of=extracted.png
找到半截二维码,脚本复原一下(详见WEEK 2)扫码
不知道为什么这里必须要用Winrar解压,如果winzips,就不行

反编译工具
#!/usr/bin/env python
# visit http://tool.lu/pyc/ for more information
import base64
def encode():
flag = '*************'
ciphertext = []
for i in range(len(flag)):
s = chr(i ^ ord(flag[i]))
if i % 2 == 0:
s = ord(s) + 10
else:
s = ord(s) - 10
ciphertext.append(str(s))
return ciphertext[::-1]
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']
AI一个脚本解密:
python
import base64
def decode(ciphertext):
# 先将列表反转回来
rev = ciphertext[::-1]
flag_chars = []
for i in range(len(rev)):
# 字符串转整数
s_val = int(rev[i])
# 逆向奇偶加减操作
if i % 2 == 0:
s_val -= 10
else:
s_val += 10
# 此时 s_val 对应的是 chr(i ^ ord(flag[i]))
# 再与 i 异或得到原字符
original_char = chr(s_val ^ i)
flag_chars.append(original_char)
return ''.join(flag_chars)
# 给定的密文
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'
]
# 执行解密
flag = decode(ciphertext)
print(f"解密结果: {flag}")
flag{Y@e_Cl3veR_C1Ever!}
总结:zsteg跟stegsolve相比好像更快可以查看隐藏数据,不用硬猜,但是也有局限性,比如后面有一道lsb带密码的,就没有办法处理,总之还是要熟练掌握每种工具使用~ 以及新学到了python反编译工具使用!
[RoarCTF2019]黄金6年
010打开,尾部隐藏base64数据,解密,发现是rar压缩包但是有密码
仔细看视频,发现几个二维码,扫码得到密码
最后flag:
flag{CTF-from-RuMen-to-RuYuan}
[WUSTCTF2020]alison_likes_jojo
有两张图片,第一张就是常规分析,分离,压缩包爆破,得到base然后解码。
得到一个密码。剩下一张图片。此时不知道怎么处理了。
这里要积累一下。
可能是F5,outguess
可以用到的检测工具是stegdetect
关于如何区分二者:
核心区分点:算法特征
OutGuess:它的核心特点是"保持统计特性"。它嵌入信息后,会故意修改其他不相关的像素来"抹平"统计痕迹,让图片看起来像没动过一样。所以如果一张图用 stegdetect检测显示 negative(阴性),但你又觉得它肯定藏了东西,那大概率是 OutGuess。
F5:它使用矩阵编码,效率高,但嵌入信息后通常会导致图片文件体积变小(因为压缩率变高)。如果你发现图片比原图小,或者题目提示了"矩阵编码",那很可能是 F5。
这道题用工具就是检测不出的。最后确实是outguess。这个提示给的很离谱,,好像是outguess的发明者有个外号叫jojo
最后outguess -k killerqueen -r jljy.jpg out.txt
//outguess -k "密码" -r 被加密.jpg 解密信息.txt
wctf2020{pretty_girl_alison_likes_jojo}
从娃娃抓起
学到了2种汉字编码:中文电码和五笔编码
翻译出:人工智能也要从娃娃抓起
flag{3b4b5dccd2c008fe7e2664bd1bc19292}
[安洵杯 2019]吹着贝斯扫二维码
有一串不知道是什么的字符和一堆图片。
修改文件后缀名,拼图为完整二维码。
扫码得到字符串解码提示。
BASE Family Bucket ???
85->64->85->13->16->32
依次逆向解码就好了。不过要注意没有base13,只有ROT13.。。
flag{Qr_Is_MeAn1nGfuL}
[UTCTF2020]file header
很简单的一题,修改文件头就好了。
flag{3lit3_h4ck3r}
[GUET-CTF2019]zips
一道考察了关于压缩包很多考点的题目
有正常解压,简单密码爆破,伪加密,掩码爆破。
但是卡在最后一个压缩包:
打开setup.sh发现以下内容:
#!/bin/bash
#
zip -e --password=`python -c "print(__import__('time').time())"` flag.zip flag
了解了时间戳这个东西
最后这个15开头应该是他们当年比赛的开始时间为线索,爆破的。
现在执行这个命令应该是17开头的了。。
得到密码1558080832.15
flag{fkjabPqnLawhvuikfhgzyffj}
弱口令
根据题目爆破压缩包,居然不行?!
这个题确实挺有脑洞和难度的
没想到备注里面还有看不见的摩斯密码。。。
普通复制也不行,必须复制到代码编辑器,比如sublime。
然后就是这个题第二个坑了,,,
zsteg 女神.png //命令
b1,bgr,lsb,xy .. <wbStego size=0x84 ext="\x02\"&" data="\x87v\x9D\xA2\x19\xD3\xB93\x0F_"... even=false hdr=nil enc=nil mix=nil controlbyte=nil>
b2,g,msb,xy .. file: raw G3 (Group 3) FAX
b2,rgb,lsb,xy .. text: "G#Erg\tV%\t"
b2,bgr,msb,xy .. text: "AQDE$edtlC"
b2,rgba,lsb,xy .. text: "''''ssWW"
b3,g,lsb,xy .. file: raw G3 (Group 3) FAX, byte-padded
b4,r,lsb,xy .. text: "4GgETC23"
b4,g,lsb,xy .. text: "\"C1guDE3UB2U1"
b4,rgb,msb,xy .. text: "$GrdCqT@"
b4,bgr,msb,xy .. text: "@'tBctAP"
zsteg -E 'b1,bgr,lsb,xy' 女神.png > wbstego_data.bin #提取内容
xxd wbstego_data.bin # 以十六进制查看
用zsteg能检测出隐写,但是提取出来是乱码。。。好像是被加密了
第一次遇到这种情况,原来lsb也可以加密啊,,,我还以为只是普通物理隐藏直接提取就好了、、、
学到了lsb隐写,收获新工具 cloacked-pixel
既然提示弱密码,那就123456
在这里调试kali的python2还搞了好久
python2 lsb.py extract 女神.png flag.txt 123456
flag{jsy09-wytg5-wius8}
[XMAN2018排位赛]通行证
题目:a2FuYmJyZ2doamx7emJfX19ffXZ0bGFsbg==
base64:kanbbrgghjl{zb____}vtlaln
出现了{}.看起来比较完整只是顺序不对,有可能是栅栏
kzna{blnl_abj_lbh_trg_vg}
最后凯撒移位
xman{oyay_now_you_get_it}
把开头换成flag就是答案了
[DDCTF2018]流量分析
分析起来还是没有什么头绪,都看了一遍,发现了一些不知道的协议-SMTP, TLS
追踪流发现了打不开的压缩包、很长的base64、一些邮件一样的东西
关于什么是TLS,借用大佬博客:

找到base64加密的一段,解密为图片,就是key,核对md5没问题。保存为private.key.然后导入wireshark,查看隐藏http数据流
编辑-->首选项-->Protocols-->TLS
flag{0ca2d8642f90e10efd9092cd6a2831c0}