bugku-misc

bugku misc

做了iscc2018发现自己misc能力差很多,也忘了很多,这周做了bugku misc,总结一下。

这是一张单纯的图片

直接文本编辑器打开;文本末尾发现了一行转义序列:

Unicode编码有以下四种编码方式:

源文本: The

&#x [Hex]: The

&# [Decimal]: The

\U [Hex]: \U0054\U0068\U0065

\U+ [Hex]: \U+0054\U+0068\U+0065

unicode——>acsii

key{you are right}

隐写

先来了解一下png的头文件。

89 50 4E 47 0D 0A 1A 0A ——>PNG头部署名域,表示这是一个PNG图片

00 00 00 0D ——->描述IHDR头部的大小

49 48 44 52 ——>是Chunk Type Code, 这里Chunk Type Code=IHDR

F9 7D AA 93 ——>对IHDR的CRC校验

00 00 01 F4 ——>图像宽度,500像素

00 00 01 A4 ——>图像高度。

png的标志就是IHDR

https://blog.csdn.net/joqian/article/details/8290389

下载rar文件,打开得到一张图片。

我们把它放到kali中,用binwalk分析一下。

发现只是一张图片而已。但这时候发现一个问题,这张图片并不能打开。

winhex打开最后从图片格式入手,更改其高度得到flag

将A4改为F4

BUGKU{a1e5aSA}

winhex的png原理:http://blog.csdn.net/bisword/article/details/2777121

telnet

1.追踪TCP流

2.根据题目提示查看telnet协议,一个个找下去,在第41个数据包找到flag

眼见非实(ISCCCTF)

WinHex 常见文件头

JPEG (jpg),文件头:FFD8FF
PNG (png),文件头:89504E47
GIF (gif),文件头:47494638
TIFF (tif),文件头:49492A00
Windows Bitmap (bmp),文件头:424D
CAD (dwg),文件头:41433130
Adobe Photoshop (psd),文件头:38425053
Rich Text Format (rtf),文件头:7B5C727466
XML (xml),文件头:3C3F786D6C
HTML (html),文件头:68746D6C3E
Email [thorough only]
(eml),文件头:44656C69766572792D646174653A
Outlook Express (dbx),文件头:CFAD12FEC5FD746F
Outlook (pst),文件头:2142444E
MS Word/Excel (xls.or.doc),文件头:D0CF11E0
MS Access (mdb),文件头:5374616E64617264204A
WordPerfect (wpd),文件头:FF575043
Postscript. (eps.or.ps),文件头:252150532D41646F6265
Adobe Acrobat (pdf),文件头:255044462D312E
Quicken (qdf),文件头:AC9EBD8F
Windows Password (pwl),文件头:E3828596
ZIP Archive (zip),文件头:504B0304
RAR Archive (rar),文件头:52617221
Wave (wav),文件头:57415645
AVI (avi),文件头:41564920
Real Audio (ram),文件头:2E7261FD
Real Media (rm),文件头:2E524D46
MPEG (mpg),文件头:000001BA
MPEG (mpg),文件头:000001B3
Quicktime (mov),文件头:6D6F6F76
Windows Media (asf),文件头:3026B2758E66CF11
MIDI (mid),文件头:4D546864

改后缀为zip进行解压,得到一个word文档,但是打开是乱码

winhex打开

所以是zip文件 从新将.doc 改成.zip

word文件夹里发现里面有个名为document的文件 ,在里面的document.xml发现flag

flag{F1@g}

又一张图片,还单纯吗??

用binwalk检测发现还有一张图片把图片提取出来,就是flag

下载图片通过百度对图片搜索功能
key{liuyifei}

宽带信息泄露

题目中给出一个conf.bin文件,主要是工具,用routerpassview打开,然后找到

)题目中给出了提示,flag是宽带用户名。

flag{053700357621}

隐写2 Welcome_.jpg

从网站上下载下来就是一张图片,同过binwalk分析其中包含一个zip压缩包。

通过binwalk进行提取,会提取出三个文件,其中flag.rar与提示.jpg是CD24.zip压缩包的内容。

通过提示.jpg可以得到压缩包密码3位数,通过ARCHRP软件进行暴力破解获得密码为871.

解压获得3.jpg

通过写字板打开获得f1@g{eTB1IEFyZSBhIGhAY2tlciE=}

很明显eTB1IEFyZSBhIGhAY2tlciE=是Base64加密,通过解密获得y0u Are a h@cker!

即f1@g{y0u Are a h@cker!},提交时需要将f1@g变换为flag,即最终为flag{y0u Are a h@cker!}

多种方法解决

sublime打开

复制谷歌搜索得到一张二维码

可以将图片和base64互相转换的网站
http://www.vgot.net/test/image2base64.php

最后得到二维码 扫描即可KEY{dca57f966e4e4e31fd5b15417da63269}

linux

压缩包下载下来,解压,里面有一个flag文件,记事本打开,搜索flag没有,搜索key GET!

linux? 不存在的…

key{feb81d3834e2423c9903f4755464060b}

方法二:

kali进行

tar -xvf 1.tar.gz

cat flag

方法三:

放到linux里面strings打开,过滤一下KEY就找到了

指令string flag | grep key

中国菜刀

方法一:.pcapng又是数据包,wireshark打开,既然是用的菜刀,那就找http协议,第四个http包里找到了一句话木马:

flag应该在挂马之后才拿到,找到下一个http包,wireshark追踪一下http流:

可以知道菜刀创建了一个flag.tar.gz,还有echo了字符串X@Y,所以第三个包的response,出去前后两个字符串X@Y就是flag.tar.gz

然后把前后的“X@Y”删去,解码为压缩格式:

方法二:

用Wireshark打开分析 TCPstream

在第九个数据包中看到了flag.tar.gz这个文件。

查看了一下其他数据包的内容,并没有关于传输这个文件的数据包信息。猜想这个文件可能被隐藏在caidao.pcapng里了。

放到binwalk分析,用dd命令把gzip文件提取出来。

使用dd命令分离(linux/unix下)

dd命令分离出隐藏文件:

# dd if=carter.jpg of=output.jpg(自己定义的名字) skip=140147(对应的块偏移) bs=1

-e选项可以用来执行自动数据提取的基础上提取规则中指定的默认的extract.conf文件:

$ binwalk -e firmware.bin

dd if=caidao.pcapng of=1.gzip skip=7747 bs=1

tar -xvf 1.gzip

cat flag/flag.txt

key{8769fe393f2b998fa6a11afe2bfcd65e}

这么多数据包

根据提示要找getshell流,wireshark打开CTF.pcagng

先大致浏览一下,不难发现从第104个包开始应该是攻击机(192.168.116.138)在向目标机(192.168.116.159)进行端口扫描

追踪流——>TCP可以看到其中有一个s4cr4t.txt的文件,base64解码得到flag

Q0NURntkb195b3VfbGlrZV9zbmlmZmVyfQ==

CCTF{do_you_like_sniffer}

隐写3

当时的第一感觉就是大白怎么只有头没有身子,所以想到修改图片的宽和高。

更改02 A7

获得flag{He1l0_d4_ba1}

做个游戏(08067CTF)

这里用Java Decompiler 工具反编译。

分析以上代码可以得知,其中period是表示坚持的秒数,根据题目提示可以知道,需要坚持60秒,所以根据period/10找到case 6,得到flag的BASE64码flag{RGFqaURhbGlfSmlud2FuQ2hpamk=},解码得flag{DajiDali_JinwanChiji}。

想蹭网先解开密码

提示WIFI密码为手机号。下载下来是一个cap包,用wireshark打开。WIFI连接认证的重点在WPA的四次握手包,也就是eapol协议的包,过滤一下——

正好四个包,接下来就是破解密码了,因为已经给了11位手机号的前七位,使用crunch生成一个密码字典,然后进行破解

crunch 11 11 -t 1391040%%%% >>wifipassword.txt

学习crunch命令网站:http://netsecurity.51cto.com/art/201706/541638.htm

aircrack-ng wifi.cap -w wifipassword.txt

参数选择3 因为前两个为空

KEY FOUND! [ 13910407686 ]

也可使用脚本写字典

# include<stdio.h>

int main()
{    
    int i,j,k,l;    
    FILE *fp=NULL;    
    fp=fopen("words.txt","w");    
    for(i=0;i<=9;i++)
    {        
        for(j=0;j<=9;j++)
        {            
            for(k=0;k<=9;k++)
            {                
                for(l=0;l<=9;l++)
                {                    
                    fprintf(fp,"1391040%d%d%d%d\n",i,j,k,l);                
                }            
            }        
        }    
    }    
fclose(fp);
}
s = "1391040"
t = ""
file = open('data.txt','w')

for i in range(10):
    for j in range(10):
        for k in range(10):
            for l in range(10):
                t = s + str(i) + str(j) + str(k) + str(l)
                file.write(t)
                file.write('\n')
file.close()

Linux2

下载文件使用notepad++查看

KEY{24f3627a86fc740a7f36ee2c7a1c124a}

方法二:strings brave | grep KEY

账号被盗了

把cookie修改为管理员,然后提示下载exe文件

修改为true 得到下载地址,wireshark抓包随便填写账号密码抓包,筛选tcp流追踪一下

LOGIN下方是明显的BASE64编码,解码发现是一个163邮箱,取账+号密码,登陆后获取flag

flag{182100518+725593795416}

细心的大象

binwalk查看发现隐藏文件

foremost得到rar解压需要密码

右键查看照片属性

base64解码

得到一个照片

试一试修改高度

得到flag

BUGKU{a1e5aSA}

爆照(08067CTF)

binwalk分析隐藏压缩包,所以提取

得到zip文件

unzip 00000079.zip

得到8张文件和一个gif

追一分析

发现88、888、8888是被修改过的图片。

1.88图片自带二维码,扫描得到 bilibili

2.888将其后缀名添加上.jpg,查看其属性,从备注中获得一个使用base64加密的密文,解密得到silisili

3.8888有个压缩包,解压得到一张二维码得到panama

最后根据题目提示的进行组合,得到 flag{bilibili_silisili_panama}

图穷匕见

图片的标题图穷flag见

以及题目图穷匕见都暗示该图片在文件末尾隐藏了信息,主题会画图吗的作用下文再分析

winhex打开,找到jpg的文件尾FF D9,发现其后还有大量的数据

复制保存到txt中尝试将数据按16进制->ASCII方式解码,思路就很明显了,使用的是notepad++中的插件Converter进行解码HEX->ASCII

这时候再结合会画图吗的提示,将这些坐标做成一张图即可,

用gnuplot这个工具比较方便,因此将坐标转为gnuplot能识别的格式 坐标1 坐标2

所以需要替换格式

替换

kali安装gnuplot:sudo apt-get install gnuplot-x11

plot “/root/Desktop/111.txt”

但windows下是使用 plot “C:\\Users\\Asus\\Desktop\\111.txt”

flag{40fc0a979f759c8892f4dc045e28b820}

convert

通过网址,可以看到一个convert.txt文件,文件内容为二进制

将所有的二进制串转化为十六进制串

十六进制串写入到一个rar的压缩包中,解压压缩包我们可以看到一个CTF图片:

试一试右键属性发现base64编码的一段文字 解码。

flag{01a25ea3fd6349c6e635a1d0196e75fb}

import binascii

__author__ = 'Mang0'
# !/usr/bin/env python
# -*- coding: utf-8 -*-


base = [str(x) for x in range(10)] + [chr(x) for x in range(ord('A'), ord('A') + 6)]


# bin2dec
def bin2dec(string_num):
    return str(int(string_num, 2))


# hex2dec
def hex2dec(string_num):
    return str(int(string_num.upper(), 16))


# dec2bin
def dec2bin(string_num):
    num = int(string_num)
    mid = []
    while True:
        if num == 0: break
        num, rem = divmod(num, 2)
        mid.append(base[rem])

    return ''.join([str(x) for x in mid[::-1]])


# dec2hex
def dec2hex(string_num):
    num = int(string_num)
    mid = []
    while True:
        if num == 0:
            break
        num, rem = divmod(num, 16)
        mid.append(base[rem])

    return ''.join([str(x) for x in mid[::-1]])


# hex2tobin
def hex2bin(string_num):
    return dec2bin(hex2dec(string_num.upper()))


# bin2hex
def bin2hex(string_num):
    return dec2hex(bin2dec(string_num))


if __name__ == '__main__':
    file1 = open('convert.txt')
    s = file1.read()
    hexx = bin2hex(s)
    print (hexx)
    file2 = open('4.rar', 'wb')
    file2.write(binascii.a2b_hex(hexx))

听首音乐

通过网址,下载wav的音乐源文件:

通过Audacity软件打开音乐源文件,我们可以看到源文件中插入了一串东西:

放大观察,我们很容易想到是一串摩斯密码(短横杠代表.,长横杠代表-,中间代表空格)

按照规律得到摩斯密码为:

..... -... -.-. ----. ..--- ..... -.... ....- ----. -.-. -... ----- .---- ---.. ---.. ..-. ..... ..--- . -.... .---- --... -.. --... ----- ----. ..--- ----. .---- ----. .---- -.-.

解密后的字符串得到flag:

5BC925649CB0188F52E617D70929191C

好多数值

打开记事本发现是一串0-255的数字,推测是RGB的数字表示形式。每组数据对应一个像素点,图片宽度推测503*122,撸个python脚本

from PIL import Image
import re

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

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

#通过一个个rgb点生成图片
for i in range(0,x):
    for j in range(0,y):
        line = file.readline()#获取一行
        rgb = line.split(",")#分离rgb
        im.putpixel((i,j),(int(rgb[0]),int(rgb[1]),int(rgb[2])))#rgb转化为像素
im.show()

flag{youc@n’tseeme}

妹子的陌陌

binwalk分析

得到一个rar文件

解码密码不知道 右键图片属性也没有 爆破也没得到

后来网上查到密码就是“喜欢我吗.”尝试一下,将文本解压出来

嘟嘟嘟嘟
士兵:报告首长!已截获纳粹的加密电报!
首长:拿来看看

电报内容:
…./-/-/.–./—…/-..-./-..-././-./-.-./—/-.././.-.-.-/-.-./…./.-/…./..-/—/.-.-.-/-.-./—/–/-..-.

首长:我操你在逗我吗?你确定是他们纳粹发的吗?
士兵:难道我弄错了?哦。。。等等是这一条

内容:http://c.bugku.com/U2FsdGVkX18tl8Yi7FaGiv6jK1SBxKD30eYb52onYe0=
AES Key:@#@#¥%……¥¥%%……&¥

士兵:二维码真的扫不出来吗??肯定可以扫出来

第一个电报密文很明显就是莫斯密码工具解密,得到一个网站:HTTP://ENCODE.CHAHUO.COM/

AES加密

momoj2j.png

那么真正网址就是http://c.bugku.com/momoj2j.png

访问后出现一个二维码,直接扫码,什么都扫不出来

反色得到flag

KEY{nitmzhen6}

很普通的数独(ISCCCTF)

下载zip,增加.zip得到25张数独的照片

确实没想到找了资料

http://blog.chrstm.com/2017/05/29/ISCC2017/

http://isron.cn/2017/05/24/ISCC-shudu/

base64编码的字符串: Vm0xd1NtUXlWa1pPVldoVFlUSlNjRlJVVGtOamJGWnlWMjFHVlUxV1ZqTldNakZIWVcxS1IxTnNhRmhoTVZweVdWUkdXbVZHWkhOWGJGcHBWa1paZWxaclpEUmhNVXBYVW14V2FHVnFRVGs9 经过7次解码之后就得到flag flag:flag{y0ud1any1s1}

好多压缩包

发现一共解压出来68个zip压缩包。当我们尝试打开压缩包时,提示我们输入密码

crc32碰撞,暴力破解得到base64 ,解码十六进制

  • cf907300000d00000000000000aa3e7a008023004900000054000000028634abfe6b631d491d33030001000000434d54091514cbdd414f952448d3e88f984511514146f79f1d20427c6d2bb869ca9f282c3328fc4816991f1b181d8f382c4676e1c5ed674d72de4d4ad58274be92bd1f0a94cdbeaef73f22804af77420902d001d0000001d0000000262d1e7d54f631d491d30080020000000666c61672e74787400b0346966666978207468652066696c6520616e64206765742074686520666c6167c43d7b00400700a

之后补上文件头后解压

flag{nev3r_enc0de_t00_sm4ll_fil3_w1th_zip}

Reference

CTF—图片相关

PNG图片文件结构分析

CTF比赛中关于zip的总结


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 951207194@qq.com

文章标题:bugku-misc

文章字数:3,201

本文作者:Mang0

发布时间:2018-05-01, 19:02:14

最后更新:2018-11-02, 21:52:10

原始链接:http://mang0.me/archis/e36e397d/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录
×

喜欢就点赞,疼爱就打赏