ctf题目writeup(6)
2019.2.2
依旧是bugku上面的题目,地址:https://ctf.bugku.com/challenges
1.

解压后是60多个out.zip,都是真加密,里面都是1kb的data.txt

也没有密码的提示。所以估计就得写脚本crc32爆破了。(一个txt 4字节,咱们不考虑中文,
那就是4个英文字符或者英文符号啥的。)

这里看了大佬们说的,大佬们直接看出来是base64了。。。。所以那句话就用了 +=
脚本如下:(python2.7运行才行,3会报错的。)
#coding:utf-8
import zipfile
import string
import binascii def CrackCrc(crc):
for i in dic:
for j in dic:
for p in dic:
for q in dic:
s = i + j + p + q
if crc == (binascii.crc32(s) & 0xffffffff):
#print s
f.write(s)
return def CrackZip():
for I in range(68):
file = 'out' + str(I) + '.zip'
f = zipfile.ZipFile(file, 'r')
GetCrc = f.getinfo('data.txt')
crc = GetCrc.CRC
#以上3行为获取压缩包CRC32值的步骤
#print hex(crc)
CrackCrc(crc) dic = string.ascii_letters + string.digits + '+/=' f = open('out.txt', 'w')
CrackZip()
f.close()
脚本大概意思九十,从我们的这个字典dic里面(由英文字符,+,=构成,base64的那种) 爆破出4位字符的 crc32 与当前压缩包的crc32进行对比,一样的话就把这串字符输入到我们的文件 out.txt里面。

这个脚本得运行个几分钟,然后结果出来了,直接base64解码:

在线工具乱码挺正常不用怕,直接复制粘贴到txt(可能提示,保存为unicode就行。)然后用winhex打开:
注意最后一行 fix the file and get the flag
说明得修补文件。

文件尾是rar的文件尾,直接新建一个rar,照着补上rar的文件头就行了:

最后在注释里面找到flag
flag{nev3r_enc0de_t00_sm4ll_fil3_w1th_zip}
2.

下载后解压只有一个flag.txt打开后是 flag is not here 看了看详细信息也没什么。
然后把压缩包binwalk一下,发现是个坑。。没进展。
然后用winhex打开,pk,说明是zip,那就改个后缀,果然这回就不一样了:

flag.txt还是那样没啥东西。。。这个flag.rar却值得注意。
用winhex打开:

可是这个png并没有出现,说明可能是损坏了这里修复一下:

这里你可以自己找一张png然后和这个txt一块压缩一下,然后winhex看一下,对比一下哪里不一样就行了。 A8 34 7A 改成 A8 3C 74就行了
然后就能发现能解压一个png(其实是gif,winhex打开后就知道了。)

然后用stegsolve打开查看:

只有半个。。。考虑到是gif,用下逐帧查看发现第二帧还是空白的。。。。这里纳闷很久,就把第一张和第二张都保存下来了。发现这俩还是gif。。。就改个后缀,继续用stegsolve看
结果在第二帧的图的红色通道看到了这个:

然后用ps拼接一下:

然后保存下来,手机扫码或者电脑用qr来看都行:

flag{yanji4n_bu_we1shi}
3.

下来之后用winhex打开是个png头,直接改成png后缀,变成了2b小姐姐的图片:

查看详细信息,用stegsolve都没什么发现。
然后拖到binwalk,分解出一个B2.png和伪加密压缩包:(binwalk其实直接就把伪加密里面的图分离出来了。。。)

然后就是搞这个B2和这个2B两个图了。。。
卡在这,看大佬说是 盲水印的方式:
脚本:https://github.com/linyacool/blind-watermark
下载后直接用就可以了,很好用也好理解,只不过第一次遇见真的懵逼。

NUST{I_10v3_2B_F0r3v3r}
4.

这道题挺坑的。。。。
这个txt是个base64:

但是先不要着急解密,解密也什么都没有。
QAQ用winhex打开 你会看到 <moduel>这样的字眼 还有什么 cipher.txt 这就很像pyc了 直接改后缀pyc
然后用在线反编译(或者反编译工具):
https://tool.lu/pyc/

看起来就是个解密函数 咱们直接运行就行:

所以提示就是 搞这个 STEGOSAURUS
百度一下找到了这个:
https://www.freebuf.com/sectool/129357.html
是一个能在pyc文件里隐写的东西,真的牛逼。。。所以有工具就好办了下载下来用就行了 (支持python3.6 不支持2)

python3 stegosaurus.py -x QAQ.pyc
flag{fin411y_z3r0_d34d}
5.

下载图片后,jpg格式的没问题。直接binwalk,有个真加密的压缩包(rar格式的。)
暴力破解肯定不现实。。。试试照片上的字是不是密码。。。:

还真是,解出来一个txt ,一个摩斯电码,一个aes加密:

首先把摩斯电码解开:

它这里面斜杠先去掉 剩下的可能多多少少有点影响,不过现在看出来是个网站(这个网站是解密各种密码的网站。)
http://encode.chahuo.com
所以剩下的就简单了 网页后面那段:U2FsdGVkX18tl8Yi7FaGiv6jK1SBxKD30eYb52onYe0= 因该就是aes加密
AES Key:@#@#¥%……¥¥%%……&¥ (这个就是密码)
用这个网站解开就行:

这样我们要去的地方就是:
http://c.bugku.com/momoj2j.png
但是这个网页现在不知道为啥打不开了。。。看别人的wp知道是一个二维码(还需要再ps中反相一下)


KEY{nitmzhen6}
ctf题目writeup(6)的更多相关文章
- ctf题目writeup(9)
继续刷题,找到一个 什么 蓝鲸安全的ctf平台 地址:http://whalectf.xin/challenges (话说这些ctf平台长得好像) 1. 放到converter试一下: 在用十六进制转 ...
- ctf题目writeup(7)
2019.2.10 过年休息归来,继续做题. bugku的web题,地址:https://ctf.bugku.com/challenges 1. http://123.206.87.240:8002/ ...
- ctf题目writeup(5)
2019.2.1 今天继续bugku的隐写杂项题:题目链接:https://ctf.bugku.com/challenges 1. 这道题下载后用wireshark打开...看了好久也没看出个所以然, ...
- ctf题目writeup(4)
2019.1.31 题目:这次都是web的了...(自己只略接触隐写杂项web这些简单的东西...) 题目地址:https://www.ichunqiu.com/battalion 1. 打开链接: ...
- ctf题目writeup(1)
2019/1/28 题目来源:爱春秋 https://www.ichunqiu.com/battalion?t=1 1. 该文件是一个音频文件: 首先打开听了一下,有短促的长的....刚开始以为是摩斯 ...
- ctf题目writeup(8)
2019.2.11 南京邮电的ctf平台: 地址http://ctf.nuptzj.cn/challenges# 他们好像搭新的平台了...我注册弄了好半天... 1. 签到题,打开网址: 查看一下页 ...
- ctf题目writeup(3)
题目地址: https://www.ichunqiu.com/battalion 1. 这个是个mp3,给的校验是为了下载下来的. 下来之后丢进audicity中 放大后根据那个音块的宽度来确定是 . ...
- ctf题目writeup(2)
2019.1.29 题目地址: https://www.ichunqiu.com/battalion 1. 点开链接: include "flag.php";$a = @$_REQ ...
- 攻防世界 WEB 高手进阶区 TokyoWesterns CTF shrine Writeup
攻防世界 WEB 高手进阶区 TokyoWesterns CTF shrine Writeup 题目介绍 题目考点 模板注入 Writeup 进入题目 import flask import os a ...
随机推荐
- javascript面向对象的写法01
类和对象 其他面向对象的语言类的语法是内置的,自然而然的事.javascript中有对象,但没有类的语法,类的实现需要模拟出来. 只需要把对象想成一个容器,里面存放一些属性或方法,把类想象成一个对象的 ...
- 深入浅出 关于SQL Server中的死锁问题
深入浅出 关于SQL Server中的死锁问题 博客2013-02-12 13:44 分享到:我要吐槽 死锁的本质是一种僵持状态,是多个主体对于资源的争用而导致的.理解死锁首先需要对死锁所涉及的相 ...
- jquery-tags-input 使用经历
源代码里有这么一段,是在tagsInput这里,第一次初始化的时候是正常的,但当第二次初始化的时候就会出现问题,id的值会组合为 id+new Date().getTime() 暂时不清楚作用是什么 ...
- 一对多sql
<!-- 分页查询派货成本 --> <select id="queryCostRegionPriceBycondtion" parameterMap=" ...
- Flutter仿照airbnb创建app
github地址:https://github.com/GainLoss/flutter-app 一.基础 flutter是谷歌公司开发的开源免费的UI框架,用dart语言实现的,可以实现跨平台,一套 ...
- 关于《Selenium 2自动化测试实战 基于Python语言》学习过程中键盘的常用操作
下边是自己在学习过程中总结的一些常用键盘的操作
- ShellSort uva
ShellSort He made each turtle stand on another one's back And he piled them all up in a nine-turtle ...
- git使用过程的问题与解决办法
一.什么是Git Git是目前世界上最先进的分布式版本控制系统.工作原理 / 流程: Workspace:工作区Index / Stage:暂存区Repository:仓库区(或本地仓库)Remote ...
- Oracle 用户、授权、角色管理
Oracle 用户管理 一.创建用户的Profile文件SQL> create profile student limit // student为资源文件名FAILED_LOGIN_ATTEMP ...
- React Native 中组件的生命周期(转)
概述 就像 Android 开发中的 View 一样,React Native(RN) 中的组件也有生命周期(Lifecycle).所谓生命周期,就是一个对象从开始生成到最后消亡所经历的状态,理解生命 ...