签到题
关注微信公众号:Bugku
关注即可。
这是一张单纯的图片
FLAG在哪里??
WinHex打开发现最后有HTML编码
解码即得
隐写
下载pngcheck,使用以下命令检测crc校验:
pngcheck.exe -v 2.png
显示crc错误
先说一下PNG文件格式:
8字节:文件头,固定89 50 4E 47 0D 0A 1A 0A
4字节:数据块长度13,固定00 00 00 0D
4字节:图片实际宽度
4字节:图片实际高度
5字节:未知
4字节:crc校验
假设图片高度错误,使用脚本暴破:
import binascii
import struct
#\x49\x48\x44\x52\x00\x00\x01\xF4\x00\x00\x01\xA4\x08\x06\x00\x00\x00
crc32key = 0xCBD6DF8A
for i in range(0, 65535):
height = struct.pack('>i', i)
#CRC: CBD6DF8A
data = '\x49\x48\x44\x52\x00\x00\x01\xF4' + height + '\x08\x06\x00\x00\x00'
crc32result = binascii.crc32(data) & 0xffffffff
if crc32result == crc32key:
print ''.join(map(lambda c: "%02X" % ord(c), height))
输出000001F4,即将图片的高度由000001A4改为000001F4:
telnet
http://123.206.87.240:8002/misc/telnet/1.zip
下载下来看到pcap后缀,抓包的格式,果断放到Wireshark里打开,找到其中一个telnet协议的数据帧,右键追踪TCP流,即可看到flag。
眼见非实(ISCCCTF)
https://ctf.bugku.com/files/919ee4ea1658c3e3ef8b59b67f298470/zip
下载下来用解压软件解压,得到"眼见非实.docx",但用Word并打不开。拿到Winhex下打开,看到文件头是“504B”,还是zip格式。
于是解压:
unzip 眼见非实.zip
看到很多文件,使用vscode打开全部文件搜索flag或者使用下面grep搜索:
grep -r "flag" ./眼见非实
啊哒
有趣的表情包
来源:第七届山东省大学生网络安全技能大赛
https://ctf.bugku.com/files/37b57dc545752a92fa6b2d571b88667a/1cdf3a75-21ed-4b91-8d49-1b348d44dcf.zip
解压zip文件,得到一个图片,打开并无异样,注意到文件属性-详细信息里一串可疑字符串:
看着像字符串转16进制,先hex解码一下得到:
sdnisc_2018
使用linux下的binwalk工具查看图片:
可以看到图片后还有一个zip文件,里面有一个flag.txt文件。使用foremost工具分离:
foremost ada.jpg
解压zip文件:
unzip 00000427.zip
提示输入密码,想到应该是刚才解码得到的sdnisc_2018,输入,得到flag.txt。
又一张图片,还单纯吗
http://123.206.87.240:8002/misc/2.jpg
好像和上一个有点不一样
直接使用foremost工具分离:
foremost 2.jpg
得到两张图片,第二张:
猜
http://123.206.87.240:8002/misc/cai/QQ20170221-132626.png
flag格式key{某人名字全拼}
最简单的方法就是拿到百度/谷歌识图。
宽带信息泄露
flag格式:
flag{宽带用户名}
https://ctf.bugku.com/files/5986768ca8b96cead45aec16a88431b5/conf.bin
路由器配置文件使用文本编辑器无法打开,可以借助Windows下的RouterPassView软件。
隐写2
https://ctf.bugku.com/files/af49803469dfdabb80acf562f9381335/Welcome_.jpg
图片属性中有提示,但没明白什么意思:
直接在kali下使用foremost分离。
分离出一个无密码的zip压缩包。
其中图片打开是一段话依旧没看懂。
那就直接暴破吧,反正只有三位数字。
先是使用ARPR提示格式不是rar文件,使用file命令查看发现是zip文件。
file flag.rar
flag.rar: Zip archive data, at least v2.0 to extract
那就使用ziperello,秒破,密码是871。
一通尝试之后使用winhex查看到flag。
后来经大佬提示,KJQ在键盘上对应上排的数字就是871...
多种方法解决
在做题过程中你会得到一个二维码图片
http://123.206.87.240:8002/misc/3.zip
解压得到一个exe,放到winhex下查看发现是一张base64编码的图片。
找个base64转图片的在线网站转换得到一个二维码,扫码即得。
闪的好快
这是二维码吗?嗯。。。是二维码了,我靠,闪的好快。。。
题目来源:第七季极客大挑战
https://ctf.bugku.com/files/6dcac03199e58749725cbcd9cc958a9b/masterGO.gif
windows可以正常打开,mac打开只有上半部分,用winhex打开可以看到二维码的高度值错误。
其中47 49 46 38 39 61是文件头,18 01和64 00分别是宽度和高度,单位是像素,把高度改成和宽度一样的值即可。
修改之后mac下可以直接看到18张二维码,windows下可以使用stegsolve里的framebrowser功能也可以逐帧查看/保存。
之后可以手动扫码,也可以利用 python批量扫码:
from PIL import Image
from pyzbar import pyzbar
import os
import sys
path = r'/Users/joe/Desktop/masterGO'
def decode_qrcode(image_path):
if not os.path.exists(image_path):
raise FileExistsError(image_path)
return pyzbar.decode(Image.open(image_path), symbols=[pyzbar.ZBarSymbol.QRCODE])
def main():
flag = ''
filelists = (os.listdir(path))
filelists.sort(key=lambda x:int(x[5:-4]))
for i in filelists:
image_path = path + r'/' + i
s = decode_qrcode(image_path)
f = s[0].data.decode("utf-8")
flag += f
print(flag)
if __name__ == "__main__":
main()
这里注意如果不是windows,需要额外安装zbar的共享库:
#Mac OS X:
brew install zbar
#Linux:
sudo apt-get install libzbar0
come_game
听说游戏通关就有flag
题目来源:第七季极客大挑战
https://ctf.bugku.com/files/1c617f3d9fc3d909766e813ec28ca8c6/game_1.zip
解压得到一个exe的游戏,玩一次游戏生成两个文件,分别是save1和DeathTime,经尝试发现save1里的5-6字节代表目前关卡数,改为32即十进制的2,进入游戏载入存档即进入第二关,逐个尝试发现改为35即可得到flag。
但是被GAMEOVER挡住了,需要按一下r再截屏查看。
白哥的鸽子
咕咕咕
https://ctf.bugku.com/files/57c79d5b04e18a4bf8995d2721d76d5c/jpg
用winhex打开发现最下面有点像flag,但字符顺序不对,应该是被加密了。
通过看提示“咕咕咕”,应该是使用密钥为3的栅栏密码。
linux
http://123.206.87.240:8002/misc/1.tar.gz
linux基础问题
使用winhex打开看到文件里填充了很多空字符,猜想flag应该就在里面,需要查找出来。可以使用winhex里的功能,也可以使用linux命令:
grep '***' -a flag
搜了一下“flag”,没找到什么,又搜了一下“key”,发现flag:
隐写3
https://ctf.bugku.com/files/642a45bae2ceb406812acdd5ec327ce9/58d54bd3e134e.zip
解压得到一张图片,linux下无法打开,说明文件内字符错误,一般是宽高错误。
其中00 00 02 A7是宽度,00 00 01 00是高度。把高度改大一点,就看到了flag。
做个游戏(08067CTF)
坚持60秒
https://ctf.bugku.com/files/465585c655e201384823f64342cfd554/heiheihei.jar
使用java逆向工具打开,找到PlaneGameFrame.class文件,打开即可看到当坚持60秒时,出现flag。
想蹭网先解开密码
flag格式:flag{你破解的WiFi密码}
tips:密码为手机号,为了不为难你,大佬特地让我悄悄地把前七位告诉你
1391040**
Goodluck!!
https://ctf.bugku.com/files/77decd384a172b9a2294e6c6acfd48cc/wifi.cap
密码是11位纯数字,还给了前7位,那就用aircrack跑一下吧。先写个 python生成字典:
p = '1391040'
with open('pass.txt', 'w')as f:
for i in range(10):
for j in range(10):
for k in range(10):
for l in range(10):
f.write(p + str(i) + str(j) + str(k) + str(l) + '\n')
打开kali暴破:
Linux2
给你点提示吧:key的格式是KEY{}
题目地址:链接: http://pan.baidu.com/s/1skJ6t7R 密码: s7jy
解压后得到一个文件,使用file查看文件类型:
file brave
直接使用string命令搜索可打印的字符串里有没有KEY...
strings brave |grep KEY
账号被盗了
使用burp抓包找到有个cookie字段isadmin,将其值修改为true。
返回一个exe的链接。
下载并打开,是个cf刷枪精灵。开启wireshark,随便填写账号密码,并提交。
抓到一些tcp包,追踪流,得到如下信息:
将其中两段base64编码的字符串解码,可以得到一组账号密码:
YmtjdGZ0ZXN0QDE2My5jb20=
//bkctftest@163.com
YTEyMzQ1Ng==
//a123456
可以看到这是一个163邮箱账号,登录后看到满邮箱都是假flag...
评论