实验吧——WriteUp&&涨姿势(8)

WriteUp

  1. 功夫秘籍
  2. Paint&Scan

涨姿势

  1. 64格
  2. A记录
  3. 有趣的文件
  4. deeeeeeaaaaaadbeeeeeeeeeef-200

功夫秘籍

原题

这里写图片描述

解题思路

rar(或者说图片)底部发现key,base64和栅栏

WriteUp

首先把rar仍HxD里面,发现其实是张png图,而且底部还有一个key

这里写图片描述

这里写图片描述

先把后缀改回png,得到了上面的第一张图片,然后把key用base64解码

这里写图片描述

这看着像栅栏密码,解一下试试

这里写图片描述

发现一个疑似flag,直接提交不行,原来只要提交大括号里面的就ok

Paint&Scan

原题

这里写图片描述

解题思路

坐标都有了,直接画图

WriteUp

from PIL import Image, ImageDraw
import sys
images = Image.new('RGB',(280,280),'#FFFFFF')
imagesDraw = ImageDraw.Draw(images,'RGB')
re = open('Paint&Scan.txt','r')
for n in re.readlines():
    n = n[1:len(n)-2]
    k = n.split(',')
    k[0] = int(k[0])
    k[1] = int(k[1])
    imagesDraw.point(tuple(k),'#000000')

images.save('out.png')
得到的二维码

这里写图片描述

这里写图片描述


64格

原题

这里写图片描述

解题思路

其实是把自己给绕进去了,64进制非得拆成两个8进制。。

WriteUp

把gif解压出来后放到HxD里面发现缺少头部,补全就可以看到完整的gif

这里写图片描述

这里写图片描述

这里说说是怎么绕进去的吧,当时这64格首先想到的是国际象棋,国际象棋从下往上,从左往右分别是1-8A-H,然后在这里我脑子里就冒出了两个8进制的想法,8 x 8等于64嘛,有了这个先入为主的想法后就在错误的路上越走越远了。。
接下来是正解,先把gif分解成一帧一帧,记录下对应小黄人的位置

这里写图片描述

打开浏览器,搜索64进制可以看到这两张图

这里写图片描述

这里写图片描述

把刚才记录的小黄人的位置在六十四卦幻方配数图里面一一对应,取得相应的数字,然后把相应的数字在第二张图里取得对应的符号,最终得到:
'Q1RGe2FiY19kZWZfZ30'
这个时候可以拿去解base64了,末尾记得补全 =

这里写图片描述

涨姿势点

哈哈,奇怪的先入为主

A记录

原题

这里写图片描述

解题思路

解密数据,Wireshark

WriteUp

cap文件先用aircrack看看

这里写图片描述

可以知道是WPA加密的,ESSID为0719,那么尝试爆破

这里写图片描述

像这种简单密码随便找个字典应该都有,爆破顺利进行
得到密码后用airdecap-ng解密数据

这里写图片描述

解密后得到shipin-dec.cap,用Wireshark查看即可

这里写图片描述

这里写图片描述

涨姿势点

aircrack-ng , airdecap-ng 以及Wireshark的组合使用,尤其是之前未使用过的airdecap-ng。
同时也对抓包,解包,分析的过程有比较系统的理解,即:aircrack-ng抓包,分析出加密方式和ESSID,并且爆破密码,然后由airdecap-ng进行解包,最后由相应的分析工具如Wireshark进行数据分析

有趣的文件

原题

这里写图片描述

解题思路

弄清是什么文件的数据就没问题了

WriteUp

很明显的,前面的7位是偏移,后面的是数据。那么先把数据放到HxD里面再动手
re = open('raw.txt','r')
wr = open('output.txt','w')
for n in re.readlines():
    wr.write(n[8::])

这里写图片描述

然后猜测是什么文件,这里又犯了先入为主的错误,一开始就认定是缺少文件头,然后就将各种格式的文件头往上套,结果,当然是没结果
正确做法应该是网上搜索特征值

这里写图片描述

可以发现在7-zip相关论坛有相关的帖子,那么可以猜测这是7-zip压缩文件。
最简单的验证方法,自己用7z压缩几个文件,看看文件头是否一样

源文件

这里写图片描述

test_1

这里写图片描述

test_2

这里写图片描述

从对比可以发现,这确实是7-zip文件,但是缺少了 37 7A 然后每4个数据中前2位和后2位对调位置
那么只要把位置再对调回来就可以了
re = open('output.txt','r')
wr = open('7z.txt','w')
for n in re.readlines():
    s = ''
    f = 0
    while f <= 35:
        line = []
        line.extend(n[f+2:f+4:])
        line.extend(n[f:f+2])
        for k in line:
            s += k
        s += ' '
        f += 5
    wr.write(s+'\n')

这里写图片描述

生成7z文件后得到一张图片

这里写图片描述

这里写图片描述

HxD中可以发现一个key,base64解码即可

这里写图片描述

这里写图片描述

涨姿势点

其实这道题应该可以解出来的,只不过又是先入为主导致在错误的路上越走越远。。

deeeeeeaaaaaadbeeeeeeeeeef-200

原题

这里写图片描述

解题思路

分辨率

WriteUp

按照惯例Binwalk 和 HxD先查看,然而都没有发现特殊信息,就是很正常的一张图片
那么猜测是图片本身的信息被修改了,在用HxD仔细查看可以发现如下信息

这里写图片描述

这说明图片是有iPhone5拍摄的,那么图片会不会被裁剪过呢?先查查iPhone5的摄像头信息

这里写图片描述

可以发现iPhone5的最高分辨率是3264x2448,对比一下图片的分辨率信息可以发现图片的分辨率为3264x1681

这里写图片描述

综上可以判断图片被“裁剪”过,将分辨率改回来即可得到原尺寸的图片

这里写图片描述

这里写图片描述

涨姿势点

1. 图片分辨率数据的位置
2. 改分辨率数据造成图片伪裁剪达到隐藏数据的目的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值