【MISC】从零开始学MISC

1.了解ext3文件系统,熟练使用mount
【MISC】从零开始学MISC_第1张图片
将linux文件拽入虚拟机。

strings linux		//以字符串模式查看文件
strings linux | grep flag		//筛选flag字样
mount linux /mnt	//使用mount挂载文件系统或使用binwalk提取文件
find /mnt -name "flag.*" -print		//寻找挂在之后的flag所在位置,得到地址 /mnt/O7avZhikgKgbF/flag.txt 
cat O7avZhikgKgbF/flag.txt		//得到flag
base64 -d /mnt/O7avZhikgKgbF/flag.txt	//base64转码(base64 balabala是加密,base64 -d balabala是解密)

2.修复二维码扫描得到flag
【MISC】从零开始学MISC_第2张图片
用fireworks打开gif图片,在第50帧找到二维码,发现三角残缺。
用photoshop找到完整二维码,截取三角补全二维码,扫描即得flag。

3.在pdf中找flag
【MISC】从零开始学MISC_第3张图片
题目提示在“图下面”。转换为word文档。

4.Java逆向,base64解码
在这里插入图片描述【MISC】从零开始学MISC_第4张图片
java小游戏,坚持不到60s
选择反编译,使JD-GUI对该java程序进行反编译。

5.Base64 ROT13 与佛论禅
【MISC】从零开始学MISC_第5张图片
与佛论禅???
ROT13是它自己本身的逆反;也就是说,要还原ROT13,套用加密同样的演算法即可得,故同样的操作可用再加密与解密。ROT13=字符向后位移13位,但向前13与向后13结果相同??
将ROT13解密后的结果进行base16解密??
此题思路完全懵,想不到为什么要用ROT13。逐个尝试得到的?

6.二进制转换字符。
纯黑白的gif图,给出了gif文件夹,标了数字。
【MISC】从零开始学MISC_第6张图片
用ASCLL在线转换器转换前八位(二进制转字符),发现为f,方法正确。可通过python代码实现整个工作。

import os
#rb:r(只读)、w(只写)、a(追加)、b(二进制)
white = open("*/gif/0.jpg", "rb").read()
black = open("*/gif/1.jpg", "rb").read()
flag_binary = ""
for i in range(104):
    with open("*/gif/%d.jpg"%i,"rb") as f:
        if f.read() == white:
            flag_binary += "0"
        else:
            flag_binary += "1"
flag = ""
for i in range(int(len(flag_binary)/8)):
    flag += chr(int(flag_binary[i*8:(i+1)*8],2))
    #int(123,2):将123转换为2进制的int值。int(x, [base]),其中base取值可为2~36。默认为10。
    print (flag)

你可能感兴趣的:(CTF,MISC)