比赛时间:2020年10月17日早上9点

比赛时限:一个月

0x1 一“页”障目

宣传单里藏有flag,不过分成了三份

拼好如图:

0x2 壮言壮语

工具:

与佛论禅:http://www.keyfc.net/bbs/tools/tudoucode.aspx

0x3 秘技·反复横跳

下载文件

得到一种图片

将图片后缀名改成rar,用WinRAR打开(或者用binwalk分析,显然图片里藏有其他东西,或者foremost得到一个压缩包(foremost的使用方法)) ,里面是一张错位的二维码

位置调整

扫描得到flag

0x4 来拼图

给了一张图片source.jpg和一个压缩包,压缩包里为1600个小图片,这1600个小图片是将source.jpg 编辑 加上flag以后的图片切割得来的。

利用python的CV2库的图像匹配算法,由于修改原图,将flag写入到图片上会造成小图片与原图上相应位置的图片匹配度降低,当匹配度低于某个阈值时,可认为是将flag写到了这张小图片上,阈值取的是5e-10.。

同时将小图片拼接成原图片并且保存。

因为开启多线程,比较时间较短,但运行时比较占CPU

# python3
import cv2
from PIL import Image
import numpy as np
import os
import shutil
import threading# 读取目标图片
source = cv2.imread(r"C:/Users/Lenovo/Desktop/pt/source.jpg")
# 拼接结果
target = Image.fromarray(np.zeros(source.shape, np.uint8))
# 图库目录
dirs_path = r"C:/Users/Lenovo/Desktop/pt/pingTu"
# 差异图片存放目录
dst_path = r"C:/Users/Lenovo/Desktop/pt/new1"def match(temp_file):# 读取模板图片template = cv2.imread(temp_file)# 获得模板图片的高宽尺寸theight, twidth = template.shape[:2]# 执行模板匹配,采用的匹配方式cv2.TM_SQDIFF_NORMEDresult = cv2.matchTemplate(source, template, cv2.TM_SQDIFF_NORMED)# 归一化处理cv2.normalize(result, result, 0, 1, cv2.NORM_MINMAX, -1)# 寻找矩阵(一维数组当做向量,用Mat定义)中的最大值和最小值的匹配结果及其位置min_val, max_val, min_loc, max_loc = cv2.minMaxLoc(result)target.paste(Image.fromarray(template), min_loc)return abs(min_val)class MThread (threading.Thread):def __init__(self, file_name):threading.Thread.__init__(self)self.file_name = file_namedef run(self):real_path = os.path.join(dirs_path, k)rect = match(real_path)if rect > 5e-10:print(rect)shutil.copy(real_path, dst_path)count = 0
dirs = os.listdir(dirs_path)
threads = []
for k in dirs:if k.endswith('jpg'):count += 1print("processing on pic"+str(count))mt = MThread(k)mt.start()threads.append(mt)else:continue
# 等待所有线程完成
for t in threads:t.join()
target.show()
target.save(r"C:/Users/Lenovo/Desktop/pt/target.jpg")

拼接结果(不知道为什么存在色差)需要手动拼合部分内容

参考文章

第十一届极客大挑战部分WP(无re和pwn)

从DDCTF2020-拼图题,学习如何做拼图题

CTF Geek Challenge——第十一届极客大挑战Misc Write Up相关推荐

  1. CTF Geek Challenge——第十一届极客大挑战Web Write Up

    比赛时间:2020年10月17日早上9点 比赛时限:一个月 0x1 Welcome sha1绕过 Postman发送POST请求 sha1绕过 线索 Not Found But 这个Not Found ...

  2. CTF Geek Challenge——第十一届极客大挑战Crypto Write Up

    比赛时间:2020年10月17日早上9点 比赛时限:一个月 0x1 二战情报员刘壮 摩斯密码 0x2 铠甲与萨满 凯撒密码 根据flag格式为SYC可以判断,偏移量为6. 0x3 成都养猪二厂 猪圈密 ...

  3. CTF Geek Challenge——第十一届极客大挑战Pwm Write Up

    比赛时间:2020年10月17日早上9点 比赛时限:一个月 参考文章

  4. CTF Geek Challenge——第十一届极客大挑战Re Write Up

    比赛时间:2020年10月17日早上9点 比赛时限:一个月 参考文章

  5. 2020第十一届极客大挑战——Geek Challenge(部分解)

    Crypto 二战情报员刘壮 考点:摩斯密码 通过 1.简介中直接看出是摩斯密码 2.通过在线网站直接解密得到flag 铠甲与萨满 考点:凯撒密码 1.通过题目和提示知道是凯撒密码 2.通过CrakT ...

  6. 2020第十一届极客大挑战——Geek Challenge部分wp

    好吧好吧,这几天的比赛太多了,这个比赛题上的有点慢,只在打其他比赛的间隙打了两天的极客大挑战,现在回来填下坑吧. 就从最简单的MISC开始好了,简答题就简单写了. MISC1-一"页&quo ...

  7. 十一届极客大挑战部分wp

    Web Welcome 访问状态码405,那说明是 HTTP 方法的请求, 那就修改 HTTP 方法的请求 ,改为POST方式得到源码 接着hash碰撞,因为是强等于,所以直接使用数组绕过即可 发现了 ...

  8. 四个有关文件传输的CTF WEB题(深育杯FakeWget、极客大挑战where_is_my_FUMO、2021陇原战疫CheckIN、N1CTF-curl trick)

    文章目录 深育杯FakeWget 极客大挑战where_is_my_FUMO 2021陇原战疫CheckIN N1CTF-curl trick wp来自官方发布和个人想法,觉得这四个题挺有意思的所以整 ...

  9. 极客大挑战2020_CTF-Web-[极客大挑战 2019]HardSQL

    CTF-Web-[极客大挑战 2019]HardSQL 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢!本文仅用于学习与交流,不得 ...

最新文章

  1. STC用PCA测量脉宽_用于相干激光雷达的大能量长脉宽单频激光器 | COL
  2. windows下多进程加协程并发模式
  3. 覆盖你 80 % 网络生活的,竟是这样一家神秘实验室
  4. 創建oracle用戶及表空間,window,linux下創建oracle用戶及表空間 對比 易於學習
  5. 工作两个月的感受随笔
  6. android学习笔记---46视频刻录的实现,视频录像器。
  7. 软件保护技术--- 常见保护技巧
  8. 数据库基础(2)选择,投影,连接,除法运算
  9. 《乐高EV3机器人搭建与编程》——2.1 零件储存箱
  10. MySQL多实例管理(mysqld_multi)
  11. 曼昆经济学原理读书笔记加杂感(一)
  12. 技术人员的赚钱之道-9:极思极恐,技术人员需了解的“穷人”思维与“富人”思维的差别
  13. 黑客攻防与网络安全-N-0
  14. java 年轻代算法_java内存模型 年轻代/年老代 持久区,jvm中的年轻代 老年代 持久代 gc...
  15. 快点来学吧!java保证线程安全的方式
  16. 开关电源学习——基本元件之电容
  17. 财贸计算机专业,技能月|这所学校的计算机专业部有这些玩法
  18. 用KooMail轻松实现本地收取Hotmail/MSN/Live邮件
  19. RSS的基本使用 - rsslibj
  20. redis __实现发布订阅

热门文章

  1. linux 脚本 if else,基于shell的if和else详解
  2. 如何点击按钮弹出弹框显示几秒_产品反馈设计:如何与用户有效沟通?
  3. python解初中题_用python解一道数独小题
  4. java z+_Java Z 字形变换
  5. java英语介绍_java,英文介绍项目.doc
  6. rnn 梯度消失爆炸
  7. python判断ip能否ping通_Python实现检测服务器是否可以ping通的2种方法
  8. 计算机C语言知识点免费下载,全国计算机二级C语言知识点
  9. php隐藏表单提交表单提交表单_表单提交及php处理表单数据的实例
  10. Java 文件压缩与解压缩