【Miscellaneous】一道高质量的杂项题,涉及暴破、Cloakify-python2、零宽、emoji-AES等知识点

news/2025/1/4 10:56:21/文章来源:https://www.cnblogs.com/folio/p/18646010

引言

下半年很忙,好久不做题,趁2025元旦放假整理一道高质量的题目,怀念一下繁忙的2024年。

题目

考虑到某公司的不分享精神或许会有版权之类的争端,文件链接以后就不放了。
名称:happymd5
提示:有好多奇奇怪怪的MD5值,这是用来干什么的呢。

Writeup(WP)

  1. 题目附件cipher.zip压缩包,里面两个文件,一个是《cipher》可以直接拿出来,另一个《key is Cloaxxxx.txt》需要密码,打开压缩包可以看见提示:“每个 'x' 均为一个字符”,很平和的开端,暴破一下就行了。
    image

  2. 暴破得到密码Cloakify,解压看到《key is Cloaxxxx.txt》跟《cipher》一样都是每行一个md5串,搜索的值Cloakify是一种python2下的编码:https://github.com/TryCatchHCF/Cloakify 下载后学一下用法,解码得到《flag.zip》文件

┌──(kali㉿kali)-[~/MIsc/Cloakify]
└─$ python -V
Python 2.7.18┌──(kali㉿kali)-[~/MIsc/Cloakify]
└─$ python decloakify.py cipher key
PH�S|e\���flageP;�Qt����fˆ#��^@�����g�
zC��&&^�▒▒u�>��GP�lAE��ouu��F:����
���/���mJ�Y"�$�FJ�˾��f�6ʍԜFVW�▒xږ���S}Iz:��-��&x��▒���C 
wu���FNj��K��"FM�S9��2u�q����1c�����`����){ſf��1��_�x�`�Y�Bf�L}z�>������L�yK���䵯8\��k_՞�#�PKH�S|e\���$ flag▒�r�9����r�9���]�!q���PKV┌──(kali㉿kali)-[~/MIsc/Cloakify]
└─$ python decloakify.py cipher key > flag.zip┌──(kali㉿kali)-[~/MIsc/Cloakify]
└─$ unzip flag.zip
Archive:  flag.zipinflating: flag

这里有一些小插曲

  • decloakify.py文件有一些不足,导致widows上运行会报错,阅读而下源码,可以修正,还可以增加用base64打印解码内容
(py27) D:\CTFtools\CryptoTools\Cloakify>python decloakify2.py cipher key flag.zip
decloakify2.py cipher.txt key.txt flag.zip
UEsDBBQAAAAIAEipC1N8ZVyp/AAAAL4BAAAEAAAAZmxhZ......
  • windows下解码出来的zip包不能用,会提示压缩包已损坏,原因是换行(0D0A),需要hex修改《flag.zip》删掉里面0A前的0D
  1. 《flag.zip》解压缩得到《flag》里面内容为emoji,继续尝试Cloakify
┌──(kali㉿kali)-[~/MIsc/Cloakify]
└─$ python cloakifyFactory.py                ____ _             _    _  __        ______         _                   / __ \ |           | |  |_|/ _|       |  ___|       | |                  
| /  \/ | ___   __ _| | ___| |_ _   _  | |_ __ _  ___| |_ ___  _ __ _   _ 
| |   | |/ _ \ / _` | |/ / |  _| | | | |  _/ _` |/ __| __/ _ \| '__| | | |
| \__/\ | |_| | |_| |   <| | | | |_| | | || |_| | |__| || |_| | |  | |_| |\____/_|\___/ \__,_|_|\_\_|_|  \__, | \_| \__,_|\___|\__\___/|_|   \__, |__/ |                               __/ ||___/                               |___/ "Hide & Exfiltrate Any Filetype in Plain Sight"Written by TryCatchHCFhttps://github.com/TryCatchHCF(\~---./   (\-`-/)(      ' '  )         data.xls image.jpg  \     List of emoji, IP addresses,\ (  \_Y_/\    ImADolphin.exe backup.zip  -->  sports teams, desserts,""\ \___//         LoadMe.war file.doc  /     beers, anything you imagine`w   "====  Cloakify Factory Main Menu  ====1) Cloakify a File
2) Decloakify a File
3) Browse Ciphers
4) Browse Noise Generators
5) Help / Basic Usage
6) About Cloakify Factory
7) ExitSelection: 2====  Decloakify a Cloaked File  ====Enter filename to decloakify (e.g. /foo/bar/MyBoringList.txt): flagSave decloaked data to filename (default: 'decloaked.file'): Preview cloaked file? (y/n default=n): 
Was noise added to the cloaked file? (y/n default=n): Ciphers:1 - geoCoordsWorldCapitals
2 - dessertsArabic
3 - belgianBeers
4 - dessertsSwedishChef
5 - desserts
6 - worldBeaches
7 - dessertsRussian
8 - dessertsThai
9 - worldFootballTeams
10 - hashesMD5
11 - rickrollYoutube
12 - dessertsHindi
13 - evadeAV
14 - geocache
15 - dessertsPersian
16 - starTrek
17 - topWebsites
18 - amphibians
19 - pokemonGo
20 - emoji
21 - skiResorts
22 - dessertsChinese
23 - ipAddressesTop100
24 - statusCodesEnter cipher #: 20Decloaking file using cipher:  emoji!!! Oh noes! Error decloaking file (did you select the same cipher it was cloaked with?)Press return to continue... 

无法解码!!

这里也有一些小插曲

  • 好不容易知道了Cloakify,里面又有emoji这种解码方式,思维定式加上急于尝鲜,导致这道题目卡了很久
  • 阅读代码我们知道Cloakify本质上就是base64编码换表。后面仔细分析,发现《ciphers\emoji》文件里面的表情跟《flag》里面的表情不太一样
  • 《flag》里面的表情串存在无法删除的情况
  • 《flag》里面的表情串的长度好像有问题
  1. emoji相关的编码有好几种,我之前的博文也有说到。因为没有密钥,首先尝试了base100和codeEmoji无果,剩下就是emoji-aes了但是没有密码!
  • 尝试暴破,因为emoji-aes是javascript的,在线的不能短时间高频调用,花了大量时间阅读代码,aes部分的核心是crypto-js.js没有变,其实就是用表情符替换了字母,又是一个base64换表。用python重新写,折腾很久,老婆叫我吃午饭,中断了...
  • 吃午饭时突然想到前面怀疑表情串长度有问题及存在无法删除的事,是不是零宽隐写,饭后立马验证
>>> flag=open('flag','rb').read()
>>> flag.decode('utf-16')
'🙃💵🌿🎤🚪🌏🐎🥋🚫😆....\u200c\u200c\u200c\u200c\u200d\ufeff\u200d\ufeff✖\u200c\u200c\u200c\u200c\u200d\u202c\u200d......🗒🗒'
  • 这么明显!
  1. 零宽解码(unicode_steganography)后得到密文和密钥,emoji-aes解密即可
    image
    image
    本题得解。

总结

  • 网上搜到《2022年浙江省大学生网络与信息安全竞赛-Misc部分(决赛)》的一题【Unkn0wnData 数位板】,请关注前10个表情符:🙃💵🌿🎤🚪🌏🐎🥋🚫😆,还有后面的2个🗒🗒应该就是'}'了吧?一样的配方,一样的味道;这个应该是该公司emoji-aes题目的标志。
# emoji-AES解密
Where1sKey?
🙃💵🌿🎤🚪🌏🐎🥋🚫😆✅🍍🎤🐘🌏ℹ⌨😍🎈✉🤣🛩🍌🚪🍴ℹ☺🚹❓🍴🔬🌪🍵👣🔄☃👌😎👌🔄👌🔪🍌👁🍍🍌🌏🎃🚰🍵🐍🎅✅🍍🦓😎😊🤣🏹🍍💧🔄🔄🤣👁🥋🚫☺🍴😁🚫😇🚰⏩😍🌿💵🦓😇🛩✖🕹🐎📂📂💧🗒🗒
密码为:Toggled
DASCTF{ad15eecd2978bc5c70597d14985412c4}
  • 比赛时可有没有这么多时间折腾,很久不做零宽隐写的题目就忘记了,经验和灵感并存!
落之~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/862303.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025-01-01:优质数对的总数Ⅰ。用go语言,给定两个整数数组 nums1 和 nums2,分别长度为 n 和 m,以及一个正整数 k。 如果 nums1 数组中的元素 nums1[i] 能被

2025-01-01:优质数对的总数Ⅰ。用go语言,给定两个整数数组 nums1 和 nums2,分别长度为 n 和 m,以及一个正整数 k。 如果 nums1 数组中的元素 nums1[i] 能被 nums2 数组中的元素 nums2[j] 乘以 k 除尽,则称 (i, j) 为一个优质数对(其中 0 <= i <= n - 1,0 <= j …

高光谱图像选择波段的研究(转载)

高光谱图像选择波段的研究博文: 高光谱图像选择波段的研究 高光谱波段选择 LY-林雨    2016-08-25 12:08:45 发布免责声明:本文仅代表个人观点,如有错误,请读者自己鉴别;如果本文不小心含有别人的原创内容,请联系我删除;本人心血制作,若转载请注明出处 本文是根据 魏…

Webstorm 关闭 拼写错误

问题描述:cmd+,唤醒 设置把这个勾去掉就行

跨年,你怎么过

2024年最后一天,去了一趟上海的地标性建筑,感慨了下,来上海也13年来

2025.1.1 鲜花

Cdq 解决一类最值和双端点有关的数点问题Cdq 解决一类最值和双端点有关的数点问题COLORFUL BOX 真っ白な想いに 梦のかけらを 描いて 动き出す未来 子供の顷に知った 心が跃るような わくわくする感情を 今も覚えてるよ 迷いや不安はない 期待に溢れてる 何にだってなれ そうな…

Typora-Markdown使用教程

Markdown介绍 Markdown是一种轻量级的标记语言 通过简单的标记语法使文本具备一定的格式,它的目标就是实现易读,易写。 标题如上在要转为标题的前面输入一个#+一个空格,光标再定位到其他位置一个一级标题就设置好了 或者使用快捷键:Ctrl+1 总结: 一级标题:一个#,或者 Ct…

[Java/Spring] 深入理解:Spring Web DispatcherServlet

1 概述:Spring Web DispatcherServlet DispatcherServlet 简介org.springframework.web.servlet.DispatcherServlet 是一个 Servlet,它接收所有的 HTTP 请求,并根据请求的信息将其分发给相应的处理器(Handler)进行处理。 它是 Spring MVC 架构模式中的关键部分,将请求处理…

DVWA靶场File Inclusion (文件包含) 漏洞所有级别通关教程及源码解析

文件包含 文件包含漏洞(File Inclusion Vulnerability)是一种常见的网络安全漏洞,主要出现在应用程序中不安全地处理文件路径时。攻击者可以利用此漏洞执行恶意文件,或者访问不该被访问的文件 1. low 有3个页面随便点击一个,可以在url处发现传参点访问:http://127.0.0.1/…

[Java]代理模式

本篇文章主要是对静态代理和动态代理实现思路的简述,以示例为主,少涉及理论。 如果文中阐述不全或不对的,多多交流。【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) https://www.cnblogs.com/cnb-yuchen/p/18002823 出自【进步*于辰的博客】参考笔记一…

lvs+dr+httpd+keepalived高可用部署

lvs+dr+httpd+keepalived高可用部署参考文档:http://blog.csdn.net/m582445672/article/details/7670015 a、 keepalived 是lvs 的扩展项目,因此它们之间具备良好的兼容性。这点应该是keepalived 部署比其他类似工具能更简洁的原因吧! b、 通过对服务器池对象的健康检查,实…

《数字经济:行业产业链》全景梳理及区域热力图

行业主要上市公司:中兴通讯(000063)、大华股份(002236)、中科创达(300496)、软通动力(301236)、奇安信(688561)、同方股份(600100)、……等 本文核心数据:《数字经济:产业链 》、《数字经济:产业链 - 生态图谱》、《“产业数字化” 和 “数字产业化” 上市公司…

《数字经济行业产业链》全景梳理及区域热力图

行业主要上市公司:中兴通讯(000063)、大华股份(002236)、中科创达(300496)、软通动力(301236)、奇安信(688561)、同方股份(600100)、……等 本文核心数据:《数字经济产业链 》、《数字经济产业链生态图谱》、《产业数字化 和 数字产业化上市公司区域分布 TOP5》、…