ctf-BugkuCTF-misc

1.这是一张单纯的图片

使用winhex打开图片,在图片结尾发现一串&#开头的16进制串,直接对16进制字符hex解码即可

2.隐写

打开压缩包发现文件时坏的,放入tweakpng.exe中修复并加长高度,直接使用画图3D打开即可

3.telnet

解压发现是一个数据包,直接用wireshake打开,题目提到telnet,搜索telnet,按字节大小排序,阅读可直接看到答案

4.眼见非实(ISCCCTF)

开始得到的文件是zip,直接解压发现word文档,打不开,用winhex打开发现这是一个zip压缩包,改后缀名解压,发现是一个app的文件,直接打开查找即可发现结果

5.又一张图片,还单纯吗

将图片使用winhex打开,查询ffd8,ffd9,发现这个图片文件中是可以拆成两个图片文件而不丢失东西,打开后面那一个即可得到答案

6.猜

直接将图片放入百度识图中即可得到答案

7.宽带信息泄露

打开发现一个bin文件,根据题意我们可知这是一个路由配置文件,我们使用RouterPassView软件打开文件,查阅即可得到密码

8.隐写2

用binwalk打开图片文件发现图片尾部的zip文件,取出解压,发现一个提示和有密码的压缩包,打开提示最重要的是密码是三个数字,直接暴力破解得到密码,解压又得到一张图片,使用winhex打开图片可在结尾发现flag,对flag中的内容进行base64解密,即可得到答案

9.多种方法解决

用winhex打开文件,发现提示image,base64和一串很长的base64编码的字符串,对字符串解码保存为png文件,二维码扫描即可得到答案

10.linux

解压获得linux镜像文件,在linux下使用mount文件挂载即可得到答案

11.中国菜刀

打开文件,查询TCPstream发现flag.tar.gz文件,在binwalk中检查分离解压即可得到结果

12.隐写3

解压文件,获得一个错误的png文件,放入tweakpng中修复并更改高度即可看到flag

13.做个游戏(08067CTF)

使用jd-gui对解压获得的程序进行反汇编,阅读反汇编获得程序即可得到key

14.细心的大象

使用winhex打开图片查找图片结尾发现图片中隐含了rar文件,分离出的rar是加密的,然后打开图像属性发现备注是一段字符串,使用base64解密即可得到rar文件解密密码,解密得到png图片,发现无法打开,放入tweakpng,修补并更正高度,打开即可看到flag

15.爆照(08067CTF)

用winhex打开文件查询jpg文件结尾发现该照片文件中包含着一个zip加密文件,解密即可得到8个文件,逐一检查发现部分是bmp文件,部分是jpg文件,打开88.jpg,即可发现二维码,扫描得到结果,点击888.jpg文件属性,发现备注的值,使用base64解密即可,使用winhex打开8888.jpg,查找图片结尾,发现该图片内含zip压缩包,打开压缩包发现二维码,扫描即可得到结果

16.图穷匕见

用winhex打开图片文件发现在图片即为之后有一串16进制数字,拷贝并再次放入winhex中(即进行hex解码),发现一大段坐标值,将其读出并画在图片上,保存,即可得到答案

from PIL import Image
fi=open('a.txt',"rb")
zuobiaostr=fi.read()
fi.close()
zuobiao=zuobiaostr.split(chr(10))
im=Image.new("1",(300,300))
for x in xrange(0,300):
    for y in xrange(0,300):
        im.putpixel((x,y),255)
for i in zuobiao:
    zuobiaolist=i.split(",")
    x=int(zuobiaolist[0][1:])
    y=int(zuobiaolist[1][:-1])
    im.putpixel((x,y),0)
im.save("2.jpg")

17. convert

打开发现一堆二进制数字,转为16进制后发现是zip文件,打开发现是一张图片,在图片属性主题处发现base64编码,解码即可得到答案。

18.听首音乐

下载发现一首歌曲,用Audacity打开可以发现摩尔电码,解密即可

19.好多数值

下载获得文件,发现是RGB数值,只需将其画在图中即可

from PIL import Image
list1=[]
fi=open("4.txt","rb")
while 1:
    line = fi.readline()
    if not line:
        break
    else:
        list1.append(line)
fi.close()
im=Image.new("RGB",(503,122))
for i in xrange(len(list1)):
    listrgb=list1[i][:-2].split(",")
    im.putpixel((i/122,i%122),(int(listrgb[0]),int(listrgb[1]),int(listrgb[2])))

im.save("5.jpg")

猜你喜欢

转载自blog.csdn.net/zhang14916/article/details/81385898