【攻防世界】misc解题wp
凯撒大帝在培根里藏了什么
题目提示用培根密码+凯撒密码
密文为ABBABAABBAAAAABABABAABABBAAAAABAABBAAABAABBBABBAABABBABABAAABABBBAABAABABABBBAABBABAA
五位一个字,解出为NGBKLATCOZNIXEVZU
用凯撒脚本跑出来发现HAVEFUNWITHCRYPTO
密码为flag{HAVEFUNWITHCRYPTO}
tips:发现字符串没意义时可以试试凯撒密码
banmabanma
https://online-barcode-reader.inliteresearch.com/
条形码识别网站
很普通的数独
调整位置,转换成二维码
from PIL import Image
path = input("输入图片路径")
img0 = Image.new("RGBA", (180, 180), "white")
box0 = (3, 3, 199, 199)
for i in range(45):for j in range(45):pngnum = i // 9 * 5 + j // 9 + 1img1 = Image.open(path + "\\" + str(pngnum) + ".png")box = ((j % 9) * 22 + 11, (i % 9) * 22 + 11, (j % 9) * 22 + 18, (i % 9) * 22 + 18)img2 = img1.crop(box0).crop(box).load()sign = Falsefor x in range(7):for y in range(7):if img2[x, y] != (255, 255, 255, 255):sign = Truebreakif sign:breakif sign:for x in range(4):for y in range(4):img0.putpixel([i * 4 + x, j * 4 + y], (0, 0, 0))
img0.save(path + "\\" + "result.png")
simple_transfer
pcnp流量文件可以用foremost分离出来
pdf隐写 ctrl+A 再复制出来
HITB{b3d0e380e9c39352c667307d010775ca}
a_good_idea
foremost拆分成两个图片
stegsolve 使用 image combiner合并两个图片,调整曝光度
简单的base编码
先做一个循环
while 1:base = base64.b64decode(base)print(base)
再用base91解码flag{d0_y0u_l1ke_base92_!??!_by_Sh3n}
Base16编码是将二进制文件转换成由16个字符组成的文本(数字09和字母AF)
base32的编码表是由(A-Z、2-7)32个可见字符构成,“=”符号用作后缀填充。
base64的编码表是由(A-Z、a-z、0-9、+、/)64个可见字符构成,“=”符号用作后缀填充。
base58的编码表相比base64少了数字0,大写字母I,O,小写字母 l (这个是L),以及符号‘+’和‘/’
base91的密文由91个字符(0-9,a-z,A-Z,!#$%&()*+,./:;<=>?@[]^_`{|}~”)组成
Base100编码/解码工具(又名:Emoji表情符号编码/解码),可将文本内容编码为Emoji表情符号;同时也可以将编码后的Emoji表情符号内容解码为文本。
4-2
词频统计网站https://quipqiup.com/
Wire1
使用Wireshark导出所有的HTTP对象
响应包长度为704字节的请求包为猜测成功的盲注请求
str=[102,108,97,103,123,119,49,114,101,115,104,65,82,75,95,101,122,95,49,115,110,116,105,116,125]
str2 = ""
for i in str:str2+=chr(i)
print(str2,len(str))
小小的PDF
保存发现第二篇还有一个图片,foremost分离得到答案
pdf隐写总结:
- 藏文字,全选复制出来
- 图片可以移动。
- 藏图片或者文件,用binwalk看
肥宅快乐题
flash可以用PotPlayer打开每帧看
Misc文件类型
拿到这个以后16进制转scai码
https://the-x.cn/encodings/Hex.aspx
感觉是base64编码
发现是个zip
补充最后的00后解压得到答案
flag{0bec0ad3da2113c70e50fd5617b8e7f9}
Py-Py-Py
pyc隐写用stegosaurus.py
python3 stegosaurus.py -x 1.pyc
give_you_flag
发现是个gif,用stegsolve frame逐帧观看发现二维码
补上角落为
扫描得到flag e7d478cf6b915f50ab1277f78502a2c54
双色块
gif foremost 分解出key
ps录制动作可发现规律为8位二进制转ASCII
#! /usr/bin/env python2
# -*- coding: utf-8 -*-
##gif转png
import os
from PIL import Imagedef main(gif_file):png_dir = 'frame/'img = Image.open(gif_file)try:while True:current = img.tell()img.save(png_dir + str(current + 1) + '.png')img.seek(current + 1)except:pass
if __name__ == '__main__':gif_file = 'out.gif'main(gif_file)
然后用aes解密码
特征个人总结为有大小写+数字+/和两个==
U2FsdGVkX1开头
https://tool.oschina.net/encrypt/
https://www.sojson.com/encrypt_des.html
奇怪的TTL字段
autokey解密https://www.wishingstarmoye.com/ctf/autokey
pyHAHA
拿到pyc,反编译失败,隐写也失败。
010editer发现是反向的编码。
#反向编码
f = open('PyHaHa2.pyc','wb')
with open('PyHaHa.pyc','rb') as g:f.write(g.read()[::-1])
f.close()
正向过来foremost分离出压缩包。
再进行反编译。
Debugger隐写
在另一个隐藏文件中,DeEgger嵌入使您可以加密和隐藏在明显无恶意的机密文件。基本上应用程序二进制合并的第一个文件的第二个文件之一,无论其格式(jpg, png, .avi, mp3, mp4, pdf格式)。其他用户将无法告诉输出文件有一些隐藏在里面
选择主机文件: 这里需要拖动到它的界面或使用指定的按钮加载,我们将要生成的假文件。 它可以是任何格式,例如简单的图像或 mp3。
选择要嵌入的文件: 过程与上一点相同,不同的是这里我们将加载’秘密信息和*,* 也就是说,要隐藏的文件。
结合: 单击此按钮,然后 假文件 这与我们在 主机文件. 常见和当前,对任何人都没有任何可疑之处,但对我们来说,这是一个只有发件人才能看到的带有小秘密的文件。
下载地址 http://deegger-embedder.findmysoft.com/download/
base32隐写
import base64def get_base32_diff_value(stego_line, normal_line):base32chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'for i in range(len(normal_line)):if stego_line[i] != normal_line[i]:return abs(base32chars.index(chr(stego_line[i]))-base32chars.index(chr(normal_line[i])))return 0# base32 隐写解密
def base32stego_decode(lines):res = ''for i in lines:stego_line = i.strip()normal_line = base64.b32encode(base64.b32decode(i.strip()))diff = get_base32_diff_value(stego_line, normal_line)if '=' not in str(stego_line):continueif diff:res += bin(diff)[2:]else:res += '0'return reswith open(r"C:\Users\Administrator\Downloads\攻防世界\pyHAHA\Dream It Possible - extracted.txt", 'rb') as f:file_lines = f.readlines()
encrypt = open(r"C:\Users\Administrator\Downloads\攻防世界\pyHAHA\encrypt.txt",'w')
encrypt.write(base32stego_decode(file_lines))
encrypt.close()
wireshark
wireshark 文件-导出对象-导出http,保存。或者一个一个流看
来自银河的信号
听见mp3是乱码,像外星人叫,要想到是慢扫描电视。利用mmsstv工具
点RX播放一遍
nice_bgm
考点是mp3文件private bit隐写,比较简单
import re
import binascii
n = 235986
result = ''
fina = ''
number = 0
#人工筛选mf组
list = [0,1,26,50,75,99,124,148,173,197,222,246,271,295,320,344,369,393,418]
file = open('cb1bc8789569146483da7bd65ee4a063.mp3','rb')
while n < 1369844 :file.seek(n,0)if number in list:n += 417else:n += 418file_read_result = file.read(1)read_content = bin(ord(file_read_result))[-1]result = result + read_contentnumber += 1
#print resultfina = ''
textArr = re.findall('.{'+str(8)+'}', result)
# textArr.append(result[(len(textArr)*8):])
for i in textArr:fina = fina + chr(int(i,2)).strip('\n')
print fina
Encode
4O595954494Q32515046324757595N这种里面数字加上OQRN的是Rot13加密
1-misc
提示是生日,暴力破解密码20001228
下一步发现有同样crc的文件可以使用明文攻击,使用失败
解压后提示为没有密码,修改隐加密得到flag
pcap1
需要看懂python代码,加密完会拼上序号,所以根据序号来解密,解到前面没有数字结束
m0_01
1、首先是usb流量,分辨是鼠标还是键盘,8字节是键盘,4字节是鼠标
https://blog.csdn.net/qq_43625917/article/details/107723635
2、把流量导出来(需要进一步学习tshark)
tshark -r 12.pcapng -T fields -e usb.capdata > test.txt
3、脚本分析数据
mappings = { 0x04:"A", 0x05:"B", 0x06:"C", 0x07:"D", 0x08:"E", 0x09:"F", 0x0A:"G", 0x0B:"H", 0x0C:"I", 0x0D:"J", 0x0E:"K", 0x0F:"L", 0x10:"M", 0x11:"N",0x12:"O", 0x13:"P", 0x14:"Q", 0x15:"R", 0x16:"S", 0x17:"T", 0x18:"U",0x19:"V", 0x1A:"W", 0x1B:"X", 0x1C:"Y", 0x1D:"Z", 0x1E:"1", 0x1F:"2", 0x20:"3", 0x21:"4", 0x22:"5", 0x23:"6", 0x24:"7", 0x25:"8", 0x26:"9", 0x27:"0", 0x28:"n", 0x2a:"[DEL]", 0X2B:" ", 0x2C:" ", 0x2D:"-", 0x2E:"=", 0x2F:"[", 0x30:"]", 0x31:"\\", 0x32:"~", 0x33:";", 0x34:"'", 0x36:",", 0x37:"." }
nums = []
keys = open('result.txt')
for line in keys:print(line)if line[4:6]!='00':nums.append(int(line[4:6],16))
keys.close()
output = ""
for n in nums:if n == 0 :continueif n in mappings:output += mappings[n]else:output += '[unknown]'
print('output :' + output)
4、云影密码,特征是只有01248
def decode(cipher):charList = [chr(i) for i in range(ord('A'),ord('Z')+1)]ret = []plaintext = [i for i in cipher.split('0')]for i in plaintext:tmp = 0for j in range(len(i)):tmp += int(i[j])ret.append(charList[tmp-1])return ''.join(ret).lower()
miss_01
1、希尔加密,看不出特征,乱码
http://www.atoolbox.net/Tool.php?Id=914
2、rabbit加密后字符串开头为U2FsdGVkX1
www.jsons.cn/rabbitencrypt/
3、音频看频谱图
4、unicode编码 \u开头
5、佛曰佛加密
Aesop_secret
normal_png
1、看见是png图片拉入tweakpng发现crc错误,基本上是因为修改了高度
2、使用代码算出来原有高度修改即可
import zlib
import struct
import argparse
import itertoolsparser = argparse.ArgumentParser()
parser.add_argument("-f", type=str, default=None, required=True,help="输入同级目录下图片的名称")
args = parser.parse_args()bin_data = open(args.f, 'rb').read()
crc32key = zlib.crc32(bin_data[12:29]) # 计算crc
original_crc32 = int(bin_data[29:33].hex(), 16) # 原始crcif crc32key == original_crc32: # 计算crc对比原始crcprint('宽高没有问题!')
else:input_ = input("宽高被改了, 是否CRC爆破宽高? (Y/n):")if input_ not in ["Y", "y", ""]:exit()else:for i, j in itertools.product(range(4095), range(4095)): # 理论上0x FF FF FF FF,但考虑到屏幕实际/cpu,0x 0F FF就差不多了,也就是4095宽度和高度data = bin_data[12:16] + struct.pack('>i', i) + struct.pack('>i', j) + bin_data[24:29]crc32 = zlib.crc32(data)if(crc32 == original_crc32): # 计算当图片大小为i:j时的CRC校验值,与图片中的CRC比较,当相同,则图片大小已经确定print(f"\nCRC32:{hex(original_crc32)}")print(f"宽度:{i}, hex:{hex(i)}")print(f"高度:{j}, hex:{hex(j)}")exit(0)
can_has_stdio?
BrainFuck加密:特征是一共由8种运算符
解密网站:https://ctf.bugku.com/tool/brainfuck
Become_a_Rockstar
有一种编程语言叫rockstar
我们的秘密是绿色的
学习到一个用密码加密的软件oursecret
3-11
1、首先开始看属性,010打开搜索flag,binwalk查找文件均无
2、打开Stegsolve看通道看隐写,发现pk开头是压缩包
3、flag.txt里面的文件是base64编码,放入https://the-x.cn/base64发现是个png,下来就是flag
FLAG{LSB_i5_SO_EASY}
intoU
音频可以用hz隐写。调整采样率可以看到flag
Cephalopod
流量包分离文件:1、foremost
2、用networkminor
3、linux中使用 tcpxtract
不确定再看看
首先用010editer打开发现有隐藏txt,使用音频隐写软件DeepSound发现存在base64.txt
下载下来明显发现是base64隐写。跑脚本得到flag
信号不好先挂了
1、首先zsteg发现有zip
2、解压发现一模一样的图片,不是盲水印就是xor
3、使用盲水印脚本解出答案
python bwm.py decode hui.png hui_with_wm.png wm_from_hui.png
challenge_how_many_Vigenère
维吉尼亚密码,是有密钥的凯撒密码
有密钥解密:http://www.hiencode.com/vigenere.html
没有密钥爆破解密:https://www.guballa.de/vigenere-solver
【攻防世界】misc解题wp相关推荐
- 攻防世界mfw解题wp
开始点点点发现php源码,bootstrap写的,好像还有git备份,猜测git源码泄露 然后用dirbuster扫一下目录 python .\dirsearch.py -u "http:/ ...
- 第一篇WP:攻防世界MISC 功夫再高也怕菜刀)
第一篇WP:攻防世界MISC 功夫再高也怕菜刀 题目 功夫再高也怕菜刀 题目描述 题目来源 附件 第一步 第二步 第三步 第四步 第五步 题目 功夫再高也怕菜刀 题目描述 菜狗决定用菜刀和菜鸡决一死战 ...
- 攻防世界MISC刷题1-50
目录 1.ext3 2.base64stego 3.功夫再高也怕菜刀 4.easycap 5.reverseMe 6.Hear-with-your-Eyes 7.What-is-this 8.norm ...
- 攻防世界--Misc文件类型
Misc文件类型 文件下载后发现一大字符串 一开始放进winhex里面各种对照文件头 修改后缀名 但发现都没有效果 后来看了wp才知道一开始拿到的是一串密文(被题目误导了) 需要进行解码 放入winh ...
- 攻防世界 Misc高手进阶区 2分题 倒立屋
前言 继续ctf的旅程 攻防世界Misc高手进阶区的2分题 本篇是倒立屋的writeup 发现攻防世界的题目分数是动态的 就仅以做题时的分数为准了 解题过程 下下来一个png图片 受上一题" ...
- 攻防世界MISC进阶区刷题记录
文章目录 攻防世界MISC进阶区刷题记录 Ditf 运用stegextract进行分离 glance-50 gif图片分离组合脚本 hit-the-core Test-flag-please-igno ...
- 攻防世界 MISC新手练习区 刷12道题题所得的思路和方法
title: 攻防世界 MISC新手练习区 date: 22021年8月17日 10点31分 tags: MISC categories: MISC 1.攻防世界 this_is_flag(签到题) ...
- 攻防世界MISC高手区Avatar
攻防世界MISC高手区五分题[Avatar] 题目 解题分析过程 题目 解题分析过程 1.下载附件得一张图片(jpg) 2.扔进winhex,分析无果: 扔进Stegsolve,分析无果: binwa ...
- 攻防世界 Misc高手进阶区 7分题 Russian-zips
前言 继续ctf的旅程 攻防世界Misc高手进阶区的7分题 本篇是Russian-zips的writeup 发现攻防世界的题目分数是动态的 就仅以做题时的分数为准了 解题过程 得到一个压缩文件 解压要 ...
- 【ics-05 | mfw】攻防世界CTF题WP
攻防世界CTF题WP ics-05 所需知识 解题步骤 学习知识 php伪协议(文件包含漏洞中使用) preg_place函数 mfw 所需知识 解题步骤 学习知识 Dirserach工具 GitHa ...
最新文章
- 手机归属地和ip定位
- postfix+squirrelmail - rhat 5.4
- Badboy自动化测试工具11 导出脚本用于Jmeter并发测试
- java程序经过编译后会产生byte code_Java 虚拟机(JVM)内存模型
- Huawei LiteOS 开发指南
- NOI OpenJudge 8469 特殊密码锁 Label贪心
- 服务器搭建对讲机系统,世邦对讲配置步骤以及方法(支持跨服务器对讲).doc
- EMNLP'21 | 基于证据检索和图神经验证网络的表格事实验证模型
- java之模块学习-接口回调机制详解
- zzulioj 1819: 加加加!(油) (打表)
- 【序列推荐】KDD2018|STAMP---基于注意力的短期记忆优先的推荐
- C语言求余运算符的使用
- 北京明年拟新增3万个幼儿园学位 并再筹建6万套政策性产权房
- Android下操作FrameBuffer
- 我是谁 是我心魔乱舞 对与错 我能顿悟 恶魔开始 让真理复苏
- 温升测试仪-Type-C插头温升测试
- 不用计算机怎么算三角函数,1.不用计算机怎么求根式和三角函数值?
- 谈谈对Python爬虫的理解
- Java很傻,但是IDE很聪明,Intellij IDEA 是一款好产品
- 坐标换与雅克比矩阵 Jacobian