misc攻防世界

攻防世界

参考:
https://www.jianshu.com/p/7f20df275efe

ext3

这题用到Linux的知识吧。
将linux系统光盘放在linux下,在linux光盘目录下使用strings linux|grep flag,查找与flag相关的文件;root模式下使用mount linux /mnt命令将linux光盘挂载在mnt目录下,切换到mnt目录,使用cat O7avZhikgKgbF/flag.txt命令即可对flag内容进行读取,发现是一个base64编码,解密后得到flag.

pdf

打开pdf,鼠标在里面晃一晃,就发现图后面疑似有文字。
复制出来就是flag。

give you flag

一个动图,他在最后面有一个一闪而过的二维码。
用stegsolve的查看帧的功能模块查看,发现一个缺少三个定位部分的二维码,将其补全,扫一扫即可。

懒得补全了,就这样吧。。。

stegano

下载 PDF 在火狐浏览器打开,控制台(ctrl+shift+k)输入:
document.documentElement.textContent

看一下内容,会有一串
BABA BBB BA BBA ABA AB B AAB ABAA AB B AA BBB BA AAA BBAABB AABA ABAA AB BBA BBBAAA ABBBB BA AAAB ABBBB AAAAA ABBBB BAAA ABAA AAABB BB AAABB AAAAA AAAAA AAAAB BBA AAABB
做个可以改成摩斯电码(之前有一题是全部都是0和1,和这题一样的,都是替换完得到摩斯电码)

认真看一下,发现解密后得到flag了
根据要求改下flag格式,成功。

SimpleRAR

压缩包解压出来,提示损坏,得到flag.txt并没有flag。用winhex查看压缩包。
发现里面应该有图片的,因为损坏没解压出来。
winhex里面可以看到,txt文件结束之后就是png文件的开始了,这里我已经改过了,原来是A8 3C 7A,

这个是RAR对png文件头的编码,于是把原来的7A改成74,保存,重新解压;
就会多出一个图片,winhex查看是gif格式的,于是改一下后缀
还是没有东西,上工具。
gif的,逐帧看一下,竟然有二维码,是残缺的。结合提示,应该还有一半需要拼接上去。
emm,竟然要用到ps。

醉了,分离出来,找不到二维码。
心态炸裂,弄不出来。
放着吧,思路是两个图分离出来得到两个一半的二维码拼接起来。然后再把角给补全下就好了。

坚持60s

这题是一个java写的程序直接反编译走起。

就发现flag了。提交发现不对,可以看到flag后面有一个’=’这个字符。
这是base64加密过的,将{}里面的拿去base64解密,就可以了。
最后的是解密完是:DajiDali_JinwanChiji


要玩的话也可以,直接运行,移动到右边的边界,露出一条缝那样,露出很小很小,它是不会被判断碰到的,但是不能完全移出去,不然回不来。
而且根据代码知道,要计算好时间,超过69s也不行。要控制60s-69s,出来自杀就行了。

gif

解压得到104张黑白图,应该是白为0黑为1.

第一个想到的是摩斯电码,但是没有东西表示空格啊。
所以应该是二进制01,拿去转成16进制,再转成ascii码就好了。
二进制8个为一组。我直接拿去在线转换了,竟然可以!棒!
在线工具

掀桌子

网上找的解密代码

1
2
3
4
5
6
string = "c8e9aca0c6f2e5f3e8c4efe7a1a0d4e8e5a0e6ece1e7a0e9f3baa0e8eafae3f9e4eafae2eae4e3eaebfaebe3f5e7e9f3e4e3e8eaf9eaf3e2e4e6f2"
flag = ''
for i in range(0,len(string), 2):
s = "0x" + string[i] + string[i+1]
flag += chr(int(s, 16) - 128)
print(flag)

每两个一组,将16进制转换为10进制,减去128以后输出 ascii
运行后得到:
Hi, FreshDog! The flag is: hjzcydjzbjdcjkzkcugisdchjyjsbdfr
所以
flag: hjzcydjzbjdcjkzkcugisdchjyjsbdfr

如来十三掌

发现是一个佛经。用在线工具 与佛论禅解密:

得到疑似base64编码
MzkuM3gvMUAwnzuvn3cgozMlMTuvqzAenJchMUAeqzWenzEmLJW9
想到题目名为“如来十三掌”,可能需要用到rot13加密

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#简单的说就是通过将输入的原字符串ASCII+13/或者ASCC-13:
def Upper(ch):
if ch >= 'A' and ch <= 'Z':
return True


def Lower(ch):
if ch >= 'a' and ch <= 'z':
return True


def rot13(s):
flag = ''
for i in s:
if Upper(i) == True:
if i >= 'A' and i <= 'M':
flag += chr(ord(i) + 13)
else:
flag += chr(ord(i) - 13)
elif Lower(i) == True:
if i >= 'a' and i <= 'm':
flag += chr(ord(i) + 13)
else:
flag += chr(ord(i) - 13)
else:
flag += i
return flag


if __name__ == "__main__":
s = 'MzkuM3gvMUAwnzuvn3cgozMlMTuvqzAenJchMUAeqzWenzEmLJW9'
print(rot13(s))

运行后得到的字符串拿去base64解码就得到flag

总结:首先需要找到“与佛论禅”对文字进行解码,很多时候就直接卡在这一步了,然后要根据题目名称联想到rot13,还要观察出是经过base64编码,让后还能将这两个组合起来,才能得到flag。

base64stego

压缩包伪加密
zip伪加密破解方法

1
2
3
4
5
6
7
若是遇到压缩包解压需要密码的时候先放在WINHEX中看看是不是伪加密,只要对比两部分的全局方式位标记,若第二部分是09 00,那就把09修改为00就好
或者
使用ZipCenOp去伪加密,解密命令java -jar ZipCenOp.jar r xxxx.zip 加密命令java -jar ZipCenOp.jar e xxxx.zip
正常情况下使用7Z解压或者360解压,
放在linux写可以直接提取,
使用binwalk ,binwalk -e无视密码直接解压
下面看一些真正的加密文件的HEX数据,两部分的全局方式位标记都是0108(奇数是加密)

这里我直接试了用binwalk分离的方法,果然给力。
得到的文本,查了之后知道是base64隐写,用python2通过脚本解密得flag
脚本用linux实现了,windows的可能是python3的老报错。

功夫再高也怕菜刀

下好之后我的360报信息说要解密密码?下的不是流量包嘛?竟然有压缩包,看来不简单。分离试一下。果然有压缩包,但是需要密码,会不会是伪加密,试试直接用foremost分离,不行。老老实实找密码。
回到这个流量包,用winshark打开文件,筛选数据,在搜索框搜索flag.txt(快捷键ctrl+F),
搜寻包,并进行分析,ctrl+N选择下一个筛选内容。当找到1150这个包时,发现了一个图片,6666.jpg。

通过tcp跟踪流,将图片分离出来

将FFD8FF和FFD9将之间的字符全部复制,然后新建winhex文件,粘贴复制的字符,保存为.jpg文件。(可以先复制下来,再利用nopd++或者sublime找到FFD8FF和FFD9)
粘贴到winhex 的时候要注意粘贴类型为hex。
之后就可以得到了

最后的flag
flag{3OpWdJ-JP6FzK-koCMAK-VkfWBq-75Un2z}

签到题

base64解密得到
一串字符

应该是栅栏密码,我去栅栏失败了
原来前面还有一层凯撒,我去,以为签到题没这么多层的哎。
而且凯撒的时候还要注意到题目是 SSCTF的,所以要选择SSCTF那个去栅栏

##easycap
追踪tcp流,结束

Avatar

对图片信息进行破解的命令如下:outguess -r /root/angrybird.jpg -t 1.txt
-r是解密(加密是-d) ,后面接文件 1.txt是将解密的内容存放在这个txt文件中,

解密前后分别ls查看一下就会发现多了这个文件 ,这里直接cat查看
We should blow up the bridge at midnight
这个就是flag,直接提交就可以了。不需要加格式

that is this

这题对文件头不熟悉,白忙活半天了。
但是下载下来的文件就是gz结尾的,我没关注。


解压出来的文件要改成gz才行。我对这个文件分析了半天没看成它是gz文件头
之后出来两个图,要把它合并就出来flag了
新学到了知识!!!

Training-Stegano-1


用winhex最底下直接就是flag。

Look what the hex-edit revealed: passwd:steganoI

我还瞎整了一会

get the key


可以看到很多key的文本
第一个应该是最全的。每一个应该会少一行。
那用第一个的去试试。
第一行的就是了
SECCON{@]NL7n+-s75FrET]vU=7Z}

Test-flag-please-ignore

666c61677b68656c6c6f5f776f726c647d
转ascii完事
flag{hello_world}

Excaliflag

工具完事

glance-50

这题又是新的东西呀。要逐帧获取图片,然后拼接。
原本是用网上的脚本,但是有点问题。。。好像没合并成功,报错了。但是图片都搞出来了

后面知道可以用kali命令

参考:
拿到一个gif图片,很窄(宽2px),无语。

我们可以先把gif分解开,kali的convert命令可以,也可以用其他的工具:convert glance.gif flag.png

总共分离出来200个图片。

这么窄的图,难道要横着拼起来?

于是又用到一个工具:montage,这个工具用法很多,也很强大

用命令:montage flag*.png -tile x1 -geometry +0+0 flag.png

-tile是拼接时每行和每列的图片数,这里用x1,就是只一行

-geometry是首选每个图和边框尺寸,我们边框为0,图照原始尺寸即可
————————————————
原文链接:https://blog.csdn.net/zz_Caleb/article/details/89490494

4-2

这题用到了字频分析
网站

flag{classical-cipher_is_not_security_hs}