Bugku-Misc合集

#Misc – Bugku(合集)#
##链接##

###签到###
扫描二维码关注公众号
即可获得flag

flag{Bugku-Sec-pwn!}


###这是一张单纯的图片###
链接
将文件1.jpg放入Winhex
在文件尾部看到一串数字

key{you are right}

根据数字大小判断可能是ASCII编码结果
进行解码后得到flag
附解码脚本

a = [107,101,121,123,121,111,117,32,97,114,101,32,114,105,103,104,116,125]
flag=''
for i in a:
	flag = flag + chr(i)
print flag

key{you are right}


###隐写###
链接
对压缩包2.rar进行解压,得到文件2.png
将文件2.png放入Winhex
00 00 01 A4改为00 00 02 A4
即将图片的高度从420改为676

再打开图片即可获得flag

BUGKU{a1e5aSA}


###telnet###
链接
解压1.zip,得到文件networking.pcap
Wireshark打开networking.pcap

右击第一条日志 > 追踪流 > TCP流
得到如下文本

..... .....'.............. ..#..'..#................P...... .....'........... .38400,38400....'.......XTERM..........!........!Ubuntu 12.04.2 LTS
hockeyinjune-virtual-machine login: ccssaaww

Password: flag{d316759c281bf925d600be698a4973d5}


Login incorrect
hockeyinjune-virtual-machine login: .
...^C

flag{d316759c281bf925d600be698a4973d5}


###眼见非实(ISCCCTF)###
链接
将文件zip放入Winhex
看到文件头部为50 4B 03 04(zip文件的头部)
可以确定该文件为zip文件
修改文件名为zip.zip
解压得到眼见非实.docx
打开文档后内容几乎无法读取
将文档的文件名修改为眼见非实.zip
解压后在文件搜索flag
最终在/word/document.xml中发现flag

flag{F1@g}


###啊哒###
链接
下载得到一个压缩包
解压得到ada.jpg
放入Winhex
在文件尾部可以看到
FF D9(jpeg文件结尾标识符)之后为50 4B 03 04(zip文件开头标识符)
并且可以看到zip文件中包含有flag.txt这个文件

这种情况下有两种方法

  • 使用binwalk分离文件
  • 在Winhex中将文件数据块复制到一个新建空白文件中,进行数据填充即可

分离出zip文件之后发现文件被加密

ada.jpg的属性中可以看到

照相机型号 73646E6973635F32303138

可能是ASCII编码的16进制形式
解码后可得
sdnisc_2018
以此为密码可以通过压缩包的密码验证

flag{3XiF_iNf0rM@ti0n}


###又一张图片,还单纯吗###
链接
将图片放入binwalk中查看
发现有图片中包含有图片
提取图片后得到flag

flag{NSCTF_e6532a34928a3d1dadd0b049d5a3cc57}


###猜###
链接
根据图片来搜索人物
使用搜图功能即可

key{liuyifei}


###宽带信息泄露###
链接
使用Router-Pass-View打开文件conf.bin
将文本复制至记事本
搜索username

flag{053700357621}


###隐写2###
链接
将图片放入Winhex
在尾部发现50 4B 03 04

将压缩包提取出来后
解压得到flag.rar提示.jpg
提示中提到flag.rar的密码是三个数
使用Archrp进行密码猜解
得到密码为871
解压flag.rar之后得到3.jpg
放入Winhex查看文件尾部

f1@g{eTB1IEFyZSBhIGhAY2tlciE=}
内容为Base64编码结果
解码可得
y0u Are a h@cker!

flag{y0u Are a h@cker!}


###多种方法解决###
链接
解压3.zip之后得到可执行文件KEY.exe
屡次尝试执行均失败
将文件放入Winhex中查看

内容为jpeg文件数据进行Base64编码的结果
进行解码并填充数据即可
脚本如下

# coding=utf-8
import os, base64
img_str = ''#这里填入"base64,"之后的数据
img_data = base64.b64decode(img_str)
with open('001.jpg', 'wb') as f:
      f.write(img_data)

得到一张二维码
扫码即可获取flag

KEY{dca57f966e4e4e31fd5b15417da63269}


###闪的好快###
链接
masterGO.gif放入Stegsolve
Analyse > Frame Browser
即可逐帧查看gif
扫描18个二维码即可获得flag

SYC{F1aSh_so_f4sT}


###come_game###
链接
解压压缩包之后发现是个躲避针刺的闯关游戏
在开始一个新存档之后会在文件夹内生成相应的save文件
可以猜测存档中的关卡信息也存储在内

经过多次尝试后发现
框选的32即为存档信息
32改为35即可获得flag

flag{6E23F259D98DF153}


###白哥的鸽子###
链接
将文件jpg放入Winhex
看到开头为FF D8(jpeg文件开头标识符)

将文件名改为jpg.jpg
打开看到一只鸽子
再在Winhex中看文件尾部

FF D9之后有疑似flag的字符串

fg2ivyo}l{2s3_o@aw__rcl@

看起来像栅栏密码呢
解密过程如下

fg2ivyo}
l{2s3_o@
aw__rcl@

flag{w22_is_v3ry_coll}@@

flag{w22_is_v3ry_coll}


###linux###
链接
解压1.tar.gz
得到文件flag
Winhex打开
搜索flag,未得到有用的信息
搜索key,获得flag

key{feb81d3834e2423c9903f4755464060b}


###隐写3###
链接
解压58d54bd3e134e.zip
得到dabai.png
Winhex打开

修改高度即可获取flag

flag{He1l0_d4_ba1}


###做个游戏(08067CTF)###
链接
坚持60秒也并非易事
还是另寻捷径
使用jd-gui反编译heiheihei.jar
PlaneGameFrame.class下找到flag

flag{RGFqaURhbGlfSmlud2FuQ2hpamk=}
flag内容为Base64编码内容
解码可得

flag{DajiDali_JinwanChiji}


###想蹭网先解开密码###
链接
密码是手机号码
而且已经给出了前七位数
写个脚本生成一下字典即可

# coding:utf-8
num = '1391040'
a = b = c = d = 0
for a in range(0,9):
	for b in range(0,9):
		for c in range(0,9):
			for d in range(0,9):
				print num + str(a) + str(b) + str(c) + str(d)

然后用aircrack-ng进行破解

flag{13910407686}


###Linux2###
链接(s7jy)
将文件brave放入Winhex
搜索字符串KEY

KEY{24f3627a86fc740a7f36ee2c7a1c124a}


###细心的大象###
链接
解压1.jpg.zip获得1.jpg
查看属性得到信息
TVNEUzQ1NkFTRDEyM3p6
猜测为Base64编码结果
解码可得
MSDS456ASD123zz
将图片用binwalk进行分析
得到rar压缩包,里面存有2.png
且该压缩包被加密
MSDS456ASD123zz作为密码可以解密
Winhex修改高度
00 00 01 A4改为00 00 02 A4即可

BUGKU{a1e5aSA}


###爆照(08067CTF)###
链接
先用Winhex分析图像8.jpg
文件尾部多次出现字符串PK
可以判断图片尾部有zip压缩包
使用binwalk提取文件
得到一个被加密的zip文件
由于没有得到任何密码信息,便选择弱口令猜解
使用Archrp时却提示**“此文件不是一个口令保护的ZIP/RAR/ACE/ARJ档案文件或状态文件”**
Masaka!
这是zip文件伪加密(当然这篇文章也没有十分详细地介绍伪加密,还需要自己多多练习,在实际操作中体会伪加密的原理)

将第一排的09 00改为00 00即可恢复压缩包
解压获得文件如下

8
88
888
8888
88888
888888
8888888
88888888
愉快的排序吧哈哈哈.gif

使用Winhex逐一分析
看到88 888 8888为jpg文件外,其他无后缀名文件为bmp文件

这里补充一下
bmp全称bit map,无压缩图片格式的一种
其储存图片信息的原理大概是每一个像素点的颜色用3*x个bit来表示,其中x为颜色深度
越多则颜色越丰富,x一般为8
简而言之就是图片中的二进制数据与这个图片本身直接相关联
若要在bmp中隐藏信息,那么所隐藏的信息很可能会以像素点的形式在图片中表现出来
所以bmp一般不会用于文件附加式的隐写术

而jpg(jpeg)文件为有损压缩的图片文件
由于其特殊的文件判断机制使其很适用于文件附加式的隐写术
0xFFD8和0xFFD9分别作为jpeg文件的开始与结束标志
结束标志的数据不对文件有任何影响
就像注释一样

相关链接:
图像处理:JPG、PNG及BMP的区别
图种

所以重点分析三个jpeg文件
第一个有二维码
扫描可获得信息bilibili
第二个在属性中看到c2lsaXNpbGk=
Base64解码得到silisili
第三个用Winhex查看时看到文件尾部有字符串PK
binwalk提取zip文件
解压得到一个二维码
扫码可得panama
且题目提示flag{xxx_xxx_xxx}

flag{bilibili_silisili_panama}


###猫片(安恒)###
链接
将文件png放入Winhex查看
文件头部为89 50 4E 47
可判断为png文件,修改文件名为png.png
题目中提示LSB BGR
即LSB隐写
使用stegsolve打开文件
简略看一遍之后,看到Red,Green,Blue三者的Plane 0都只有上面一部分有数据
则通过最低的0信道来提取数据
Analyse > Data Extract
Bit Planes中勾选Red、Green、Blue三者的第0位
右侧的顺序选项则勾选Row(行,因为之前看到Plane 0只有上面几行有像素点),LSB First,BGR
点击Preview(预览)将提取的是png文件
点击save bin保存为png图片
却无法打开该图片
Winhex查看,文件头部为
FF FE 89 50 4E 47
去掉FF FE即可打开图片
看到是一个被反色的二维码的上半部分
尝试修改图片高度
即可得到完整二维码
对该图片进行截图后放入PS
(无法直接放入,因为文件高度数据与CRC校验码不对应)
反色处理后扫描二维码
得到一个链接
https://pan.baidu.com/s/1pLT2J4f
下载flag.rar
解压得到flag.txt
但里面并没有flag
题目的第三个提示为NTFS
即NTFS流
使用WinRAR解压flag.rar
NtfsStreamsEditor扫描该目录
得到一个pyc文件
用此在线工具进行反编译
得到如下结果

#!/usr/bin/env python
# encoding: utf-8
# 如果觉得不错,可以推荐给你的朋友!http://tool.lu/pyc
import base64

def encode():
    flag = '*************'
    ciphertext = []
    for i in range(len(flag)):
        s = chr(i ^ ord(flag[i]))
        if i % 2 == 0:
            s = ord(s) + 10
        else:
            s = ord(s) - 10
        ciphertext.append(str(s))
    
    return ciphertext[::-1]

ciphertext = [
    '96',
    '65',
    '93',
    '123',
    '91',
    '97',
    '22',
    '93',
    '70',
    '102',
    '94',
    '132',
    '46',
    '112',
    '64',
    '97',
    '88',
    '80',
    '82',
    '137',
    '90',
    '109',
    '99',
    '112']

加密过程如下
flag字符串转为ASCII十进制数字编码
位置为偶数则加十,奇数则减十(第一个位置是0)
在逆向输出该加密结果

简单逆向解密即可
脚本如下

# coding:utf-8
ciphertext = [96,65,93,123,91,97,22,93,70,102,94,132,46,112,64,97,88,80,82,137,90,109,99,112]
flag = ''
ciphertext.reverse()
for i in range(len(ciphertext)):
	if i % 2 == 0:
		s = ciphertext[i] - 10
		s = s ^ i
		flag = flag + chr(s)
	else:
		s = ciphertext[i] + 10
		s = s ^ i
		flag = flag + chr(s)
print flag

flag{Y@e_Cl3veR_C1Ever!}


###旋转跳跃###
链接
解压得到一个mp3文件
先试听一下,没有任何有用信息
在Audition中查看音频与频谱频率
均无收获
题目中提示key:syclovergeek
使用mp3stego-gui
以提示的内容作为密码即可提取mp3文件中所隐藏的内容

SYC{Mp3_B15b1uBiu_W0W}


###普通的二维码###
链接
解压文件得到一张二维码
扫描得到如下文本
哈哈!就不告诉你flag就在这里!
Winhex查看,确实是bmp文件
在尾部发现一个字符串
146154141147173110141166145137171060125137120171137163143162151160164137117164143137124157137124145156137101163143151151041175@xjseck!
首先搜索xjseck
貌似是红日安全团队的一员
再看前面的数字
最大的是7
那么就是八进制
以三个为一组来进行ASCII解码

flag{Have_y0U_Py_script_Otc_To_Ten_Ascii!}


###乌云邀请码###
链接
解压misc50.zip得到misc50.png
查看属性,修改高度,Winhex中查看文件尾部均未收获信息
使用stegsolve打开图片
看到Red,Green,Blue三者的Plane 0的左上角都有些黑色像素
进行数据提取

Red 0,Green 0,Blue 0,Row,LSB First,BGR

flag{Png_Lsb_Y0u_K0nw!}


###神秘的文件###
链接
解压rar文件可得一个被加密的flag.zip与一个logo.png
其中flag.zip包含logo.png
那么就是zip的明文攻击了
为了确认两个文件的数据一致
logo.png进行压缩为zip文件
查看两个zip文件中的logo.png的CRC32(2345好压)
两者一致,即两个文件一致
使用WinRAR压缩logo.png为zip文件
使用Archrp进行明文攻击
其中明文文件要选择自己用WinRAR压缩的zip文件
破解得到密码为q1w2e3r4
解压zip文件中的docx文件
阅读文档,并无实用信息
将文件后缀名从docx改为zip
解压后在docProps文件夹中看到flag.txt
内容为ZmxhZ3tkMGNYXzFzX3ppUF9maWxlfQ==

flag{d0cX_1s_ziP_file}


###论剑###
链接
lunjian.jpg放入Winhex中查看
FF D8开头,FF D9结尾
很正常的jpeg文件
正常得让人觉得不正常
将文件用binwalk查看
有两个jpeg文件
提取后发现第一个用010 Editor修改高度后有隐藏内容
(Mochiron,jpeg文件也可以修改高度)

flag的一部分被隐藏
再看另外一张图片
一番分析后并无任何有用信息
Winhex查看下载的图片
搜索FF D8
有两处结果,位置分别为0x0000 0x44A1
搜索FF D9
有两处结果,位置分别为0x24DD 0x55E4

则第一张图片的数据部分从0x0000到0x24DD
第二章图片的数据部分从0x44A1到0x55E4
那么从0x24DD到0x44A1呢?
从下往上看
看到字符串l j c 2 . j p g
猜测中间可能存在某些文件
继续往上看第一个FF D9紧接一串01字符

01101101 01111001 01101110 01100001 01101101 01100101 01101001 01110011 01101011 01100101 01111001 00100001 00100001 00100001 01101000 01101000 01101000

ASCII编码可得
mynameiskey!!!hhh
那么可以想到有什么文件被加密了
再往后看,十六进制数值为
38 7B BC AF 27 1C
在线搜索该数值无果

换个角度思考
如果这是正常的文件头
那么binwalk应该也能分析出来
Masaka!
这个文件头被修改过了
在网上搜索常见文件头
再在网页中搜索BC AF
最终匹配到37 7A BC AF 27 1C – 7z
将这一部分数据提取出
保存为7z文件
mynameiskey!!!hhh为密码来解压
得到ljc2.jpg
修改高度即可获取隐藏信息

flag{666C61677B6D795F6E616D655F482121487D}


###图穷匕见###
链接
图穷匕见啊
修改图片高度试试
未收获有效信息
换个角度思考
图穷应该是指文件数据结束之后
放入Winhex
看到FF D9之后有大量十六进制数据
提取数据之后使用010 Editor导入十六进制数值
得到大量类似于(就是)平面坐标点的数据
使用脚本绘图即可
kali中使用gnuplot即可

gnuplot
plot "1.txt"

这里需要注意,要把坐标点的格式改为

X1 Y1
X2 Y2

画图可得二维码

flag{40fc0a979f759c8892f4dc045e28b820}


###convert###
链接
打开txt看到二进制的数字串
猜测可能是文件的数据的二进制形式
试探性地将前几个Byte进行ASCII解码
看到RAR
可以判断这个是RAR文件数据的二进制形式
那么将其转为十六进制
再填充数据即可

b = int("0b",2)#在0b之后写入二进制数据
a = hex(b)
print a

将得到的十六进制字符串的头部"0x"与尾部"L"去掉
使用Winhex填充数据
以rar文件格式保存
解压得到一个图片
在属性中看到一个字符串
ZmxhZ3swMWEyNWVhM2ZkNjM0OWM2ZTYzNWExZDAxOTZlNzVmYn0=

flag{01a25ea3fd6349c6e635a1d0196e75fb}


###听首音乐###
题目
解压stego100.rar得到stego100.wav
Audition打开stego100.wav
看到左声道有一些类似于Morse Code的音频

#define 0 ·
#define 1 -
00000
1000
1010
11110
00111
00000
10000
00001
11110
1010
1000
11111
01111
11100
11100
0010
00000
00111
0
10000
01111
11000
100
11000
11111
11110
00111
11110
01111
11110
01111
1010

解码可得
5BC925649CB0188F52E617D70929191C

flag{5BC925649CB0188F52E617D70929191C}


###好多数值###
链接
一排三个数值,最大值是255
猜测可能是RGB值
如果是RGB值的话
那么就要个每个像素点的颜色来画图
所以需要规划X,Y的值,即图像的宽高

一共是61366行
即2 * 61 * 503
有所以有四种情况

503 * 122
1006 * 61
61 * 1006
122 * 503

脚本如下

#coding:utf-8
#通过RGB值转化出图片
from PIL import Image

x=503#x坐标  通过对txt里的行数进行整数分解
y=122#y坐标  x * y = 行数

im = Image.new("RGB", (x, y))   #创建图片
file = open('flag.txt')    #打开rbg值的文件

#通过每个rgb点生成图片

for i in range(0, x):
    for j in range(0, y):
        line = file.readline()  #获取一行的rgb值
        rgb = line.split(",")  #分离rgb
        im.putpixel((i, j), (int(rgb[0]), int(rgb[1]), int(rgb[2])))#将rgb转化为像素

im.save('1.png')
#im.show()   #也可用im.save('flag.jpg')保存下来

运行脚本即可获得flag

flag{youc@n'tseeme}


###很普通的数独(ISCCCTF)###
链接
将文件zipWinhex打开
看到开头的数据的十六进制是50 4B 03 04
将文件名称改为zip.zip
解压后看到有25个png文件
各个图片内容都是9 * 9的数独

看着像个二维码
但是左上,右上,左下的图片貌似跟位置对不上

1.png -> 5.png
5.png -> 21.png
21.png -> 1.png

修改文件名即可
接下来是将有数字的地方涂成黑色
再进行拼接
成果如图

扫描后得到如下字符串
Vm0xd1NtUXlWa1pPVldoVFlUSlNjRlJVVGtOamJGWnlWMjFHVlUxV1ZqTldNakZIWVcxS1IxTnNhRmhoTVZweVdWUkdXbVZHWkhOWGJGcHBWa1paZWxaclpEUmhNVXBYVW14V2FHVnFRVGs9
七次Base64解码后得到flag

flag{y0ud1any1s1}


###怀疑人生###
链接
将文件zipWinhex打开
看到开头的数据的十六进制是50 4B 03 04
将文件名称改为zip.zip
解压后得到ctf1.zip ctf2.jpg ctf3.jpg三个文件
ctf3.jpg是一个二维码
扫码可得12580}
ctf2.jpg放入Winhex中查看
在文件尾部看到字符串PK
提取压缩包之后得到ctf2.txt
内容是3oD54e
这里注意一下
这个字符串可以用Base58的算法解码
结果是misc
ctf1.zip是一个被加密的压缩包
猜测可能是伪加密
修改数据后发现错误
使用Archrp进行弱口令猜解
得到密码为password
解压得到ctf.txt
内容为flag{hacker
拼接flag字符串即可

flag{hackermisc12580}


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