ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

ctf题目writeup(9)

2019-02-12 20:38:22  阅读:885  来源: 互联网

标签:stegsolve 题目 writeup flag ctf key MAX 打开 newIm


 继续刷题,找到一个 什么 蓝鲸安全的ctf平台

地址:http://whalectf.xin/challenges

(话说这些ctf平台长得好像)

1.

放到converter试一下:

在用十六进制转的时候能输出url编码,再把url转换一下:(这里用converter的unescape就可以)

这段,乍一看先懵一个base64吧。

解密后是这样的,那就清楚了,这是ascii码。直接工具转,或者对着表很快。

所以就是 key{welcometovenus}

2.

刚开始以为是栅栏密码,凯撒密码什么的。发现解开后没有啥东西。

那就试试键盘:

跟着感觉走,顺着这个键盘可以发现 B N C三个字符 一一对应上就行了

key{BNCBNNBNB}

3.

 

 下载解压后是一个pcapng的流量包,用wireshark打开:

这个包还是有很多东西的。不过基本上都是上传图片啊什么东西。筛选出来http 发现最后上传了一个zip

在这直接用wireshark导出文件保存为zip(右键 有个extract)解压后得到一个这玩意:

不过我打开后都是空白的,以为这是不是传说中的doc什么的加密。出来后右键查看属性是有大小的,可能藏东西了,再看一眼详细信息:

妙。

key{23ac600a11eaffc8}

5.

 

 这里数据包用wireshark打开会报错

而且根据题目和实际,这是个wifi的数据包,有wpa加密的那种。。。

这种题没接触过太多。。。(好像就一道)

所以这时候需要kali下的 aircrack-ng 工具 用字典暴力破解密钥

密码是 88888888.

之后 根据 essid 和 密码 进行破解:

essid可以直接用 aircrack-ng 命令查看

之后的命令是:

airdecap-ng shipin.cap -e 0719 -p 88888888

这里会生成一个dec.cap:

打开后找到说的视频网站:

ctf{push.m.youku.com}

6.

解压后还是用wireshark打开:

第一个直接右键 follow tcp streams:

看意思这个密码好像是假的 这里看下二进制。

7f是 del 就是删除的意思 这样就对上了 我们知道ctf中的flag 经常把字母变成数字

这样就是 backd00Rmate 就很ctf

flag{backd00Rmate}

7.

试了试栅栏和凯撒,都不太行。

但是越看越觉得像是base64.。。于是把加号和减号删掉

itislikevenusverymuch

key{itislikevenusverymuch}

8.

 

 

一看就是jsfuck了。直接f12运行:

这里%21是url编码,其实就是!

所以key{itisjavascriptenjoy!}

9.

看到后面有一串,尝试用16进制转:

这里看到 字符串是 alert|coolyougettheflag 然后结合这段代码。 split是以什么什么为分割,在这里就是 用| 来分割字符串,而后面的1 则是第几段。

(从0开始) coolyougettheflag就是我们要的了

所以:key{coolyougettheflag}

10.

打开后看:是一段base64

解密后放到txt是这样的:

嗯 你会发现 这其实看起来像一个二维码。。。。

所以 得用脚本了。。这里用了大佬的脚本:

# -*- coding: UTF-8 -*-
# __Author__:pad0y
from PIL import Image
MAX = 256
with open('flag.txt', 'r') as f:
    c = f.read()
    newIm = Image.new('RGB', (MAX, MAX))
    white = (255, 255, 255)
    black = (0, 0, 0)
    for x in range(0,MAX):
        for y in range(0, MAX):
            if c[MAX*x+y] == '1':
                newIm.putpixel((x, y), black)
            else:
                newIm.putpixel((x, y), white)
    newIm.save('flag.png')

  

分析后得到:

flag{QR_Code_666_!!_?}

11.

打开后还是jsfuck 直接f12运行:

这是编码的问题,保存下来为unicode形式,然后用winhex这样的软件打开:

 

所以:flag{? enusCtf}

12.

真没想到还有usb协议包。。。

打开后一脸懵逼。

然后逼急了直接notepad++打开,find Pwn:

Pwnium{408158c115a82175de37e8b3299d1f93}

13.

打开后还是流量包分析。可以在最后几次看到有 tar.gz的字样

一般这种题都是筛选http的 而且一般要找的东西 你看它的长度肯定不能是两三百以下的。 就从这里头慢慢细心的找。

所以我们就得从这段的tcp流里面提取出一段tar.gz

tar.gz的文件头是 1f 8b 

用hex模式查看然后寻找1f:

把这段复制下来,到winhex里面,用hex方式导入,然后另存为.tar.gz的格式:

打开后就有flag了:

ISG{China_Ch0pper_Is_A_Slick_Little_Webshe11}

14.

这两道题都是分析文件中的sql注入语句,然后根据字符来确定flag的值。

这里转载大佬的文章,很详细:

https://blog.csdn.net/qq_34356800/article/details/83895210

15.

百度了一下 这是 传说中的夏多密码:

 

 具体的解密:

https://www.33iq.com/group/topic/242254/

16.

打开图片,文本形式搜flag无果,详细信息没有。。。

用神器stegsolve看一下:

识别一下:

17.

图片用notepad++打开,最后发现flag.txt

试试直接改后缀变成zip,还真行,解压得到flag.txt:

 

flag{WelcomeT3WhaleCTF}

18.

这个直接用神器 stegsolve 逐帧分析 发现隐藏一个:

flag{youfindmeWHALE}

19.

直接详细信息:

 

flag{firsttry}

20.

还是用 stegsolve 逐帧分析:

GUETCTF{Y0u_sEE_m3}

21.

用stegsolve看,看详细信息,找flag无果。

用winhex打开:

兔子的脚下果然有东西,一段unicode编码,解出来:

 

flag{pE3kQzmaMN}

22.

点进去是个黑色的图片(加载不出来)

可以复制这个图片的链接到迅雷,直接就可以下载了。

(挺大哟,有7mb多。)

然后详细信息,stegsolve,文本搜索巴拉巴拉没有啥东西。

拖进winhex慢慢研究。

关于ihdr,涉及到最多的就是宽和高的问题。

这个图原图宽比高大出一倍多。是33多少来着。(我改完忘了。。。懒得重下一遍)

熟悉ihdr文件格式的可以直接去找,不熟悉的可以搜图片详细信息的高度宽度来定位。

在这里我把高度调整的很高,最终还是如我所愿。

FLAG{ihDR_ALSO_FUN}

23.

丢进stegsolve中发现了这个:

识别一下看看:

还以为有啥别的坑。。没想到直接出来了:

flag{AppLeU0}

24.

 

 

25.

打开后你会发现 末尾:

其实打开前就知道了这道题是需要修补文件头的,反正我电脑显示不出来图像。直接补全:

修改前:

修改后:

然后gif就能正常动了。

是里面的灰色那部分,总共4帧有关的吧,应该是base64编码,用stegsolve逐帧拿出来:

Y2F0Y2hfdGh1X2R5bmFtaWNfZmxhZ19pc19xdW10ZV9zaW1wbGU= 

base64解码:

catch_thu_dynamic_flag_is_qumte_simple

要注意这里有坑。。。单词要正确

得改成:

key{catch_the_dynamic_flag_is_quite_simple}

26.

打开后老三样往上盘她。。。

发现没啥东西。

丢进linxu binwalk一下:

这里 的 15AFFB 丢进winhex是这样的:

看到后先把二进制转到16进制:

发现不对劲了。因为你转到16之后,就没可能再转了(157位 谁的倍数也不是)

那就看看01.。。。。又想起了上午那个 二维码 25的平方是625??

代码:(就是那道题改一下max)

# -*- coding: UTF-8 -*-
# __Author__:pad0y
from PIL import Image
MAX = 25
with open('flag.txt', 'r') as f:
    c = f.read()
    newIm = Image.new('RGB', (MAX, MAX))
    white = (255, 255, 255)
    black = (0, 0, 0)
    for x in range(0,MAX):
        for y in range(0, MAX):
            if c[MAX*x+y] == '1':
                newIm.putpixel((x, y), black)
            else:
                newIm.putpixel((x, y), white)
    newIm.save('flag.png')

  

二维码小的可怜识别一下:

 

 SCTF{(121.518549,25.040854)}

27.

这道题涉及到的就是最低位这个东西。。。

最低位莫过于 0和1 自然而然就想到二维码。。。

原图在stegsolve下有隐写二维码但是只有一点。

bmp属于比较高位的,这道题以前有类似的,大概就是 用画图打开,然后另存为 png格式

然后再用stegsolve打开:

flag{i love u}

28.

图片拿过来老三样。。。啥都没有鸭。

然后用binwalk发现两个png:

一个大,一个小,不用说,大的肯定隐藏东西了。

用stegsolve打开大的文件,然后选择 image combiner 选择小文件:

sub(就是减的意思)

多了一条小红线。

所以我们去大文件的red0 看一看:

ISG{E4sY_StEg4n0gR4pHy}

搞定。

今天到这里。

标签:stegsolve,题目,writeup,flag,ctf,key,MAX,打开,newIm
来源: https://www.cnblogs.com/lixiaoyao123/p/10366969.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有