Capture The Flag Miscellaneous 2
Miscellaneous 【3】
Miscellaneous 【2】 – flag{misc}
Miscellaneous 【1】
Ax Introduction
什么是CTF,什么是MISC。
CTF定义:网络安全技术人员之间进行技术竞技的一种比赛形式。CTF起源于1996年DEFCON全球黑客大会,以代替之前黑客们模拟攻击的比赛。
- 类型:解题模式、攻防模式、混合模式
- 赛事:DEFCONCTF、XCTF、Real World CTF等
- 题目:PPC、MISC、PWN、WEB、REVERSE、CRYPTO、STEGA
MISC定义:Miscellaneous,安全杂项,流量分析、电子签证、人肉搜索、数据分析等等等等等,就是除了最初的几个大类之外的题目。
别看杂项杂,每一项都是很专业的东西,所以要学的东西很多很多。还能遇到有些有趣的东西呢。
常用工具
WinHex yyds
kali linux
binwalk 查看文件中是否隐藏信息
formost 通过分析文件头和内部数据结构和尾,还原文件,使文件分离出来。
zip2john 破解压缩包密码,再用
john
看破解的密码文件zip2john flag.zip password.txt john password.txt
tshark Linux版本的wireshark工具。
Wireshark 有时候会有分析数据包的取证题目需要用到。
隐写工具
- Jphs05 图片信息隐藏
- Stegsolve 分析图片隐写工具
加密算法在线网站
- MD5
- 各种加密
Bx Flag{keyisflag}
只有不断的做题,才能学习到更多的东西,包括出题的套路,you know,but 作者的想法你是永远猜不到的,也许就在你意想不到的地方。
我会去做各大在线网站的题目,然后记录于此便于我回顾。
Bugku
BugKu_Ping
★☆☆☆☆☆
得到一个文件ping.pcap
,又是抓包文件,这次学聪明一点,改成txt直接搜索flag。没有发现flag,看来不是那么的简单。
打开wireshark看看这是什么鬼东西,ICMP的数据包,逐个看看,在看的过程中,发现flag以每个字符的形式放在每个数据片段的固定位置。
但。。有好多个包,一个一个看似乎有点慢,想个法子
然后我发现每个字符前面都有一个i,这个i可以作为我们正则的判断点。
grep -o -P "i.{1,3}" --text ping.pcap
# -o是只显示匹配的,--text是因为它是二进制文件,所以要转为文本 -P 是使用Perl语言的正则语法,使我们简单的匹配到想要的东西。
拿到Excel简单处理一下,把i和空格替换掉,然后复制粘贴成行,就可以啦
f | l | a | g | { | d | c | 7 | 6 | a | 1 | e | e | e | 6 | e | 3 | 8 | 2 | 2 | 8 | 7 | 7 | e | d | 6 | 2 | 7 | e | 0 | a | 0 | 4 | a | b | 4 | a | } |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
f | l | a | g | { | d | c | 7 | 6 | a | 1 | e | e | e | 6 | e | 3 | 8 | 2 | 2 | 8 | 7 | 7 | e | d | 6 | 2 | 7 | e | 0 | a | 0 | 4 | a | b | 4 | a | } |
flag{dc76a1eee6e3822877ed627e0a04ab4a}
当然,我们用Linux也是未尝不可的一个好方法,能一条命令解决的问题,我们为什么要弄那么复杂。
# 导出
grep -o "i.{1,3}" --text ping.pcap > 1.txt
# 去杂
sed -i "s/i //g" 1.txt
# 转置
awk '{ORS = ""}{print $0} END {printf("\n")}' 1.txt
提交,所以说linux学好是非常重要的。
Bugku_赛博朋克
★★☆☆☆☆
给了一个压缩包,需要密码。丢Winhex审阅。
伪加密。
无加密
压缩源文件数据区的全局加密应当为00 00
(504B0304两个bytes之后)
且压缩源文件目录区的全局方式位标记应当为00 00
(504B0304四个bytes之后)
假加密
压缩源文件数据区的全局加密应当为00 00
且压缩源文件目录区的全局方式位标记应当为09 00
真加密
压缩源文件数据区的全局加密应当为09 00
且压缩源文件目录区的全局方式位标记应当为09 00
将09改为00,无密码解压得到cyberpunk.txt,显然我们需要先丢Winhex里看是什么文件,别问为什么,因为我打开就卡住了doge,PNG文件
这是图片
LSB隐写找到答案,注意这个l不是l,这个l是1,是1不是l。
flag{Hel1o_Wor1e}
Bugku_贝斯手
★★★☆☆☆
虽然我看过这部电影,但是我又花了一个多小时看了一遍,哈哈
这个txt,不仔细看还以为只有一行字,往下翻一翻,发现了提示,百度古力娜扎的出生,打开flag压缩包
提示
这是什么鬼东西,
5+58==
327a6c4304ad5938eaf0efb6cc3e53dc
CFmZknmK3SDEcMEue1wrsJdqqkt7dXLuS
似乎这是两组密码,第一串好像是md5,解一下试试
另外一串是什么呢,看到前面5+58,是在暗示什么,5难道是MD5,那58对应的是?
出现了答案,原来5+58这个意思啊
flag{this_is_md5_and_base58}
Bugku_blind_injection
★★★★☆☆
盲注,给了一个数据包,打开导出http,按大到小排序,将字符提取出来,拼接一下,效率太低了这样,转战Linux。
tshark是linux版本的wireshark,再配合正则匹配出字符,得到flag
tshark -r cap.pcap -T fields -e http.request.full_uri | grep -oP '(?<=database\(\)\),)[^%]*' | awk -F[,\'] '{a[$1]=$3}END{for(i in a)printf "%1s",a[i]}'
还以为是加密的,直接提交成功。
Bugku_可爱的故事
★★★★★☆
……………..
……………..
emmmm
这。
SD007大佬说将字母旋转一百八十度,原来如此
然后看翻译出来,就得到了正常的字母,找到flag。
bugku{iamlearningteyvatinbugku}
这是原神游戏里的提瓦特文字。
Bugku_FileStoragedat
★★★★★★
解压之后得到一个keli.dat
,描述”标题有用 格式bugku{}”,搜索标题得知是微信的文件夹,dat是一种存储加密后的文件格式,很多软件都会使用这种后缀,使用异或运算对文件头进行加密。
对DAT文件的解读可以参考:https://www.cnblogs.com/4thrun/p/15148485.html
使用微信PC版DAT文件解密工具:https://lindi.cc/archives/301
工具2:https://github.com/PiaoZhenJia/WeChatDatFileDecoder
脚本:
# -*- coding: utf-8 -*-
# @Time : 3/27/2019 21:54
# @Author : MARX·CBR
# @File : 微信Dat文件转图片.py
import os
def imageDecode(f,fn):
dat_read = open(f, "rb")
out='P:\\'+fn+".png"
png_write = open(out, "wb")
for now in dat_read:
for nowByte in now:
newByte = nowByte ^ 0x36
png_write.write(bytes([newByte]))
dat_read.close()
png_write.close()
def findFile(f):
fsinfo = os.listdir(f)
for fn in fsinfo:
temp_path = os.path.join(f, fn)
if not os.path.isdir(temp_path):
print('文件路径: {}' .format(temp_path))
print(fn)
imageDecode(temp_path,fn)
else:
...
path = r'C:\Users\输入自己微信存储路径\Data'
findFile(path)
得到图片
bugku{WeChatwithSteg0}
,提交
Cx Additions
常见的文件头
格式 | 头部 |
---|---|
.jpg | FF D8 FF |
.png | 89 50 4E 47 |
.bmp | 42 4D |
.gif | 47 49 46 38 |
.zip | 50 4B 03 04 |
.rar | 52 61 72 21 |
.avi | 41 56 49 20 |
常用文件的文件头如下(16进制):
JPEG (jpg),文件头:FFD8FFE1
PNG (png),文件头:89504E47
GIF (gif),文件头:47494638
TIFF (tif),文件头:49492A00
Windows Bitmap (bmp),文件头:424DC001
CAD (dwg),文件头:41433130
Adobe Photoshop (psd),文件头:38425053
Rich Text Format (rtf),文件头:7B5C727466
XML (xml),文件头:3C3F786D6C
HTML (html),文件头:68746D6C3E
Email [thorough only] (eml),文件头:44656C69766572792D646174653A
Outlook Express (dbx),文件头:CFAD12FEC5FD746F
Outlook (pst),文件头:2142444E
MS Word/Excel (xls.or.doc),文件头:D0CF11E0
MS Access (mdb),文件头:5374616E64617264204A
WordPerfect (wpd),文件头:FF575043
Adobe Acrobat (pdf),文件头:255044462D312E
Quicken (qdf),文件头:AC9EBD8F
Windows Password (pwl),文件头:E3828596
ZIP Archive (zip),文件头:504B0304
RAR Archive (rar),文件头:52617221
Wave (wav),文件头:57415645
AVI (avi),文件头:41564920
Real Audio (ram),文件头:2E7261FD
Real Media (rm),文件头:2E524D46
MPEG (mpg),文件头:000001BA
MPEG (mpg),文件头:000001B3
Quicktime (mov),文件头:6D6F6F76
Windows Media (asf),文件头:3026B2758E66CF11
MIDI (mid),文件头:4D546864