攻防世界MISC新手区详细WP


写在前面:本人CTF小白,能写出这篇文章需要感谢CSDN其他前辈的文章和攻防世界中前辈的wp,如果文中有不对的地方,多谢各位指出。

本文习题均出自攻防世界的MISC新手区,链接如下:
攻防世界

有一位前辈的文章对我有很大帮助,包含了很多CTF的解码方式,我把网址放在前面,希望对和我一样刚开始接触CTF的小白一些帮助。
CTF中常见密码题解密网站总结

1.this is flag

答案就在题目中。

flag{th1s_!s_a_d4m0_4la9}

2.pdf

题目中说图下面什么也没有,我们就猜测图下面有东西。为了看到图片下面的东西,我们将下载的PDF文件转换成word文件,可以看到图片下隐藏的flag。将图片移开,看的更加清楚。下面附上一个可以在线将PDF文件转换成word文件的网站:

pdf转word在线转换这是将图片移开之后的截图

flag{security_through_obscurity}

3.gif

打开文件,发现里面有很多黑色图片和白色图片,和二进制中的1和0很像,于是黑图片为1,白图片为0,得到一串二进制数,将二进制转为字符,就能得到flag。(有的编程大佬可以通过写脚本来直接生成flag,这里由于本人实力有限,只能一个一个对照。本人正在学python,等我会写脚本了,再来补充。)
附二进制转文本网站
二进制转文本
在这里插入图片描述

flag{FuN_giF}

4.如来十三掌

打开文件得到一段玄乎的文字,这种编码被称为“与佛论禅”,通过与佛论禅编码,可以得到一串新的编码。
这里提醒两点:
1.要在编码前加上“佛曰:”
2.解码时注意密文在解码网站上的位置不要弄错了,本人就是一开始位置放错了,一直显示解码失败。
附上与佛论禅解码网站:
与佛论禅解码
与佛论禅
然后注意到题目是“如来十三掌”,这个“如来”对应的是“与佛论禅”,这个“十三”对应的是另一种叫做“ROT13”的编码。ROT13编码后得到一串代码。
附ROT13编码网站:ROT13编码
ROT13编码这依然不是最后的答案,最后再用一种最常见的编码形式:base64,就可以得到最后的flag。
附base64解码网站:
base64解码
base64编码

flag{bdscjhbkzmnfrdhbvckijndskvbkjdsab}

5.give_you_flag

下载附件中的动态图。从中可以看出动态图中有一张图片里有二维码。于是使用ps打开动态图,在右下角的图层中找到了带有动态图的图层。却发现这张二维码是不完整的(缺少了三个角位置处的定位符)于是在网上随便找一个完整的普通二维码,利用ps将三个定位符截下来补充到不完整的二维码中。扫描二维码,得到flag.

下图为不完整的二维码图。
不完整的二维码 下图为还原后的二维码图。
在这里插入图片描述

flag{e7d478cf6b915f50ab1277f78502a2c5}

6.坚持60s

下载附件,是一个.jar类型的,是一个小游戏。这里我们需要一个反编译器,查看小游戏的源代码。这里我用的是jd-gui。根据源码来看,这个游戏坚持60s后还真能得到flag,想试试的可以试一下,本人最多到三十多秒就不行了。
附上下载链接: jd-gui
在源代码里找到flag:
源代码

flag{RGFqaURhbGlfSmlud2FuQ2hpamk=}

7.掀桌子

题目中给了一串很长的字符串,由小写字母和数字组成,这种形式我们首先判断是十六进制,两个字符一组转换为十进制的数,因为我们最终要得到flag的字符串,所以考虑将得到的十进制数转为acill码,因为acill的范围为0~127,所以要将得到的十进制数每个减去128,才能落在acill表上。

python的解题脚本如下:
python脚本

flag{hjzcydjzbjdcjkzkcugisdchjyjsbdfr}

8.stegano

下载附件,是一个pdf文档,里面满是英文字符串:附件内容
上面的水印已经告诉我们flag不在这里,那么肯定是进行了隐写。全选文档内容,粘贴到txt文本中进行查看:在txt中查看
发现在txt中打开后多了一串由AB组成的字符,这应该就是隐写的内容。这种形式考虑摩斯密码,我们把“A”换成“.”,把“B”换成“-”,得到:
-.-. — -. --. .-. .- - …- .-… .- - … — -. … --…-- …-. .-… .- --. —… .---- -. …- .---- … .---- -… .-… …-- – …-- … … …- --. …–

解密摩斯密码,得到:
CONGRATULATIONSFLAG1NV151BL3M3554G3

flag{1NV151BL3M3554G3}

9.SimpleRAR

下载附件,是一个rar压缩包,里面只有一个txt文件,用winhex打开,确实什么都没有。
那就是压缩包有问题了,用winhex打开rar压缩包,发现压缩包里面应该还有一个secret.png的图片,因为某种原因没有显示出来。
在这里插入图片描述
因为压缩包可以显示txt文件,不能显示png文件,所以我认为问题一定出在两个文件之间,也就是这个范围:

确定范围
在网上查了一下rar的文件格式,发现rar 文件块的开头是 A8 3C 74,字块的开头是A8 3C 7A,我们需要文件块而不是子块,于是更改 A8 3C 7A 为 A8 3C 74 ,保存后再次打开压缩文件,发现图片出来了:发现图片
但是打开图片,是一片空白,于是用winhex打开看看哪点有问题,发现文件头是GIF文件的文件头GIF文件的文件头
于是将后缀改为.gif后打开,发现还是空白。既然是GIF文件,那肯定有多个图层,于是用ps打开,发现一共有两个图层,都是空白,猜测是对图片内容进行了隐写,于是用ps导出这两个图层:
导出图层
然后将两个图片分别放入StegSolve中,发现图片中隐藏的信息,是两段二维码
在这里插入图片描述

在这里插入图片描述
将两段二维码连接起来,然后再添加定位符进行修补,最后得到一个完整的二维码:
修补好的二维码
然后扫描二维码,得到flag:

flag{yanji4n_bu_we1shi}

10.base64stego

下载附件,里面是一个txt文件,发现里面有很多的base64编码
一个txt文件
然后直接到解码网站去解密一下:BASE64加密解密
得到了一大段英文,去翻译一下:
翻译一下
好家伙,这是在给我科普隐写术呢,从头看到尾,发现没有什么问题。
然后搜索一下BASE64解密,发现有一种专门用这种大量的BASE64编码的加密形式,加密的原理运用了BASE64的加密解密原理,详情参考彻底搞懂base64加解密原理和隐写技术

然后利用这一原理,我们写个脚本,进行解密(我在网上找的脚本)

import base64

b64chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
with open('stego.txt', 'rb') as f:
    flag = ''
    bin_str = ''
    for line in f.readlines():
        stegb64 = str(line, "utf-8").strip("\n")
        rowb64 = str(base64.b64encode(base64.b64decode(stegb64)), "utf-8").strip("\n")
        offset = abs(b64chars.index(stegb64.replace('=', '')[-1]) - b64chars.index(rowb64.replace('=', '')[-1]))
        equalnum = stegb64.count('=')  # no equalnum no offset
        if equalnum:
            bin_str += bin(offset)[2:].zfill(equalnum * 2)
            #flag += chr(int(bin(offset)[2:].zfill(equalnum * 2), 2))
            #print(flag) #这样写得不出正确结果
        print([chr(int(bin_str[i:i + 8], 2)) for i in range(0, len(bin_str), 8)])

结果如下:
结果
把字母拼接起来,得到flag:

flag{Base_sixty_four_point_five}

11.ext3

下载附件,是一个没有后缀的文件,还挺大,十几兆的,放进winhex,试着 Ctrl+F查询一下flag,发现了一个flag.txt文件。发现flag.txt
然后给这个文件加上.zip后缀,可以看到里面有很多文件:
很多文件
如果不知道里面有个名叫flag.txt的文件的话,在这里面要找半天,我们已经知道里面有个叫flag.txt的文件了,直接在右上角使用文件搜索,直接找到flag.txt找到flag.txt
打开flag.txt,发现一行密文,看着像是BASE64编码:
疑似BASE64编码
试着去BASE64解码,直接得到flag,有点出乎意料。
得到flag

flag{sajbcibzskjjcnbhsbvcjbjszcszbkzj}

12.功夫再高也怕菜刀

下载附件,是一个后缀为pcapng的文件,也不知道是什么文件,查了一下也不是很明白,差不多是一个流量包文件,应该是需要用wireshark进行流量分析的
搜狗百科
我们先用binwalk看看里面有没有包含东西:用binwalk
可以看到里面有个zip文件还有flag.txt,于是我们使用foremost分解一下,分离出来一个带密码的zip文件:
分离出的zip文件
我们手里只有之前附件里的那一个文件,所以密码也只能从那个文件里获取,之前提到可能要用到wireshark,于是用wireshark打开附件,尝试着用Ctrl+F查找flag字符串(注意选择分组字节流)
查找flag
总共有八个字节流都含有flag字符串,每个都打开对比一下,发现只有第1150个字节流多了个6666.jpg文件,其他七个只有其他三个文件,于是将目标锁定在6666.jpg文件。
在这里插入图片描述
在第1150字节流的地方点击右键,选择追踪流,选择TCP流

在这里插入图片描述
然后在流量中发现了FFD8FF,要对这段十六进制数敏感一点,这是jpg文件的文件头,然后再看看最后,果然是jpg文件的文件尾FFD9,于是将FFD8FF到FFD9复制,粘贴到一个十六进制编译器中,我这里用的是C32Asm(winhex应该也可以,但是不知道怎么的我没弄好),保存生成一个jpg图片:
在这里插入图片描述
将图片里的字符串作为密码输入之前加密的压缩包中,成功打开flag.txt文件,得到flag!

flag{3OpWdJ-JP6FzK-koCMAK-VkfWBq-75Un2z}

这是本人在CSDN中发布的第一篇文章,希望和大家一起进步。

  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值