前言

近期看到有人CSDN私信我,问我BugkuCTF的一道Misc题,那么今天在这里给大家解答一下这道“粉色的猫”,顺便开始一下我们CTF的旅程。

题目信息

题目名称:粉色的猫

题目作者: 想养一只粉色的猫

描  述: 猫猫不可爱嘛ヾ(≧▽≦*)o

解题过程

下载附件得到一个ZIP,看上去是加密过的,且排除了伪解密

压缩包的注释是DNA编码,我们解码一下

注意:这里有一个很严重的问题,我们会在文章最后进行说明

我们使用得到的压缩包密码CATISSOCUTE来解压这个ZIP,得到key.txt和1

我们先看key.txt

这是PDU编码,我们解密一下(温馨提示:这里一定要一行一行去解)

得到包含PNG文件头的一段16进制

89504E470D0A1A0A0000000D494844520000004700000008080200000

参考一下,把下面的几行都解一下,得到

89504E470D0A1A0A0000000D494844520000004700000008080200000024DC75F1000000BC49444154785EDD92411285300843B919F73F159F84FA8712176E745126E3D4A62D7955B388211799BB2EAB95A6B3BBE7B60993EE63F26FDD1BCDAB30331FE5E6D9375B06566A210A3AB71D8E3D72101DB491696801324F8EF284EB35C0FB64EF100A1BA0C20DDEB84A2BD8B58B39EAC6E0AB108D6D6F44CFD81D03B694BC94C2313D4F689916D626A7958F5CD959BE28C443AE76C10588028592961BFCD40D157F1341389CFAB6AE5F2308775E81EB2030C0504751D9FA4EEF22FD007DED5B68A315FD110000000049454E44AE426082

写到文件中

对图片用stegsolve进行一下反色操作

这个是piet编码,可以用在线网址进行求解,也可以用npiet求解,这里用在线的

因为该工具使用起来还是得慢慢摸索的,这里就不对原理做过多解释

如果大家感兴趣的话,后续我会专门出一期关于piet编码的文章供大家研究

打开在线网站,点击import导入一下反色后的图片

然后点击右边的DEBUGGER,然后点击蓝色按钮

等待步入到最后即可得到a=13和b=14,这应该是猫脸变换的参数,但是没什么信息了,突然发现还有一个文件,我们看看它

这是一个BPG图像,把它用工具解码一下

这里我更加确定是猫脸变换了,百度随便搜了个猫脸变换脚本,改一下ab就行,贴一下:

import matplotlib.pyplot as plt
import cv2
import numpy as np
from PIL import Imageit = cv2.imread('input.png')def arnold_decode(image, shuffle_times, a, b):a=13b=14# 1:创建新图像decode_image = np.zeros(shape=image.shape)# 2:计算Nh, w = image.shape[0], image.shape[1]N = h  # 或N=w# 3:遍历像素坐标变换for time in range(shuffle_times):for ori_x in range(h):for ori_y in range(w):# 按照公式坐标变换new_x = ((a * b + 1) * ori_x + (-b) * ori_y) % Nnew_y = ((-a) * ori_x + ori_y) % Ndecode_image[new_x, new_y, :] = image[ori_x, ori_y, :]cv2.imwrite('flag.png', decode_image, [int(cv2.IMWRITE_PNG_COMPRESSION), 0])return decode_imagearnold_decode(it, 1, 121, 144)

运行之后就得到了flag的图片

flag{c159549a-5604-4bb7-8a6e-9db9d8b1426a}

吐槽环节

题目的第一步,也就是DNA编码那步存在很严重的问题,我找到了一篇blog

注意看Update 5中作者提到以上这段话

In constructing the codon-to-english conversion table I had to decide if I wanted to go with the standard coding (e.g. letting GTC which codes for alanine represent A) or make up a random encoding.

我们机翻一下,可以得到如下内容:

在构建密码子到英语的转换表时,我必须决定是否要使用标准编码(例如,让 GTC 的丙氨酸编码代表 A)或组成随机编码。

换句话说,就是该工具中的替换表完全是随机生成的,因此密文本身没有任何的道理可言,唯一解决这道题目的方法就是就去找到作者使用的工具。所以如果用espasy的DNA解码工具是无法正常解开的。看到这里可能大家也不想说什么了,那么我们就保持微笑就好。

Bugku MISC 粉色的猫相关推荐

  1. BugKu: 粉色的猫

    BugKu: 粉色的猫 文章目录 BugKu: 粉色的猫 1.获取压缩包密码 2.分析文件 3.Arnold变换(猫脸变换) 总结: 1.获取压缩包密码 能发现只有4种字符AGCT 所以是DNA 碱基 ...

  2. Bugku - Misc图穷匕见 - Writeup

    Bugku - Misc图穷匕见 - Writeup 原文链接:http://www.cnblogs.com/WangAoBo/p/6950547.html 题目 给了一个jpg图片,下载图片 分析 ...

  3. Bugku MISC come_game 详解

    Bugku MISC come_game 一.题目 二.思路 三.复现 四.总结 我会不定时更新bugku的题目,和大家共同学习,披荆斩棘.日拱一卒,你的付出,终将使你强大.希望大家喜欢,多多点赞收藏 ...

  4. BugKu MISC 部分题目Write_up(三)

    第十三题: Linux基础1 1.通过网址下载题目zip包brave.zip,解压得到brave文件,题目说的是linux基础,应该是想考察linux下的grep命令,但是我直接用notepad++打 ...

  5. Bugku—MISC题总结

    前言:MISC考脑洞,也考分析和观察能力,总之比较有趣,就总结一下我的做题过程. 这是一张单纯的图片 用winhex打开 Unicode编码转换ASCII即可得出flag 隐写 前四位是宽度,后四位是 ...

  6. [BUGKU] [MISC]普通的二维码

    bugku从XJNU偷的题目 解压,发现是张二维码 扫描,发现内容是 哈哈!就不告诉你flag就在这里! 用winhex打开,发现末尾有一段可疑的数据 146154141147173110141166 ...

  7. bugku:misc可爱的故事

    下载附件,解压得到两张图片和题目提示的文档文件, 题目提示和故事内容是这样的: 题目的提示说flag就藏在图片特殊文字中,还提到谷歌翻译,开始以为要把文字翻译成我们认识的,结果半天提取不出来文字,看了 ...

  8. Bugku Misc 我永远喜欢穹妹

    附件下载,!!!,跟" 爆 照 "好像是一样的题目? foremost 提取 很顺利,压缩包解压,很顺利! 尝试扫描88文件,bilibili 好吧,算了,应该是一样的 flag{ ...

  9. [BUGKU] [MISC] 爆照

    下载图片,woc穹妹 日常binwalk 发现一大堆,直接foremost 打开提取出的zip,发现里面有许多888文件还有个gif gif好像看到了二维码,stegsolve逐帧查看 发现第二帧有二 ...

最新文章

  1. 【Python】青少年蓝桥杯_每日一题_4.09_输出1~N之间的所有数
  2. 抢票神器成GitHub热榜第一,支持候补抢票,Python跑起来 | 标星8400
  3. 什么是卫星的有效载荷?
  4. 物联卡的使用_物联卡在手机上使用有什么影响?网友:寿命分别是3个月,16天,9天...
  5. 【ES6(2015)】Iterator
  6. phpcms v9宽字节注入问题
  7. iptables学习笔记:端口转发命令优化
  8. c语言数组统计条形图,【D3.js数据可视化系列教程】--(十)更自由的条形图
  9. 试题7 算法训练 P0505(最右边的那个非0的数字)
  10. 基于Caffe的人脸关键点检测实现
  11. 二建公路工程知识总结_2020二建公路实务:专题突破+高分攻略,拿分90稳过二建...
  12. 网页设计公众号相关资源网站
  13. 论文笔记:NeuS: Learning Neural Implicit Surfaces by Volume Rendering for Multi-view Reconstruction
  14. 内向的人和陌生人聊天,如何做到有话可说
  15. 应届生如何轻松通过Java面试
  16. Command python setup.py egg_info failed with error code 1 in /private/var/folders/14/4hz051qx0wqd3
  17. 苹果手机10秒解除锁屏_苹果密码忘了不想刷机怎么办_苹果手机10秒解除锁屏
  18. php 合成图片,合成圆形图片
  19. WeChat基础 senparc公众平台搭建
  20. CS上线Linux--坑太多了

热门文章

  1. PLC应用中单按键(自复位)控制启动与停止
  2. 强大的cheat工具
  3. android7 强制gpu渲染,安卓手机开启强制GPU渲染功能的方法
  4. 从git提交出现“updates were rejected because a pushed branch tip is behind its remote”到提交成功解决问题的过程
  5. mysql 怎么修复表_修复mysql表
  6. html添加用户与删除吗,HTML页面元素的添加与删除
  7. if判断中的true和false
  8. 抽象函数(Java)
  9. 第七届科技节微电影比赛须知
  10. “希希敬敬对”团队作业——敏捷冲刺4