BUUOJ

  • Misc
    • [MRCTF2020]pyFlag
    • Business Planning Group
    • [ACTF新生赛2020]剑龙
    • [GWCTF2019]huyao
    • [UTCTF2020]File Carving
    • [GUET-CTF2019]soul sipse
    • [watevrCTF 2019]Evil Cuteness
    • [UTCTF2020]sstv
    • [UTCTF2020]spectogram
    • 我爱Linux

Misc

[MRCTF2020]pyFlag

三个图片尾部都有额外数据

按顺序拼在一起,另存为zip文件,里面有俩txt,爆破得到密码1234

hint.txt:

我用各种baseXX编码把flag套娃加密了,你应该也有看出来。
但我只用了一些常用的base编码哦,毕竟我的智力水平你也知道…像什么base36base58听都没听过
提示:0x10,0x20,0x30,0x55

flag.txt:

G&eOhGcq(ZG(t2*H8M3dG&wXiGcq(ZG&wXyG(jtG&eOdGcq+aG(t5oG(jqG&eIeGcq+aG)6Q<G(jrG&eOdH9<5qG&eLvG(jsG&nRdH9<8rG%++qG%__eG&eIeGc+|cG(t5oG(jsG&eOlH9<8rH8C_qH9<8oG&eOhGc+_bG&eLvH9<8sG&eLgGcz?cG&3|sH8M3cG&eOtG%_?aG(t5oG(jtG&wXxGcq+aH8V6sH9<8rG&eOhH9<5qG(<E-H8M3eG&wXiGcq(ZG)6Q<G(jtG&eOtG%+<aG&wagG%__cG&eIeGcq+aG&M9uH8V6cG&eOlH9<8rG(<HrG(jqG&eLcH9<8sG&wUwGek2)

根据hint可以知道可能有base16、32、48、85

先用Python进行base85解码一次

再base16解码一次

GU2DKNRUIE2DINJWGQ2TKQJTG42TONJUGQZDGMJVHAZTANBWG44TKQJVGYZTQMZQGU4DGMZUGE3UCNRTGZBDKQJWIM2TSMZTGUZDMNRVIE2DONJWGZATIRBUG42TENSDGYZTMRJTGAZUI===

然后base32

54564A4456455A3757544231583046795A5638305833417A636B5A6C593352665A47566A4D47526C636E303D

再16

TVJDVEZ7WTB1X0FyZV80X3AzckZlY3RfZGVjMGRlcn0=

最后来一下base64

MRCTF{Y0u_Are_4_p3rFect_dec0der}

Business Planning Group

图片结尾有点东西,这个其实是bpg文件,misc入门的misc3考过

提取出来保存为bpg文件,不过windows下不能直接查看,参考上面那篇博客,下载工具查看

图片里有字符串

YnNpZGVzX2RlbGhpe0JQR19pNV9iM3R0M3JfN2g0bl9KUEd9Cg==

base64解码得到bsides_delhi{BPG_i5_b3tt3r_7h4n_JPG}

[ACTF新生赛2020]剑龙


先看hint.zip的内容,里面有两个文件

看一下txt

゚ω゚ノ= /`m´)ノ ~┻━┻   //*´∇`*/ ['_']; o=(゚ー゚)  =_=3; c=(゚Θ゚) =(゚ー゚)-(゚ー゚); (゚Д゚) =(゚Θ゚)= (o^_^o)/ (o^_^o);(゚Д゚)={゚Θ゚: '_' ,゚ω゚ノ : ((゚ω゚ノ==3) +'_') [゚Θ゚] ,゚ー゚ノ :(゚ω゚ノ+ '_')[o^_^o -(゚Θ゚)] ,゚Д゚ノ:((゚ー゚==3) +'_')[゚ー゚] }; (゚Д゚) [゚Θ゚] =((゚ω゚ノ==3) +'_') [c^_^o];(゚Д゚) ['c'] = ((゚Д゚)+'_') [ (゚ー゚)+(゚ー゚)-(゚Θ゚) ];(゚Д゚) ['o'] = ((゚Д゚)+'_') [゚Θ゚];(゚o゚)=(゚Д゚) ['c']+(゚Д゚) ['o']+(゚ω゚ノ +'_')[゚Θ゚]+ ((゚ω゚ノ==3) +'_') [゚ー゚] + ((゚Д゚) +'_') [(゚ー゚)+(゚ー゚)]+ ((゚ー゚==3) +'_') [゚Θ゚]+((゚ー゚==3) +'_') [(゚ー゚) - (゚Θ゚)]+(゚Д゚) ['c']+((゚Д゚)+'_') [(゚ー゚)+(゚ー゚)]+ (゚Д゚) ['o']+((゚ー゚==3) +'_') [゚Θ゚];(゚Д゚) ['_'] =(o^_^o) [゚o゚] [゚o゚];(゚ε゚)=((゚ー゚==3) +'_') [゚Θ゚]+ (゚Д゚) .゚Д゚ノ+((゚Д゚)+'_') [(゚ー゚) + (゚ー゚)]+((゚ー゚==3) +'_') [o^_^o -゚Θ゚]+((゚ー゚==3) +'_') [゚Θ゚]+ (゚ω゚ノ +'_') [゚Θ゚]; (゚ー゚)+=(゚Θ゚); (゚Д゚)[゚ε゚]='\\'; (゚Д゚).゚Θ゚ノ=(゚Д゚+ ゚ー゚)[o^_^o -(゚Θ゚)];(o゚ー゚o)=(゚ω゚ノ +'_')[c^_^o];(゚Д゚) [゚o゚]='\"';(゚Д゚) ['_'] ( (゚Д゚) ['_'] (゚ε゚+(゚Д゚)[゚o゚]+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) +(o^_^o))+ ((゚ー゚) + (o^_^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ ((゚ー゚) + (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ (゚ー゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ (o^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ ((゚ー゚) + (o^_^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ ((゚ー゚) + (゚Θ゚))+ (゚Д゚)[゚ε゚]+((o^_^o) +(o^_^o))+ (o^_^o)+ (゚Д゚)[゚ε゚]+(゚ー゚)+ (゚Θ゚)+ (゚Д゚)[゚o゚]) (゚Θ゚)) ('_');

到在线网址解密一手,得到welcom3!

得到的这个应该是密码,说明hh.jpg应该是某种隐写,测试发现是steghide

解出的内容如下:

想要flag吗?解出我的密文吧~
U2FsdGVkX1/7KeHVl5984OsGUVSanPfPednHpK9lKvp0kdrxO4Tj/Q==

U2F开头,应该是AES或者DES这种,不过一般需要密码,再去找一下密码的线索,在图片的exif信息中


这里解出来让找一下stegosaurus,在github上找到https://github.com/AngelKitty/stegosaurus

这个工具我以前做题的时候用过,详细介绍可以看这篇博客

题目中给的O_O其实是一个pyc文件,改回后缀后使用这个工具解一下就行

[GWCTF2019]huyao

给了两张一样的图片,应该是盲水印

盲水印的话我遇到过三种,具体在另一篇博客介绍过

这里试了一下发现是频域盲水印,上脚本

# coding=utf-8
import cv2
import numpy as np
import random
import os
from argparse import ArgumentParser
ALPHA = 5
def build_parser():parser = ArgumentParser()parser.add_argument('--original', dest='ori', required=True)parser.add_argument('--image', dest='img', required=True)parser.add_argument('--result', dest='res', required=True)parser.add_argument('--alpha', dest='alpha', default=ALPHA)return parser
def main():parser = build_parser()options = parser.parse_args()ori = options.oriimg = options.imgres = options.resalpha = options.alphaif not os.path.isfile(ori):parser.error("original image %s does not exist." % ori)if not os.path.isfile(img):parser.error("image %s does not exist." % img)decode(ori, img, res, alpha)
def decode(ori_path, img_path, res_path, alpha):ori = cv2.imread(ori_path)img = cv2.imread(img_path)ori_f = np.fft.fft2(ori)img_f = np.fft.fft2(img)height, width = ori.shape[0], ori.shape[1]watermark = (ori_f - img_f) / alphawatermark = np.real(watermark)res = np.zeros(watermark.shape)random.seed(height + width)x = range(height / 2)y = range(width)random.shuffle(x)random.shuffle(y)for i in range(height / 2):for j in range(width):res[x[i]][y[j]] = watermark[i][j]cv2.imwrite(res_path, res, [int(cv2.IMWRITE_JPEG_QUALITY), 100])
if __name__ == '__main__':main()

命令:python BlindWaterMarkplus.py --original 1.png --image 2.png --result res.png

拿到flag{BWM_1s_c00l}

[UTCTF2020]File Carving

尾部有额外数据,提取出来另存为zip文件

解压后拿到文件hidden_binary,看了一下发现是ELF文件,果断放进kali里运行一下

这里遇到一个小问题,但是顺利解决了 ,同时学到一个命令

chmod u+x somefile 只授予这个文件的所属者执行的权限

[GUET-CTF2019]soul sipse

下载得到out.wav,拿Audacity分析下,没啥东西

那应该就是隐写了,一般情况下是mp3stego,不过这题居然是steghide,属实少见

这里没有密码,解出一个txt

https://share.weiyun.com/5wVTIN3

把文件下载下来,显示异常,原来是文件头有问题

修复好文件头,图片内容如下

unicode解码一下

两个数加起来就是flag:flag{5304}

[watevrCTF 2019]Evil Cuteness

尾部有额外数据,另存为zip

解压得到无后缀文件abc

就这…

[UTCTF2020]sstv

又是一个wav,百度一下题目名sstv,发现这玩意有点神奇啊

这里用到工具QSSTV

在linux下安装:apt install qsstv

安装完打开qsstv,操作一波即可,关于qsstv的具体使用参考这篇文章

[UTCTF2020]spectogram

直接看频谱图…

我爱Linux

下载的图片打不开,发现是png的文件头,jpg的文件尾

定位到jpg尾部之后,发现后面的数据比较奇怪,看了大佬的wp得知这种数据格式是Python的序列化文件

把这些数据提取出来,保存在1.txt中

找到一篇Python反序列化的文章:https://jingyan.baidu.com/article/0bc808fcb7f91e5bd585b97d.html,跟着步骤写脚本

import pickle
f=open("1.txt","rb")
result=pickle.load(f)
f.close()
f1=open("out.txt","w")
f1.write(str(result))
f1.close()

得到一些坐标:

写一手脚本给它画出来:

f=open("out.txt","r")
txt=eval(f.read())
for i in range(len(txt)):s=""for j in range(1,77):n=0for k in txt[i]:if k[0] == j:n=1breakif n:s+=k[1]else:s+=" "print(s)
f.close()

flag{a273fdedf3d746e97db9086ebbb195d6}

BUUCTF MISC刷题笔记(三)相关推荐

  1. BUUCTF MISC刷题笔记(一)

    BUUOJ Misc 喵喵喵 弱口令 [安洵杯 2019]easy misc [XMAN2018排位赛]通行证 蜘蛛侠呀 [RCTF2019]draw [MRCTF2020]Hello_ misc [ ...

  2. BUUCTF MISC刷题笔记(五)

    BUUOJ Misc [MRCTF2020]摇滚DJ(建议大声播放 [SCTF2019]Ready_Player_One [XMAN2018排位赛]file [INSHack2019]gflag [X ...

  3. BUUCTF MISC刷题笔记(六)

    BUUOJ Misc [DDCTF2018]第四扩展FS [INSHack2018]42.tar.xz 大流量分析(一) 大流量分析(二) 大流量分析(三) [NPUCTF2020]碰上彩虹,吃定彩虹 ...

  4. BUUCTF刷题笔记

    BUUCTF刷题笔记 [极客大挑战 2019]BabySQL 从这句话我们可以看出,这个网站的后台是做了过滤处理的 这个时候我们先用万能密码实验一下看看,是什么类型的SQL注入 输入1',看看返回的结 ...

  5. LeetCode刷题笔记- 15.三数之和

    LeetCode刷题笔记- 15.三数之和 C语言 题目 注意点 C语言 /*** Return an array of arrays of size *returnSize.* The sizes ...

  6. Github最强算法刷题笔记.pdf

    资料一 昨晚逛GitHub,无意中看到一位大佬(https://github.com/halfrost)的算法刷题笔记,感觉发现了宝藏!有些小伙伴可能已经发现了,但咱这里还是忍不住安利一波,怕有些小伙 ...

  7. 我收藏的谷歌和阿里大佬的刷题笔记

    金三银四大家在准备校招.社招,或者闲暇的时候,都可以刷刷 Leetcode,保持良好的手感. 之前刷题,一直觉得漫无目的地刷,效率很低.后来发现了两个刷题笔记,谷歌大佬高畅和BAT大佬霜神写的 Lee ...

  8. 【c++算法刷题笔记】——洛谷2

    1. 洛谷练习--P1579 哥德巴赫猜想(升级版) 题目描述: 现在请你编一个程序验证哥德巴赫猜想. 先给出一个奇数n,要求输出3个质数,这3个质数之和等于输入的奇数. 输入格式: 仅有一行,包含一 ...

  9. Google 资深软件工程师 LeetCode 刷题笔记首次公开

    BAT 等国内的一线名企,在招聘工程师的过程中,对算法和数据结构都会重点考察.但算法易学难精,我的很多粉丝技术能力不错,但面试时总败在算法这一关,拿不到好 Offer.但说实话,数据结构和算法花点时间 ...

最新文章

  1. SQL Server 备份还原造成孤立用户的问题
  2. 【人脸识别】人脸识别必读论文
  3. 怎样下载并使用soapUI进行webservice接口测试
  4. 第4章:介绍python对象类型/4.1 python的核心数据类型/4.7 集合
  5. 算法与数据结构(一)
  6. python执行sqlserver存储过程_python – 从SqlAlchemy调用MSSQL存储过程
  7. IBM服务器显示系统恢复,苏州数据恢复_IBM X3850服务器数据恢复中处理SAS硬盘故障的恢复案例...
  8. python做接口自动化测试仪器经销商_Python接口自动化测试的实现
  9. 【肥朝】看源码,我为什么推荐IDEA?
  10. 全网首发Oreo易支付开源+教程
  11. container view_高级UI晋升之常用View(三)中篇
  12. WEB站点服务器安全配置
  13. android调用webservice发送header身份验证不成功
  14. CentOS Linux服务器实现攻防演练
  15. 老韩思考:一个卖豆腐的能转行IT吗? 你的卖点在哪里?
  16. mysql 批量 插入或更新
  17. DDR扫盲——DDR中的名词解析
  18. matplotlib报错Line2D‘ object has no property ‘linestyle‘或‘linewidth‘
  19. Ubuntu及window的配置 java变量和快捷键
  20. 数字图像处理--傅里叶(逆)变换

热门文章

  1. IOS:UIImage的剪切,尺寸缩小、压缩、添加水印
  2. 图的遍历——深度优先搜索和广度(宽度)优先搜索(含例题)
  3. [HarmonyOS][鸿蒙专栏开篇]快速入门OpenHarmony的LiteOS微内核
  4. sql中1=1,1=0 ,1 大于 1,1 小于 1代表什么
  5. 数据库身份证号用什么类型_油罐内壁防腐施工用什么类型的升降机?
  6. Xshell 免密连接云主机(以Vultr云服务为例)
  7. 前端 115道 面试题总结【持续更新...】
  8. 阿里云服务器ECS搭建EMQ快速实现MQTT通信
  9. java 向下转型有什么用_java向下转型,有啥作用。求解
  10. 基于Unity尝试唇同步/LipSync/OVRLipSync(附Demo及源码)