buuctf misc 刷题记录(持续更新)

阅读: 评论:0

buuctf misc 刷题记录(持续更新)

buuctf misc 刷题记录(持续更新)

将军(gif分解)

本题题目有点问题不能发布改了一下,题目下载为gif,看的时候中间闪过三张白底红字,应该是分解gif,通过脚本分解后得到flag(注意小写的l和数字1长得很像,本题为数字1)

flag{he11ohongke}

你竟然赶我走

010直接打开图片,flag就在文件字符串尾

 flag{stego_is_s0_bor1ing}

二维码(zip爆破)

直接扫二维码,得到secret is here,010打开二维码png,得到隐藏zip文件,没有思路直接爆破(后来发现txt文件为4number,应该密码是4位数字),得到密码7639,解压zip得到CTF{vjpw_wnoei},替换为flag{vjpw_wnoei}

flag{vjpw_wnoei}

大白(png crc)

直接将图片高度修改为2倍,即可看到flag

flag{He1l0_d4_ba1}

N种方法解决

exe无法打开,放到kali中file命令查看,发现是txt文件,修改后缀打开文本文档,发现提示为base64加密的jpg,解base64,存储png图片发现为二维码,扫码得到KEY{dca57f966e4e4e31fd5b15417da63269}

flag{dca57f966e4e4e31fd5b15417da63269}

乌镇峰会种图

010打开图片,最后面藏有flag

flag{97314e7864a8f62627b26f3f998c37f1}

wireshark

查看流量包,找到其中http返回码200的流量,看有一段png,提取出来发现不是,然后看题干发现flag是管理员密码,看到有login的交互,找到password,得到flag

flag{ffb7567a1d4f4abdffdb54e022f8facd}

基础破解

看题干为4位数字加密,直接archpr爆破,得到密码2563,解压得到base64密文,解密得到flag

flag{70354300a5100ba78068805661b93a5c}

文件中的秘密

查看文件属性,发现备注中藏有flag

flag{870c5a72806115cb5439345d8b014396}

lsb(lsb隐写)

根据题目提示应该是lsb隐写,隐写了一个png文件,保存出来是二维码,直接扫码得到cumtctf{1sb_i4_s0_Ea4y}

flag{1sb_i4_s0_Ea4y}

zip伪加密

下载后发现为加密zip,010查看发现内容未加密,尝试用kali binwalk直接分离

flag{Adm1N-B2G-kU-SZIP}

被嗅探的流量

直接从分组字节流搜索flag,找到flag{da73d88936010da1eeeb36e945ec4b97}

flag{da73d88936010da1eeeb36e945ec4b97}

中间部分慢慢补充

[XMAN2018排位赛]通行证

打开是段base64,解密得到kanbbrgghjl{zb____}vtlaln,感觉像个栅栏,解密后找不到,没思路求助wp,发现是栅栏栏目7加密,栅栏加密

得到kzna{blnl_abj_lbh_trg_vg},在凯撒解密得到xman{oyay_now_you_get_it}

[MRCTF2020]千层套路

根据提示压缩包密码为压缩包名称,解了两个发现需要循环解压,不会写脚本直接看wp

通过脚本循环解压600多遍得到一个txt

import zipfile
import os
path=r"E:/buuctf/misc/千层套路/1" #这个自己把控想在哪里开始使用脚本
file="0573.zip"
def un_zip(Path,File_name): #传入一个路径和当前路径的压缩包名字,返回解压缩后的文件名字current_file=Path+os.sep+File_name #路径+'/'+文件名#new_path=''os.chdir(Path) #改变当前工作路径,方便添加文件夹zip_file=zipfile.ZipFile(current_file)#print(zip_file.namelist()[0])new_file=zip_file.namelist()[0] #新解压的压缩文件为新的路径名字actall( path=Path, members=zip_file.namelist(), pwd=File_name[0:-4].encode() )#因为密码就是文件名zip_file.close()return new_filenew=file
new1=''
while (1):#new1=un_zip(path,new) #第一次解压出来了new1if(new ==''):  #判断是否解压完毕,是则直接退出print("end:"+new1)breakelse:   #否则就开始新的解压new1=un_zip(path,new)print("continue:"+new1)new=new1

打开txt里面是rgb,用脚本生成图片,发现是个二维码,扫码得到flag

from PIL import Image
from zlib import *file=open(&#','r').read().split('n')
#print(file)
i=0
maxlenth=200
pic&#w("RGB",(maxlenth,maxlenth))
for y in range(maxlenth):for x in range(maxlenth):if file[i]=='(0, 0, 0)':color=(0,0,0)pic.putpixel([x,y],color)else:color=(255,255,255)pic.putpixel([x,y],color)i=i+1
pic.show()


flag{ta01uyout1nreet1n0usandtimes}

百里挑一------存疑(exiftool查看图片信息)

题干为百里挑一,发现流量包中http传输有大量图片,导出http流,得到大量图片,没思路GG。
百度wp,通过exiftool图片信息查询工具可以查询图片中藏有的信息   exiftool * |grep flag  得到前半段flag{ae58d0408e26e8f


而后wp说搜索exif,然后对应到tcp流114,发现后半段26a3c0589d23edeec}   

flag{ae58d0408e26e8f26a3c0589d23edeec}

[MRCTF2020]CyberPunk

运行exe文件,发现说直到打开会给flag,会在2020.9.17打开,每隔10秒刷新,然后显示当前月日,将电脑时间调整到9月17日,重新打开exe,得到flag

flag{We1cOm3_70_cyber_security}

[SUCTF2018]followme(文件内容便利)

打开流量包,发现没什么线索,导出http内容,发现在进行爆破,之后没思路...

求助wp说将导出的http文件放到kali中,判断含有CTF,通过grep -r命令在文件夹中便利,得到SUCTF{password_is_not_weak}

flag{password_is_not_weak}

[安洵杯 2019]Attack(mimikatz获取dmp文件密码)

看下流量包,有很多http流量,先把流量都导出来看下,发现有个dmp文件,应该是要找管理员密码

放到mimikatz里面跑下获得管理员密码W3lc0meToD0g3

然后再看流量包没发现别的线索,直接放到kali里面formost试下,发现存在有zip包,打开需要管理员密码,应该就是前面那个,解压出来中存在D0g3{3466b11de8894198af3636c5bd1efce2}

flag{3466b11de8894198af3636c5bd1efce2}

[SUCTF 2019]Game(3des)

首先看zip直接解压,发现是个html,打开发现说要再快点,直接看源码,有个flag,base32解密得到suctf{hAHaha_Fak3_F1ag},提交发现不对,再去看下png,010打开发现没有隐藏,Stegsolve打开,lsb隐写一段对称加密

尝试了下秘钥hAHaha_Fak3_F1ag,Fak3都不对,看下wp,说是3des加密,秘钥为suctf{hAHaha_Fak3_F1ag}(这tm谁能想到这么长的秘钥),得到suctf{U_F0und_1t}

flag{U_F0und_1t}

USB(rar文件编码结构、usb隐写、维吉尼亚)

题目给了一个rar和一个ftm文件,先看rar,打开说文件头失败,010看下,发现提示有问题,这里是rar文件编码的一些注意事项

RAR文件头为52 61 72 21 1A 07 00(大多数情况rar4.x) ,52 61 72 21 1A 07 10 00(小部分目前没见过rar5.x),RAR文件尾为C4 3D 7B 00 40 07 00,同时还要注意文件块一般是74开头

然后发现rar文件块被修改,将7A改成74,解压rar得到图片和txt提示。

图片用Stegsolve打开查看图层,发现在Blue plane 0 中藏有二维码

CQR打开二维码看下,得到ci{v3erf_0tygidv2_fc0}。

然后再看下ftm文件,binwalk看下藏有zip,分离下发现还有个pacp包,打开流量包发现都是usb流量,正好对应题目usb隐写,使用UsbKeyboardDataHacker-master

得到xinan,加上前面得到的ci{v3erf_0tygidv2_fc0},应该是维吉尼亚,用随波逐流解下,发现包含flag字符,应该是栅栏,再解下得到flag


flag{vig3ne2e_is_c00l}

[UTCTF2020]basic-forensics

jpg文件打不开,直接010打开看下,发现是个文档,搜索flag得到utflag{fil3_ext3nsi0ns_4r3nt_r34l}

flag{fil3_ext3nsi0ns_4r3nt_r34l}

[BSidesSF2019]zippy

打开流量包,发现传输了一个flag.zip文件,直接binewalk出来,是个加密的,然后看流量包中有unzip命令传输,其中包含密码supercomplexpassword,直接解压zip得到CTF{this_flag_is_your_flag}

flag{this_flag_is_your_flag}
 

[GUET-CTF2019]虚假的压缩包(rsa)

一共两个zip文件,先看下虚假的压缩包,010打开发现是个伪加密,修改后解压得到,里面是个rsa算法,由于n=p*q,且pq为素数,所以pq为3和11

import gmpy2
"""
一般情况下会给p,q,(n),e,c
n=p*q,且p,q均为素数
d为解密钥,c为加密后密文,ans为解密后数据
将所有数据对应替换即可gmpy2.mpz(n)#初始化一个大整数
gmpy2.mpfr(x)# 初始化一个高精度浮点数x
d = gmpy2.invert(e,n) # 求逆元,de = 1 mod n
C = gmpy2.powmod(M,e,n)# 幂取模,结果是 C = (M^e) mod n
gmpy2.is_prime(n) #素性检测
d(a,b)  #欧几里得算法,最大公约数
dext(a,b)  #扩展欧几里得算法
gmpy2.iroot(x,n) #x开n次根
"""p = gmpy2.mpz(3)
q = gmpy2.mpz(11)
e = gmpy2.mpz(3)
l = (p-1) * (q-1)
d = gmpy2.invert(e,l)
c = gmpy2.mpz(26)
n = p * q
ans = pow(c,d,n)
print(ans)

通过脚本得到答案是5,解压另一个压缩包(解压时候密码是“答案是5”),一张图和一个文件,文件是16进制字符串,图片直接扔随波逐流看下,发现有个^5,找个脚本将文件所有字符^5操作

f1 = open('./亦真亦假','r')
xor_data = f1.read()
f1.close()
dec_data = ""
for i in xor_data:tmp = int(i,16) ^ 5dec_data += hex(tmp)[2:]print(dec_data)

得到一个zip,打开发现是doc文件,进去搜flag发现看不到,改下文字颜色得到flag

flag{_th2_7ru8_2iP_}

[RCTF2019]draw(logo编程)

看到字符应该是个什么加密,没有思路找wp,是logo变成语言,直接找网站执行logo编程(可以把js下载到本地然后就不用在线使用了),得到RCTF_HeyLogo

flag{RCTF_HeyLogo}

[SWPU2019]Network(ttl隐写)

看了下只有63 127 191 255四个数字,应该是tll隐写,分别改为00 01 10 11,拼接转ascii

import binascii
f2=open(&#','wb')
with open(&#','r') as f:lines = f.readlines()p = []for x in range(len(lines)):p.append(int(lines[x]))s=''for i in p:if(i==63):b='00'elif(i==127):b='01'elif(i==191):b='10'else:b='11's+=b
#print(s)
flag = ''
for i in range(0,len(s),8):flag+=chr(int(s[i:i+8],2))
flag=binascii.unhexlify(flag)
f2.write(flag)

得到一个zip包,是个伪加密,修改后得到base64加密字符串,套娃解base64后得到flag

import base64f = open(&#','rb').read()
while True:f = base64.b64decode(f)if b'{' in f:print(f)breakelse:continue

flag{189ff9e5b743ae95f940a6ccc6dbd9ab}

[ACTF新生赛2020]明文攻击(zip明文攻击)

一共一个zip和一个jpg,看下zip不是伪加密,根据题目应该是明文攻击爆破,看下jpg,后面藏有修改了文件头的zip,改文件头后发现和原先zip中的crc32值相同,明文攻击爆破得到ACTF{3te9_nbb_ahh8}

flag{3te9_nbb_ahh8}

[MRCTF2020]Hello_ misc(ttl隐写)

先看png,010打开后发现藏有zip,是个加密的,爆破下,不是,然后再看下png通道,发现red中藏有图片(随便red通道掩一个就行),下载后说密码是!@#$%67*()-+,解压zip得到一串数字。里面只有63、127、191、255,应该是ttl隐写(python代码见[SWPU2019]Network),解出来得到rar-passwd:0ac1fe6b77be5dbe,解压出来得到一个zip,看了下是个doc文件,改成doc后有一段隐写的字符,发现是base64,分行解出一堆01字符串,试了下ascii不是,然后看wp说是把1替换成空格,得到He1Lo_mi5c~

flag{He1Lo_mi5c~}

[UTCTF2020]zero(0宽隐写)

打开没有思路,看下wp是0宽隐写,找了个代码,可以直接得到flag

/***  Zero-Width Unicode Character Steganography*  Copyright (c) 2015-2016 Kei Misawa*  This software is released under the MIT License.*  .php*/
(function(exports){'use strict';var chars = [];var radix = 0;var codelengthText = 0;var codelengthBinary = 0;/**Set characters of coded hidden text(zero width characters)args: string of zero width charactersreturn: null*/var setUseChars = function(newchars){if(newchars.length >= 2){chars = newchars.split('');radix = chars.length;codelengthText = il(Math.log(65536) / Math.log(radix));codelengthBinary = il(Math.log(256) / Math.log(radix));}return null;};/**Text Encoderargs:text: original text to be embedded (String)data: text to be hidden (String)return: unicode stego text*/var encodeText = function(text1, text2){return combine_shuffle_string(text1, encode_to_zerowidth_characters_text(text2), codelengthText);};/**Binary Encoderargs:text: original text to be embedded (String)data: data to be hidden (Uint8Array)return: unicode stego text*/var encodeBinary = function(text, data){return combine_shuffle_string(text, encode_to_zerowidth_characters_binary(data), codelengthBinary);};/**Text Decoderargs: unicode text with steganography (String)return: JavaScript Object {originalText: original text (String),hiddenText: hidden data (String)}*/var decodeText = function(text){var splitted = split_zerowidth_characters(text);return {'originalText': iginalText,'hiddenText': decode_from_zero_width_characters_text(splitted.hiddenText, codelengthText)};};/**Binary Decoderargs: unicode text with steganography (String)return: JavaScript Object {originalText: original text (String),hiddenData: hidden data (Uint8Array)}*/var decodeBinary = function(text){var splitted = split_zerowidth_characters(text);return {'originalText': iginalText,'hiddenData': decode_from_zero_width_characters_binary(splitted.hiddenText)};};setUseChars('u200cu200du202cufeff');exports.unicodeSteganographer = {encodeText: encodeText,decodeText: decodeText,encodeBinary: encodeBinary,decodeBinary: decodeBinary,setUseChars: setUseChars};/**Internal Functions*/var encode_to_zerowidth_characters_text = function(str1){var result = new Array(str1.length);var base = '';var i;var c;var d;var r;//var base = '0'.repeat(codelength); // IE not support this methodfor(i = 0; i < codelengthText; i++){base += '0';}for(i = 0; i < str1.length; i++){c = str1.charCodeAt(i);d = c.toString(radix);result[i] = (base + d).substr(-codelengthText);}r = result.join('');for(i = 0; i < radix; i++){r = r.replace(new RegExp(i, 'g'), chars[i]);}return r;};var encode_to_zerowidth_characters_binary = function(u8ary){var result = new Array(u8ary.length);var base = '';var i;var c;var d;var r;for(i = 0; i < codelengthBinary; i++){base += '0';}for(i = 0; i < u8ary.length; i++){d = u8ary[i].toString(radix);result[i] = (base + d).substr(-codelengthBinary);}r = result.join('');for(i = 0; i < radix; i++){r = r.replace(new RegExp(i, 'g'), chars[i]);}return r;};var combine_shuffle_string = function(str1, str2, codelength){var result = [];var c0 = str1.split(/([u0000-u002Fu003A-u0040u005b-u0060u007b-u007f])|([u0030-u0039]+)|([u0041-u005au0061-u007a]+)|([u0080-u00FF]+)|([u0100-u017F]+)|([u0180-u024F]+)|([u0250-u02AF]+)|([u02B0-u02FF]+)|([u0300-u036F]+)|([u0370-u03FF]+)|([u0400-u04FF]+)|([u0500-u052F]+)|([u0530-u058F]+)|([u0590-u05FF]+)|([u0600-u06FF]+)|([u0700-u074F]+)|([u0750-u077F]+)|([u0780-u07BF]+)|([u07C0-u07FF]+)|([u0800-u083F]+)|([u0840-u085F]+)|([u08A0-u08FF]+)|([u0900-u097F]+)|([u0980-u09FF]+)|([u0A00-u0A7F]+)|([u0A80-u0AFF]+)|([u0B00-u0B7F]+)|([u0B80-u0BFF]+)|([u0C00-u0C7F]+)|([u0C80-u0CFF]+)|([u0D00-u0D7F]+)|([u0D80-u0DFF]+)|([u0E00-u0E7F]+)|([u0E80-u0EFF]+)|([u0F00-u0FFF]+)|([u1000-u109F]+)|([u10A0-u10FF]+)|([u1100-u11FF]+)|([u1200-u137F]+)|([u1380-u139F]+)|([u13A0-u13FF]+)|([u1400-u167F]+)|([u1680-u169F]+)|([u16A0-u16FF]+)|([u1700-u171F]+)|([u1720-u173F]+)|([u1740-u175F]+)|([u1760-u177F]+)|([u1780-u17FF]+)|([u1800-u18AF]+)|([u18B0-u18FF]+)|([u1900-u194F]+)|([u1950-u197F]+)|([u1980-u19DF]+)|([u19E0-u19FF]+)|([u1A00-u1A1F]+)|([u1A20-u1AAF]+)|([u1AB0-u1AFF]+)|([u1B00-u1B7F]+)|([u1B80-u1BBF]+)|([u1BC0-u1BFF]+)|([u1C00-u1C4F]+)|([u1C50-u1C7F]+)|([u1CC0-u1CCF]+)|([u1CD0-u1CFF]+)|([u1D00-u1D7F]+)|([u1D80-u1DBF]+)|([u1DC0-u1DFF]+)|([u1E00-u1EFF]+)|([u1F00-u1FFF]+)|([u2000-u206F]+)|([u2070-u209F]+)|([u20A0-u20CF]+)|([u20D0-u20FF]+)|([u2100-u214F]+)|([u2150-u218F]+)|([u2190-u21FF]+)|([u2200-u22FF]+)|([u2300-u23FF]+)|([u2400-u243F]+)|([u2440-u245F]+)|([u2460-u24FF]+)|([u2500-u257F]+)|([u2580-u259F]+)|([u25A0-u25FF]+)|([u2600-u26FF]+)|([u2700-u27BF]+)|([u27C0-u27EF]+)|([u27F0-u27FF]+)|([u2800-u28FF]+)|([u2900-u297F]+)|([u2980-u29FF]+)|([u2A00-u2AFF]+)|([u2B00-u2BFF]+)|([u2C00-u2C5F]+)|([u2C60-u2C7F]+)|([u2C80-u2CFF]+)|([u2D00-u2D2F]+)|([u2D30-u2D7F]+)|([u2D80-u2DDF]+)|([u2DE0-u2DFF]+)|([u2E00-u2E7F]+)|([u2E80-u2EFF]+)|([u2F00-u2FDF]+)|([u2FF0-u2FFF]+)|([u3000-u303F]+)|([u3040-u309F]+)|([u30A0-u30FF]+)|([u3100-u312F]+)|([u3130-u318F]+)|([u3190-u319F]+)|([u31A0-u31BF]+)|([u31C0-u31EF]+)|([u31F0-u31FF]+)|([u3200-u32FF]+)|([u3300-u33FF]+)|([u3400-u4DBF]+)|([u4DC0-u4DFF]+)|([u4E00-u9FFF]+)|([uA000-uA48F]+)|([uA490-uA4CF]+)|([uA4D0-uA4FF]+)|([uA500-uA63F]+)|([uA640-uA69F]+)|([uA6A0-uA6FF]+)|([uA700-uA71F]+)|([uA720-uA7FF]+)|([uA800-uA82F]+)|([uA830-uA83F]+)|([uA840-uA87F]+)|([uA880-uA8DF]+)|([uA8E0-uA8FF]+)|([uA900-uA92F]+)|([uA930-uA95F]+)|([uA960-uA97F]+)|([uA980-uA9DF]+)|([uA9E0-uA9FF]+)|([uAA00-uAA5F]+)|([uAA60-uAA7F]+)|([uAA80-uAADF]+)|([uAAE0-uAAFF]+)|([uAB00-uAB2F]+)|([uAB30-uAB6F]+)|([uAB70-uABBF]+)|([uABC0-uABFF]+)|([uAC00-uD7AF]+)|([uD7B0-uD7FF]+)|([uD800-uDFFF]+)|([uE000-uF8FF]+)|([uF900-uFAFF]+)|([uFB00-uFB4F]+)|([uFB50-uFDFF]+)|([uFE00-uFE0F]+)|([uFE10-uFE1F]+)|([uFE20-uFE2F]+)|([uFE30-uFE4F]+)|([uFE50-uFE6F]+)|([uFE70-uFEFF]+)|([uFF00-uFFEF]+)|([uFFF0-uFFFF]+)/g);var c1 = [];var i;var j;for(i = 0; i < c0.length; i++){if((typeof c0[i] !== 'undefined') && (c0[i] !== '')){c1.push(c0[i]);}}var c2 = str2.split(new RegExp('(.{' + codelength + '})', 'g'));var ratio = c1.length / (c1.length + c2.length);/* slowwhile((c1.length > 0) && (c2.length > 0)){if(Math.random() <= ratio){result.push(c1.shift());}else{result.push(c2.shift());}}*/i = 0;j = 0;while((i < c1.length) && (j < c2.length)){if(Math.random() <= ratio){result.push(c1[i]);i++;}else{result.push(c2[j]);j++;}}c1 = c1.slice(i);c2 = c2.slice(j);result = at(c1).concat(c2);return result.join('');};var split_zerowidth_characters = function(str1){var result = {};iginalText = place(new RegExp('[' + chars.join('') + ']', 'g'), '');result.hiddenText = place(new RegExp('[^' + chars.join('') + ']', 'g'), '');return result;};var decode_from_zero_width_characters_text = function(str1){var r = str1;var i;var result = [];for(i = 0; i < radix; i++){r = r.replace(new RegExp(chars[i], 'g'), i);}for(i = 0; i < r.length; i += codelengthText){result.push(String.fromCharCode(parseInt(r.substr(i, codelengthText), radix)));}return result.join('');};var decode_from_zero_width_characters_binary = function(str1){var r = str1;var i;var j;var result = new il(str1.length / codelengthBinary));for(i = 0; i < radix; i++){r = r.replace(new RegExp(chars[i], 'g'), i);}for(i = 0, j = 0; i < r.length; i += codelengthBinary, j++){result[j] = parseInt(r.substr(i, codelengthBinary), radix);}return result;};return null;
})(this);

(注意如果遇到txt题目,最好用sublime打开,0宽隐写注意下隐藏的具体是哪个)

flag{whyNOT@sc11_4927aajbqk14}

[WUSTCTF2020]spaceclub

发现内容为空,后来看有些行是6个空格,有些是12个,将6个的转为0,12个的转为1,得到01字符串,转ascii得到wctf2020{h3re_1s_y0ur_fl@g_s1x_s1x_s1x}

flag{h3re_1s_y0ur_fl@g_s1x_s1x_s1x}

[GKCTF 2021]签到

看下没啥信息,把http流都存下来,每个16进制转ascii再base64都看下,发现有一段有嫌疑的字符串,但是没找到头绪,后来看说是直接分别每行逆序,然后再解base64可以得到


a='wIDIgACIgACIgAyIK0wIjMyIjMyIjMyIjMyIjMyIjMyIjMyIjMyIjMyIjMyIjMyIjMyIjMiCNoQD'
b='jMyIjMyIjMyIjMyIjMyIjMyIjMyIjMyIjMyIjoQDjACIgACIgACIggDM6EDM6AjMgAzMtMDMtEjM'
c='t0SLt0SLt0SLt0SLt0SLt0SLt0SLt0SLt0SLt0SLt0SLt0SLt0SLt0SLt0iCNMyIjMyIjMyIjMyI'
d='6AjMgAzMtMDMtEjMwIjO0eZ62ep5K0wKrQWYwVGdv5EItAiM1Aydl5mK6M6jlfpqnrQDt0SLt0SL'
e='t0SLt0SLt0SLt0SLt0SLt0SLt0SLt0SLt0SLt0SLt0SLt0SLt0SLK0AIdZavo75mlvlCNMTM6EDM'
f='z0yMw0SMyAjM6Q7lpb7lmrQDrsCZhBXZ09mTg0CIyUDI3VmbqozoPW+lqeuCN0SLt0SLt0SLt0SL'
g='sxWZld1V913e7d2ZhFGbsZmZg0lp9iunbW+Wg0lp9iunbW+Wg0lp9iunbW+WK0wMxoTMwoDMyACM'
h='DN0QDN0QDlWazNXMx0Wbf9lRGRDNDN0ard0Rf9VZl1WbwADIdRampDKilvFIdRampDKilvVKpM2Y'
i='==QIhM0QDN0Q'print(a[::-1])
print(b[::-1])
print(c[::-1])
print(d[::-1])
print(e[::-1])
print(f[::-1])
print(g[::-1])
print(h[::-1])
print(i[::-1])

ffllaagg{{}}WWeellcc))00mmee__GGkkCC44FF__mm11ssiiCCCCCCCCCCCC!!,双写自己转下即可

flag{Welc0me_GkC4F_m1siCCCCCC!}

[ACTF新生赛2020]music(文件异或)

打不开音频,应该是文件损坏,看看不是修改文件头,发现不是,无思路求教wp,是文件异或,由于开头多次出现A1,用010直接将整个文件和A1异或(010中工具-十六进制运算-二进制异或),得到正确音频文件,直接听可以得到abcdfghijk

flag{abcdfghijk}

[MRCTF2020]Unravel!!

看下那个png,010打开发现有隐藏压缩包和图片,解开是aes.png,内容为Tokyo,应该就是aes解密秘钥,然后看音频,文件名说是看下文件尾,010打开得到aes加密密文U2FsdGVkX1/nSQN+hoHL8OwV9iJB/mSdKk5dmusulz4=,解一下得到CCGandGulu,通过这个解压最初始压缩包,得到一个音频,通过slienteeye得到MRCTF{Th1s_is_the_3nd1n9}


flag{Th1s_is_the_3nd1n9}

[CFI-CTF 2018]webLogon capture

看流量包,其中有password字段是个url加密,解密得到 CFI{1ns3cur3_l0g0n} 


flag{1ns3cur3_l0g0n}

[MRCTF2020]pyFlag

010打开三张图片,文件尾均有zip压缩包一部分,合在一起得到压缩包,看下不是伪加密,爆破得到密码1234,看下hint说都是base解密,然后随波逐流一直解,base85-16-32-16-64得到MRCTF{Y0u_Are_4_p3rFect_dec0der}

flag{Y0u_Are_4_p3rFect_dec0der}

[DDCTF2018]流量分析(tls秘钥)

查看hint说提示补齐rsa秘钥格式,说明应该有加密,在tcp流中寻找秘钥,输入tcp contains “key”追踪tcp流,发现有个base64加密的jpg文件

通过chef转存成jpg,打开查看应该就是秘钥,ocr识别后补全开头结尾成为秘钥文件。

将秘钥文件导入到wireshark中,wireshark编辑-首选项-Protocols-TLS-Edit

导入后搜索http即可找到内容,查看http流可以找到flag

flag{0ca2d8642f90e10efd9092cd6a2831c0}

[GKCTF 2021]excel 骚操作(excel隐藏,汉信码)

看了下以为是藏在了压缩包里面,010打开没有信息,7z打开也没发现藏东西,求助wp,说是有隐藏的1,然后将所有位置改为黑底色,调整大小就是个码

看wp说是汉信码,下载个中国编码app扫描得到flag


flag{9ee0cb62-f443-4a72-e9a3-43c0b910757e}

[UTCTF2020]File Carving

010打开,发现后面藏有zip,将zip单独取出来解压得到hidden_binary文件,放到kali里面看下是个elf,执行下得到utflag{2fbe9adc2ad89c71da48cabe90a121c0}

flag{2fbe9adc2ad89c71da48cabe90a121c0}

[watevrCTF 2019]Evil Cuteness

010打开图片,文件尾藏有zip文件,取出来后解压得到abc文件,放到kali中看下是个txt文件,打开得到watevr{7h475_4c7u4lly_r34lly_cu73_7h0u6h}

flag{7h475_4c7u4lly_r34lly_cu73_7h0u6h}

派大星的烦恼

打开图片是个全粉的照片,010打开,搜下22(题干中提示内容,0x22,0x44代表伤疤两种细胞),拷出来将D替换为1,"替换为0,看下ascii码不对,反过来以后再看下也不对,一共256位,推测可能是二维码,两个都试下转二维码,也不对,没有思路看下wp,说是需要D替换为1,"替换为0,然后倒序转ascii,再倒序输出(说是因为题干中提到了屁股,所以猜测倒序)

flag="0110110000101100000011000110110010011100101011000000110010000110101011000010110010001100000111000010110001000110001001101010110001100110101001100110110001000110011011001010011010101100010001100010110011000110101001100010110011001100000111001100110001001100"
flag=flag[::-1]
#print(flag)
x=""
for i in range(len(flag)//8):x += chr(int(flag[8*i:(i+1)*8],2))
print(x[::-1])

得到6406950a54184bd5fe6b6e5b4ce43832

flag{6406950a54184bd5fe6b6e5b4ce43832}

[MRCTF2020]不眠之夜

[QCTF2018]X-man-A face(二维码定位点)

看到是个二维码缺少了左上和左下两个定位点,用画图将右上定位点复制到左上左下,获取二维码,扫码得到字符串(CQR扫了没出来,微微二维码扫出来了)放随波逐流里面解下是个base32得到QCTF{Pretty_Sister_Who_Buys_Me_Lobster}

flag{Pretty_Sister_Who_Buys_Me_Lobster}

粽子的来历

下载一共四个doc文件,均无法正常打开,010看下,开头夹杂了一段IComeFrom……,根据题目提示喜欢DBAPP标记,所以应该对应的我是C这个文件,将这部分与其他位保持一致修改为FF,可以打开文件。

看下文件内容,发现行间距不同,有1.5倍行距以及单倍行距,推测1.5倍对应的是1,单倍对应的是0,得到100100100001,根据题干md5加密得到d473ee3def34bd022f8e5233036b3345

flag{d473ee3def34bd022f8e5233036b3345}

[INSHack2017]sanity

是个签到题,打开md文件直接就能看到INSA{Youre_sane_Good_for_you}

flag{Youre_sane_Good_for_you}

key不在这里

图片是个二维码,扫码得到一个网址,中间有一串数字,感觉应该和这个有关10210897103375566531005253102975053545155505050521025256555254995410298561015151985150375568,首先不是十六进制,那看看是不是ascii,102 108 97 103正好是flag,那就把所有数字隔开,转ascii得到flag%7B5d45fa256372224f48746c6fb8e33b32%7D,%7B应该是url加密,解密得到flag{5d45fa256372224f48746c6fb8e33b32}

flag{5d45fa256372224f48746c6fb8e33b32}

hashcat(office文件密码)

不知道文件类型,放到kali里面看下,是个xml类型,应该是个office,首先先用doc,打开发现有个密码,用Accent Office Password Recovery破解,得到密码9919

然后发现打开不行,换成ppt试下,打开了,看下内容,发现倒数第二页有隐藏文字,全选变红发现flag

flag{okYOUWIN}

蜘蛛侠呀(全是新鲜知识点,gif时间隐写)

看完题目完全没思路,直接看wp跟着做

先看流量包,所有的icmp流量后面都跟了一串字符串,想办法提取出来

把流量包放到kali里面,用tshark提取下,得到

tshark -r out.pcap -T fields -e data > 

发现有重复数据,python去下重

with open(&#', 'r') as file:res_list = []lines = adlines()print('[+]去重之前一共{0}行'.format(len(lines)))print('[+]开始去重,请稍等.....')for i in lines:if i not in res_list:res_list.append(i)print('[+]去重后一共{0}行'.format(len(res_list)))print(res_list)with open(&#', 'w') as new_file:for j in res_list:new_file.write(j)

然后把十六进制转字符

import binasciiwith open(&#','r') as file:with open(&#','wb') as data:for i adlines():data.write(binascii.unhexlify(i[:-1]))

然后去掉开头的start以及首尾两行,放到chef里面base64发现是个zip包

解压得到一个gif,是时间隐写(详见大佬写的gif隐写gif隐写分析),把gif放到kali里面直接命令解得到每帧之间的间隔

identify -format "%T" flag.gif  

将包含的20转为0,50转为1,然后二进制转ascii,得到mD5_1t,MD5加密后得到f0f1003afe4ae8ce4aa8e8487a8ab3b6

flag{f0f1003afe4ae8ce4aa8e8487a8ab3b6}

[SCTF2019]电单车(钥匙信号PT224X)

Audacity打开,调整下距离,发现波形有粗有细,判断应该粗细分别对应01,之后没思路了。

看下wp发现是个新知识,钥匙信号(PT224X) = 同步引导码(8bit) + 地址位(20bit) + 数据位(4bit) + 停止码(1bit)。波形图中细的对应0,粗的对应1,得到0  01110100101010100110 0010 0 ,中间20位即为数据位

flag{01110100101010100110}

voip(voip协议)

遇到知识盲点,直接看wp,voip是互联网语音协议,也就是ip电话。

看下流量包中都是相关协议,wireshark可以直接播放语音内容,找到电话-voip通话,点击播放流即可听到语音内容,后面就是听力环节(非常不清晰),得到flag

flag{9001IVR}

[安洵杯 2019]easy misc(盲水印)

[UTCTF2020]sstv(慢扫描)

打开音频,没有什么思路,看下wp是慢扫描,需要在kali上面装qsstv软件

apt-get install qsstv

装完之后qsstv运行下软件,是图形化界面,选Options-Sound-From file,然后选确定,等待画面出现

flag{6bdfeac1e2baa12d6ac5384cdfd166b0}

[GUET-CTF2019]soul sipse(wav分解、Unicode转码)

首先拿到一个wav音频文件,放到Audacity中没有发现,010打开也没发现,binwalk和foremost也没有分理出内容。没有思路看下wp,说是使用steghide,可以无密码分解出txt

打开txt是个微盘链接,进去后下载得到png,直接打不开,010查看发现文件头被改了,修改后可以打开得到遗传Unicode编码

解出来得到感觉像加法,相加得到5304,试下果然是flag

flag{5304}

[UTCTF2020]spectogram

Business Planning Group

[湖南省赛2019]Findme(pngcrc爆破、png数据块头、crc值转ascii、zip数据头)

开局五张图,先都010打开看下,

第五张末尾有个提示,直接给了个字符串,先记录下来Yzcllfc0lN

然后第四张图最后也有相应字符串,也记录下来cExlX1BsY

然后看第三张,没啥思路,看第二张,最后藏有7z开头的字符串

拉出来转存成7z试下,打开不了,没思路看下第一张

第一张看下长宽和其他不一样,crc爆破下长宽应该是227*453,修改后发现图片最上面变了,没别的发现

后面看wp,图一修改完长宽后,chunk2和chunk3缺少IDAT头,需自行补上,补上后得到完整图片

之后Stegsolve打开,在Blueplane2中找到隐藏二维码,扫码得到字符串ZmxhZ3s0X3

第二图7z部分其实和zip相似,是377A0304,将所有的377A改成504B,得到压缩包,然后看里面文件的crc都一样,只有618不同打开看下得到字符串1RVcmVfc

第三张图的每一个chunk中uint32 crc都对应的一个ascii码,将所有连在一起得到字符串3RlZ30=

将五个字符串连在一起按照15423顺序拼接ZmxhZ3s0X3 Yzcllfc0lN cExlX1BsY 1RVcmVfc 3RlZ30=,转base64得到flag{4_v3rY_sIMpLe_PlcTUre_steg}

flag{4_v3rY_sIMpLe_PlcTUre_steg}

[GKCTF 2021]你知道apng吗(apng分离软件)

首先看下apng是什么,是个类似于gif的动图,可以用火狐打开,网上有专门的apng分离工具apng图片分隔

通过工具分解apng文件可以找到四个有二维码的图片

第一个二维码需要用ps拉伸下,在PS里面编辑-变换-扭曲,拉伸下可以扫出第一个信息flag{a3c7e4e5

第二个用Stegsolve扫下原图,切换下图层可以清晰看到二维码,扫码得到-9b9d

第三、四个可以直接扫出来分别为-ad20、-0327-288a235370ea},拼接得到flag

flag{a3c7e4e5-9b9d-ad20-0327-288a235370ea}

[ACTF新生赛2020]剑龙(AAencode、jpg隐写、剑龙隐写)

解压出来有一个hint.zip,先看下这个,解出来有个hh.jpg还有,先看txt打开是AAencode加密,随波逐流解密,得到welcom3!

有密码和图片大概率是jpg隐写,steghide解下试试,得到一串非对称加密密文。

看下图片详细信息,里面提示有密钥,解下密文出来提示想想剑龙

没思路看下wp,说是Stegosaurus(剑龙)隐写剑龙隐写

直接跑脚本得到flag

flag{3teg0Sauru3_!1}

[HDCTF2019]你能发现什么蛛丝马迹吗(内存取证)

题目是一个img文件,应该是个内存取证,需要用到volatility工具,原来没做过类似题目,直接跟着wp操作下来

首先通过imageinfo命令先看下这段内存数据的摘要信息,找到对应的版本profile

volatility -f memory.img imageinfo

之后通过pslist命令看下执行的进程,发现有个dump进程

volatility -f memory.img --profile=Win2003SP1x86 pslist

再通过cmdscan看下原来cmd中保留的命令,发现dumpit这个程序中有flag,给dump下来

volatility -f memory.img --profile=Win2003SP1x86 cmdscanvolatility -f memory.img --profile=Win2003SP1x86 memdump -p 1992 --dump-dir=./

把dmp文件foremost分离后,可以得到两张图片,一个写了key和iv,另一个扫描二维码得到密文jfXvUoypb8p3zvmPks8kJ5Kt0

vmEw0xUZyRGOicraY4=,那就是aes加密,解下得到flag

flag{F0uNd_s0m3th1ng_1n_M3mory}

greatescape(tls秘钥)

流量题,先看下协议分级,发现有ftp、http、还有tls加密的流量,大概率需要找私钥解密

先看下http流量,发现没有什么东西,再看下ftp流量,发现有传输.key文件

再看下前后的tcp流,发现下个流传输的就是明文私钥文件,存下来存成scc.key

将秘钥文件导入到wireshark中,wireshark编辑-首选项-Protocols-TLS-Edit

之后多了很多http流,搜下flag http contains “flag”,大小写都搜下,大写FLAG可以找到

flag{OkThatWasWay2Easy}

[INSHack2019]INSAnity

签到题,打开直接看到答案INSA{YouRe_Crazy_and_I_Love_it}`

flag{YouRe_Crazy_and_I_Love_it}

[INSHack2019]Sanity

签到题,打开直接看到答案INSA{Welcome}

flag{Welcome}

很好的色彩呃?

题目是个gif,打开看了下没有提示,分解了下gif也只有一张,各种方法都试了没思路,看下wp

用PS打开,每个色带取色会发现不同颜色只有最后两位不同,将这些保存,16进制转ascii,得到flag

flag{aapjes}

[INSHack2018]Self Congratulation

原图左上角有个黑白数据块,没找到具体该怎么使用,010,binwalk,Stegsolve都试了下没有发现,看下wp。

说是左上角这个黑白色块黑色为1,白色为0,转化为01字符串

连到一起转ascii得到

flag{12345678}

[ACTF新生赛2020]frequency(字频排序)

看题目frequency应该是频率,大概率是往字频考虑。打开doc看下字体,发现有隐藏文字,解开看下很长一串

然后看提示说有两截,再看下文件属性,发现还有一段字符串,连在一起解下base64,将解出来得到字符串跑下字频排序脚本

# -*- coding:utf-8 -*-
#Author: mochu7
alphabet = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890!@#$%^&*()_+- =\{\}[]"
strings = open('./1.txt').read()result = {}
for i in alphabet:counts = unt(i)i = '{0}'.format(i)result[i] = countsres = sorted(result.items(),key=lambda item:item[1],reverse=True)
for data in res:print(data)for i in res:flag = str(i[0])print(flag[0],end="")

得到actfplokmijnuhbygvrdxeszwq,缺了大括号补上即为flag

flag{plokmijnuhbygvrdxeszwq}

[INSHack2017]insanity-

签到题,打开直接看到答案INSA{Youre_crazy_I_like_it}

flag{Youre_crazy_I_like_it}

[*CTF2019]otaku

看下压缩包被加密,爆破下发现不行,010打开是伪加密,修改下解压出来

[BSidesSF2019]table-tennis

看了下流量包中大多为tls流量,首先想是不是tls秘钥,搜索下tcp contains "key"大小写都试了找不到,试了下binwalk也没有内容,看下wp

icmp中包含有隐藏信息,放到kali里面用tshark把data内容提取出来

tshark -r attachment.pcapng -T fields -e data > 

提取后整理下内容,把空行以及冗余数据删除下,用cyberchef 16进制转ascii,得到

中间字符串Q1RGe0p1c3RBUzBuZ0FiMHV0UDFuZ1Awbmd9转下base64得到CTF{JustAS0ngAb0utP1ngP0ng}

flag{JustAS0ngAb0utP1ngP0ng}

本文发布于:2024-01-28 13:47:12,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/17064208377844.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:题记   buuctf   misc
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23