CTF比赛总结(小白必看)

第一次接触CTF比赛,什么都不会,重要的是没有思路,个人感觉这种比赛经验最重要,看到题就能想到用哪几种方法去试解,或者排除哪几种,而不是像无头苍蝇一样乱碰。
因此本人根据本次比赛总结做题方法,希望对初学者有所帮助。本次比赛涉及四种题型,这里先介绍前两种:

题型一 密码学CRYPTO

先给大家推荐一个编码解码网站,大家可以研究一下:https://ctf.bugku.com/tools

判断是何种编码——>找在线网站试解——>具体情况具体分析

1. Base64及其混合编码

特征:通常是数字+字母组合,以==结尾

V20xNGFGb3pkR3RaVjNScllUSjRhR0p1VG5OYVIwWnpabEU5UFE9PQ==
注意可能一次执行不会得到结果,需要反复编码解码

2. Base91

特征:基本上是键盘上所有可打印的 ASC II 字符(0x21-0x7E),A-Z、a-z、1 - 9、 !@#$%^&*()_±={}[]|:;"'<,>.?/~· 之类的。

3. 摩斯密码

特征:点、横和斜杠的组合

…-./.-…/.-/–./----.–/…/…/.—/-…/.-/…/-…/…-/…/-----.-

4. 由0和1组成的摩斯密码

特征:文由0和1构成,可能由空格、tab或则其他字符分割,去掉这些分割后,0和1的总数是5的倍数。

将 0 和 1 替换为 . 或 - ,多试几次就可能有发现。

0010 0100 01 110 1111011 11 11111 010 000 0 001101 1010 111 100 0
001101 01111 000 001101 00 10 1 0 010 0 000 1 01111 10 11110 101011
1111101

把0换成点 . 1换成 - 后:

…-. .-… .- --. ----.-- – ----- .-. … . …–.- -.-. — -… .
…–.- .---- … …–.- … -. - . .-. . … - .---- -. ----. -.-.–
-----.-

5. 社会核心价值观

特征:由核心价值观的12个词语组成的编码方式

公正公正公正诚信文明公正民主公正法治法治诚信民主法治平等法治平等公正敬业公正敬业法治平等法治平等公正敬业公正敬业法治平等法治平等公正敬业公正敬业公正平等法治诚信和谐

6. 音符

特征:由音符组成

♬♩¶♯♬♭♬♫♫♪♬♭♬∮♬♭♬∮¶‖♬♭‖¶¶‖¶∮♩♫¶♭¶∮♫♫♯=

音符在线加解密:https://www.qqxiuzi.cn/bianma/wenbenjiami.php?s=yinyue

7. 猪圈密码

特征:
在这里插入图片描述
推荐网站:http://www.metools.info/code/c90.html
通常是以图片给出,我那个题就是给的Base64编码,然后解出猪圈密码的图片。

8. 佛曰密码

特征:通常是以佛曰开头

佛曰:罰藝迦苦俱爍缽以至呐陀蘇逝倒呐一一多南冥者哆醯地哆神梵朋曳梵孕想哆遠冥心缽利南故蒙梵寫遮皤姪諳他

推荐网站:https://ctf.bugku.com/tool

9. 表情符号(emoji)

😸👺👰👔🙈😱🙊👒👘🙇👣😫👱👴👕😷🙃👶👗👮🙊👢👪🙂👸🙁👡👌🙇👷👭🙇👖👷👌😵👓👫🙍👲👡👺👺🙁👺👸👖😵👐🙃👚👯👖🙊

推荐网站:https://txtmoji.com/

10. 栅栏密码

特征:所谓栅栏密码,就是把要加密的明文分成N个一组,然后把每组的第1个字连起来,形成一段无规律的话。 不过栅栏密码本身有一个潜规则,就是组成栅栏的字母一般不会太多。

fg2ivyo}l{2s3_o@aw__rcl@
flag{w22_is_v3ry_cool}

在线工具:http://tool.bugku.com/jiemi/

11. MD5

特征:一般为16位或32位 ,由数字和小写字母组成

0906b080b03ea64d0534d36b2bd9edb8

12. 凯撒密码

特征:在原来字符上进行一定的偏移,密钥是 1 <= k <= 26,y = x + k。这种大概率看见有flag或者{}就可以试试

在线工具:http://tool.bugku.com

13. Brainfuck 密码

特征:+ > < . ] [ -,8种符号

++++++++++[>+++++++>++++++++++>+++>+<<<<-]
++.>+.+++++++…+++.>++.<<+++++++++++++++.
.+++.------.--------.>+.>.

14. Unicode

特征:每一字符都用一个5位字符编码表示,并用\分割

\u0066\u006c\u0061\u0067\u007b\u0069\u005f\u0077\u0069\u006c\u006c\u005f\u006b\u0069\u006c\u006c\u005f\u0079\u006f\u0075\u0021\u007d

15. url

特征:把很多字符转为百分号开头的 % 比如空格是 %20

16. html

特征:&# 开头 由 &# 开头,后面加数字

17. 词频分析

特征:给出一段长长的字母、文字、{、}组合,通过统计词频,按顺序排列找到flag

d5851ijh7w6c3gb{hs1kso54he3{c5f4dsac{w9awdb2sd4gs{tefgtkk9b1917c9ehko41dtfc3ob2tgfc4557hsjj2oaagt{8{wh62cw1{i{f6hjhfl6gahwdwlf3bhtot}3w4b6dai47cw6o85{1haa2fctfcwdcfh8aolw{2al3{tie2jbead1o{49eesfw5f3oablhejls7hoaw5e1i1ls6c3c{5og6ojiswbsot3efs{d2j9o1d26ohecf395tkbhwfc2e8ciae2sfsbdaoc28iowf{ftw6cs1ftai141h4{o5ogwcastt{gkcg6w2hwofw88wtg145{4cjhh21hs3tadse{7t2{j2fecd7befbkhk1ogtds4kbsohls3hfadcgt44c2gci597
ww66djit21j3hatjt4{fii7ht27cit1tswb{8c3kg9ht51bc27ss5o3fg7e3{sffebs7}5d7aw1sos63c3bts86h}9kseco36d8cfc4bs}bawb3t{1gf22ecicahgsa1{lh8}o4t1td3tdofbfafta{ow1d2}4ob{tfbc0000000

我是用010Editor打开,统计词频,从小到大顺序排列得到flag

18. 托马斯杰斐逊转轮密码

特征:给你一个密码表,n行的26个字母,key是 1 - n 的数列, 密文是 n 个英文字母。
根据 key 找对应行的密码表,然后在密码表上找密文字母,以这个字母为开头,重新排序。

题型二 MISC

MISC(杂项)是CTF⽐赛中⼴度最⾼的⽅向,需要各个⽅向都有涉猎

1. 图片隐写题

(1)图片属性中找flag。在图片属性中找答案,属性中有图片的详细信息,备注中常常出现关键信息和flag。

(2)将图片转换成文本。在.txt文本文件中找flag,用Ctrl+F收索关键词即可。

(3)flag直接或间接隐藏在010Editor中。简单的图片隐写题目会把flag直接放在010Editor中,通常在结尾处。或者有某种特殊编码,转换成另一种常见的编码可得到flag。

(4)通过补全图片缺失的文件头,得到正常图片:有些题目给的图片文件后缀显示图片格式(不要被此迷惑),但是打不开,放到010Editor中打开,补全或修改对应文件头即可得到正常的图片:

补充知识:
常用图像格式的16进制文件头
JPEG (jpg),文件头:FFD8FF
PNG (png),文件头:89504E47
GIF (gif),文件头:47494638

在这里插入图片描述
在这里插入图片描述

(5)PNG修改高度长度:有些图片因为长度或宽度不够,导致flag没有显露出来(CRC报错),这时候就需要修改图片宽高,另存,重新打开图片,进而得到flag。
方法:用16进制编辑工具更改图片的高度,会只显示图片的一部分,下面的部分就被隐藏了,可以先看看图片的属性,得到宽高值,找表示宽度和高度的位置的再转成16进制。
例如下图:
请添加图片描述

(6)套娃图片通过010Editor打开,另存另一张图片的16进制信息,获得隐藏的图片:

(7)通过在010Editor中查看图片信息,发现隐藏的RAR或ZIP压缩包,修改图片格式改为压缩包格式,进而解压得到有关flag的txt文件:(压缩包需要密码的就用ARCHPR或者Ziperello破解密码)
请添加图片描述

判断依据如下,但不能根据ASCII码保证一定是压缩包格式

格式文件头(16进制)文件头(ASCII)
zip504B0304PK
rar52617221Rar!
7z377ABCAF271C7z¼¯’

判断zip是否加密,详细参见:
https://blog.csdn.net/xiaozhaidada/article/details/124538768

上面提到的解题方式主要是用到010Editor来分析具体的十六进制和ASCII码,但如果找不到线索就放Stegsolve中查看信息,挨个排除。

stegsolve用法总结

  • 打开后可以直接查看各个颜色通道下的图片,有时候某些通道会隐藏一些字符串等信息。 也可以通过观察通道发现一些最低位隐写的线索
  • 该功能可以进一步更具体分析LSB隐写
  • 逐帧查看GIF图片
  • 比较两个图片,可以把两个图片进行XOR、OR、AND等操作,以便于发现两张类似图片中隐含的信息(010Editor也行)

打开界面如图:
在这里插入图片描述
(8)File Format(文件格式):在这里你会看见图片的具体信息,有时候有些图片隐写的flag会藏在这里。
(9)Data Extract(数据提取):这里涉及到图片隐写中的LSB隐写,LSB隐写就是修改图片RGB颜色分量的最低二进制位也就是最低有效位(LSB),可以得到隐藏的信息。
(10)Steregram Solve(立体试图),通过左右控制偏移得到flag.
(11)Frame Browser(帧浏览器 ):动图图片通过分帧获得flag。
(12)Stegsolve不同颜色通道打开图片找flag: Stegsolve打开图片,左右移动改变颜色通道,发现隐藏信息。

详细安装参见https://blog.csdn.net/wzk4869/article/details/132635923

以下是自己做过的一些题型,其实自己不太清楚为什么那样做,也是借助了别人的wp,但写在这也是让大家多积累一些解题思路吧

2. 流量分析

补充知识:

PCAPNG 文件大多属于 The Wireshark team 的 Wireshark
PCAPNG是一种用于将捕获的网络数据包跟踪记录到文件的格式。它被设计为tcpdump 和其他使用 libpcap 库的软件使用的原始 PCAP格式的可扩展继承者.目前,只有 Wireshark 可以读取和写入 PCAPNG 文件,而 libpcap(以及使用它的软件)只能读取其中一些文件。

(1)流量分析-1
初学者,也是没做过该题型,只能看别人的WP来理解了,不清楚为什么这样做,慢慢积累吧。
在这里插入图片描述

Wireshark过滤http传输(上传/下载)的文件内容在这里插入图片描述
依次拼接即可得到flag

3. 做哭了

在这里插入图片描述

下载题目给的文件得到的是一个压缩包,里面几十个文件,如图:
在这里插入图片描述
参考WP:https://blog.csdn.net/mochu7777777/article/details/114482689

4. zero

在这里插入图片描述
在这里插入图片描述
看到字⺟间有些⼩⽅框,结合题⽬zero很明显是零宽隐写(原理是什么这里就不介绍了)
https://330k.github.io/misc_tools/unicode_steganography.html
Ctrl+a 全选以后⽤该⽹址⼀键decode就可以出flag了

5. 玩会游戏

在这里插入图片描述
在这里插入图片描述
该题用到一种工具JD-GUI

补充:JD-GUI的介绍 JD-GUI是常用的java反编译器; 由于java是跨平台的,所以JD-GUI提供了多个系统的支持。
两种运行方式:①以独立的程序的方式运行;②以Eclipse插件的方式运行;

WP: ⽤jd-gui打开(可以反编译.class⽂件)下载好jd-gui后打开附件,直接搜索flag
Jd-gui 下载地址
https://java-decompiler.github.io/
可以看到flag所在位置的路径,点击打开PlaneGameFrame.class,即可看到flag
再base64解密即可.(为什么想到反编译我也不知道hhh)

6. 花生的小秘密

在这里插入图片描述
图片就不展示了

这里用到一种图像隐写工具—steghide
Steghide是一款开源的隐写术软件,它可以让你在一张图片或者一个音频文件中隐藏你的秘密信息,而且不会让别人注意到图片或音频文件发生了任何的改变。而且,你的秘密文件已经隐藏在了原始图片或音频文件之中了。这是一个命令行软件,也可以提取你隐藏在图片或音频中的秘密文件;
在这里插入图片描述
这也是遇到图片应该想到的一种解题思路

题型三 WEB

对于Web,先给大家推荐个必备工具——Burp Suite(抓包、改包工具)

Burp Suite是一款集成化的渗透测试工具,包含了很多功能,可以帮助我们高效地完成对Web应用程序的渗透测试和攻击。
BurpSuite由Java语言编写,基于Java自身的跨平台性,使这款软件学习和使用起来更方便。Burp Suite不像其他自动化测试工具,它需要手工配置一些参数,触发一些自动化流程,然后才会开始工作

  • 23
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值