文章目录

  • Defcon 2019 Qualify: redacted-puzzle
    • 1.Attachments
    • 2.source code
    • 3.author: bboe
    • 4.writeups
    • 5.知识点
      • 5.1 图像模式
      • 5.2 pallete
      • 5.3 Python PIL包使用
      • 5.4 Base系列编码原理
    • 6 [Defcon 2020q uploooadit](https://github.com/o-o-overflow/dc2020q-uploooadit)
  • 总结

Defcon 2019 Qualify: redacted-puzzle

ctftime link: https://ctftime.org/task/8526

1.Attachments

redacted-puzzle.gif
Everything you need is in this file.

2.source code

dc2019q-puzzle

3.author: bboe

Bryce Boe是defcon的组织者,AppFolio公司的软件工程师\Tech Leader,加州大学圣巴巴拉分校 助教。

  • Social Media

    • twitter
    • Blog
    • Github
    • Google Scholar

这位老师最后一篇论文发表于2014年,其博客也停更于2014年。
其主要贡献在于可视化的编程工具与教育事业的结合。
在论文Organizing large scale hacking competitions中提出了大规模黑客技术比赛的设想。
身为人父的他已经在享受生活了,羡慕。

另外,可以找到他在defcon2020q中出的另一道题目Defcon 2020q uploooadit

4.writeups

  • ThreatLevelMidnight
  • OSUSEC
  • IDontHaveATeam
  • ThreatLevelMidnight
  • 2019 defcon 学习

题目给出一个全黑的gif。分析发现图片的调色板为纯黑。
我们逐帧修改其调色板,让画面变得多彩一些。

from PIL import Image
imageObject = Image.open("./redacted-puzzle.gif")
for frame in range(0,imageObject.n_frames):imageObject.seek(frame)imageObject.putpalette([255,0,0,0,255,0,0,0,255])imageObject.save("./tmp/output-%02u.png" % frame)

可以得到一组 类似八边形的图片。
其中给出了一个长32的字母表 flag_alphabet = "+-=ABCDEFGHIJKLMNOPQRSTUVWXYZ_{}"

每一张图都是一个8bit的2进制数字。

verticies = ['10001100', '01100011', '11100100', '01000110', '10000101', '00111101', '01000010', '10011000', '11100000','11110100', '10000000', '00101101', '01110010', '00011100', '00001000', '10100101', '11010111', '01101110','10100110', '10010001', '10111100', '10000100', '10000001', '10111001', '11010100', '00111011', '11001110','11110010', '00011110', '10011101', '11001001', '11000111', '01100101', '00011110', '10011111']

由于flag_alphabet中有32个可见字符,想到Base32编码方式。
用符号表中的字母编码gif,得到flag。

verticies = ['10001100', '01100011', '11100100', '01000110', '10000101', '00111101', '01000010', '10011000', '11100000','11110100', '10000000', '00101101', '01110010', '00011100', '00001000', '10100101', '11010111', '01101110','10100110', '10010001', '10111100', '10000100', '10000001', '10111001', '11010100', '00111011', '11001110','11110010', '00011110', '10011101', '11001001', '11000111', '01100101', '00011110', '10011111']alphabet = '+-=ABCDEFGHIJKLMNOPQRSTUVWXYZ_{}'def solve(verticies):combined = ''for v in verticies:combined += vindicies = []for x in range (0, len(combined)//5):indicies.append(combined[x * 5:x * 5 + 5])answer = ''for x in indicies:answer += alphabet[int(x, 2)]print (answer)def twist(verticies):newverticies = []for v in verticies:# v = abcdefgh -> habcdefgnewv = ''newv+=v[7]newv+=v[0:7]        newverticies.append(newv)return newverticiesfor x in range (0,8):solve(verticies)verticies = twist(verticies)print("Finished Program")

5.知识点

5.1 图像模式

https://www.osgeo.cn/pillow/handbook/concepts.html#modes

这个 mode 是一个字符串,它定义图像中像素的类型和深度。每个像素使用位深度的全部范围。所以1位像素的范围是0-1,8位像素的范围是0-255,依此类推。
当前版本支持以下标准模式:

  • 1 (1位黑白像素,每字节存储一个像素)
  • L (8位像素,黑白)
  • P (8位像素,使用调色板映射到任何其他模式)
  • RGB (3x8位像素,真彩色)
  • RGBA (4x8位像素,带透明蒙版的真彩色)
  • CMYK (4x8位像素,分色)
  • YCbCr (3x8位像素,彩色视频格式)
  • LAB (3x8位像素,L A B颜色空间)
  • HSV (3x8位像素、色调、饱和度、值颜色空间)
  • I (32位有符号整数像素)
  • F (32位浮点像素)

Image库还支持一些特殊模式:

  • LA (L和阿尔法)
  • PA (P与阿尔法)
  • RGBX (带填充的真彩色)
  • RGBa (带预乘alpha的真彩色)
  • La (L带预乘α)
  • I;16 (16位无符号整数像素)
  • I;16L (16位小端无符号整数像素)
  • I;16B (16位大端无符号整数像素)
  • I;16N (16位本机端无符号整数像素)
  • BGR;15 (15位反转真彩色)
  • BGR;16 (16位反转真彩色)
  • BGR;24 (24位反转真彩色)
  • BGR;32 (32位反转真彩色)

我怀疑MISC题目的常用工具 stegsolve 就是在各种Mode之间做切换。

5.2 pallete

使用PIL库 改变图片的调色板
当图片模式选择P时,ImageObject有pallete参数。
pallete默认为RGB格式,是一个长度为768的list对象。
RGB格式下,pallete的list对象被3个一组,表示RGB颜色。
最多记录256个RGB颜色。

palette = []
for i in range(256):palette.extend((i, i, i)) # grayscale wedgeassert len(palette) == 768im.putpalette(palette)

5.3 Python PIL包使用

PIL包文档

5.4 Base系列编码原理

Base64, Base32 和 Base16,用通俗的语言深入到内部

6 Defcon 2020q uploooadit

uploooadit是一道WEB题,主要考点是haproxy 1.9.10中存在的HTTP smuggling漏洞。
Writeup可以看这篇文章

总结

Bryce Boe 老师总共出过两道Defcon的题目。
我没有找到他在题目上线之前对考点的研究痕迹。
其社交媒体或发布的论文中也没有对应的体现。
因此无法预测在2021 defcon中,bboe老师将带来什么样的题目。

Defcon 2019 Qualify: redacted puzzle Writeup相关推荐

  1. Defcon 2018 Qualify: Easy Pisy writeup

    文章目录 Defcon 2018 Qualify: Easy Pisy 1. Source Code 2. Writeup 3. Info 4. Analysis of Author 4.1 janm ...

  2. 2019强网杯crypto writeup

    本次write包含以下题目 copperstudy randomstudy 强网先锋-辅助 copperstudy 题目描述 nc 119.3.245.36 12345 连上去返回 [+]proof: ...

  3. localhost/ ~wallhe/index.php,实战:2019 0ctf final Web Writeup(一)

    前言 鸽了好久的题解,因为自己事务缠身,一直没时间写一下最近比赛的题解,趁近日有空,来填坑~ 第一次参加0ctf新星赛就拿了冠军,还是非常开心的.比赛过程中,web共4道题,我有幸做出3道,java实 ...

  4. [2019红帽杯]easyRE writeup

    很想挑战难题,发现自己连writeup也看不懂 用64bit的ida打开,查找字符 找到函数: signed __int64 sub_4009C6() {signed __int64 result; ...

  5. 2019技术大赛预选赛 writeup

    第一题简单 base64加字符偏移就可以了 第二题 维吉利亚加密 Vvr Ifnvaus Bdwokv Gbtrzsa Vkqgofntja rrlznxk eflvkozjcdue rs " ...

  6. 插画惯用风格_2020年最佳插画家的10种鼓舞人心的插画风格

    插画惯用风格 重点 (Top highlight) I have to confess- I'm an illustration junkie. Hours disappear when I'm sw ...

  7. 网络安全问题游戏_游戏化如何改变网络安全行业

    网络安全问题游戏 Gamification is the process of designing something with game-like elements. A practice that ...

  8. SWPUCTF2019web题复现

    [SWPU2019]web1-easy_web 有一个登录框,试了试万能密码失败,那就注册吧 登录后发现有一个申请广告,在标题处输入11111111',发现报错,应该是sql注入 禁用了or,空格等等 ...

  9. BUU刷题记录——6

    [De1CTF 2019]Giftbox De1CTF Web WriteUp – 赵 login命令处盲注获取登录密码 登陆后其他可用命令 targeting code position => ...

最新文章

  1. mysqld: Can‘t create directory ‘D:\software\mysql-8.0.28-winx64\mysql-8.0.28-winx64\bin\ oftware\mys
  2. STL源码剖析 数值算法 accumulate | adjacent_difference | inner_product | partial_sum | power | itoa
  3. C/C++工程师需要掌握哪些技能?他们的工资这么高,是有原因的!
  4. JavaME开发环境的搭建
  5. 数学模型--预测模型、BP神经网络预测
  6. 使用Python脚本将酷狗音乐的缓存文件修改为可播放
  7. 华为新员工入职180天培训计划
  8. 北京邮电大学计算机论文,2019北京邮电大学本科毕业论文-randomwalk.doc
  9. ulp(unit in the last place)是什么意思
  10. Win10系统Anaconda+TensorFlow+Keras 环境搭建教程
  11. asp毕业设计—— 基于asp+access的论坛网站设计与实现(毕业论文+程序源码)——论坛网站
  12. CSS背景background设置
  13. 常用RL算法的主要特性
  14. 自动化测试框架详解【2022】
  15. linux虚拟机关se,Centos关闭SELinux和防火墙的关闭
  16. 大学物理——原子间相互作用力
  17. 企业网络安全防御策略需要考虑哪些方面?
  18. drf第三讲——筛选、视图
  19. Paper之EfficientDet: 《Scalable and Efficient Object Detection—可扩展和高效的目标检测》的翻译及其解读
  20. Qt编写地图综合应用22-动态轨迹

热门文章

  1. 鼠标悬浮显示禁止图标
  2. android代码获取deviceid,获取安卓系统的设备id用getDeviceId()函数
  3. http://fir.im免费发布内测版app和用企业版证书发布app
  4. 网络-数据链路层回顾
  5. mysql性能监控 调优_MySQL管理之道:性能调优、高可用与监控(第2版)
  6. ArchLinux初次进入系统时触摸板可以移动鼠标但是无法点击的问题
  7. 面临困难不知道如何抉择怎么办,《大话西游之大圣娶亲》观后感
  8. 论文研究范围从什么角度怎么写?
  9. 一种基于局域网的点对点语音通信
  10. 苹果MACOS电脑MAC地址修改的方法