BUUCTF刷题MISC[十一] (101-104)
刷题随笔,不足的地方望大佬指正
刷题网址BUUCTF:https://buuoj.cn/challenges

目录

[GUET-CTF2019]虚假的压缩包

虚假的压缩包是伪加密,修复即可解压得到key.txt

典型 RSA 小指数、小明文攻击
c = m^e(modn)密文c=26
m=5,输入发现错了,哦,是“答案是5”
解压得到的图片修改高宽

对亦真亦假进行异或5处理
f1 = open('亦真亦假', 'r', encoding='utf-8') # 读文本
xor_data = f1.read().strip() # 去掉首尾空白
f1.close()
dec_data = ""
for i in xor_data:
try:
# 单个十六进制字符转整数 → 异或5
tmp = int(i, 16) ^ 5
# 确保结果是1位十六进制(比如0转"0",不是空)
dec_data += hex(tmp)[2:].zfill(1)
except ValueError:
# 遇到非十六进制字符直接保留(容错)
dec_data += i
# Python3替代decode('hex')的写法:fromhex()
try:
bin_data = bytes.fromhex(dec_data)
f2 = open('./data.doc', 'wb')
f2.write(bin_data)
f2.close()
print("解密完成!")
except ValueError as e:
print(f"十六进制字符串格式错误:{e}")
得到data.doc

字频分析没发现什么,考虑是doc文档的隐写,全选复制到浏览器看看

flag{_th2_7ru8_2iP_}
[RCTF2019]draw

丢给豆包问问

代码
import turtle
import random
# ===================== 核心修改:自动适配窗口 =====================
screen = turtle.Screen()
# 设置窗口可扩展,追踪海龟位置
screen.screensize(canvwidth=2000, canvheight=2000) # 扩大画布尺寸
screen.setworldcoordinates(-1000, -1000, 1000, 1000) # 设置坐标范围(足够大)
# 初始化海龟
t = turtle.Turtle()
t.speed(0) # 最快速度
screen.colormode(255)
# 定义随机选色函数
def random_color():
colors = ['red', 'orange', 'yellow', 'green', 'blue', 'violet']
return random.choice(colors)
# ===================== 严格按指令执行 =====================
t.reset() # cs → 清屏+归位
# pu lt 90 fd 500 rt 90
t.penup()
t.left(90)
t.forward(500)
t.right(90)
# pd fd 100 rt 90
t.pendown()
t.forward(100)
t.right(90)
# repeat 18[fd 5 rt 10]
for _ in range(18):
t.forward(5)
t.right(10)
# lt 135 fd 50 lt 135
t.left(135)
t.forward(50)
t.left(135)
# pu bk 100 pd
t.penup()
t.backward(100)
t.pendown()
# setcolor pick [红橙黄绿蓝紫]
t.color(random_color())
# repeat 18[fd 5 rt 10]
for _ in range(18):
t.forward(5)
t.right(10)
# rt 90 fd 60 rt 90 bk 30 rt 90 fd 60
t.right(90)
t.forward(60)
t.right(90)
t.backward(30)
t.right(90)
t.forward(60)
# pu lt 90 fd 100 pd rt 90 fd 50 bk 50
t.penup()
t.left(90)
t.forward(100)
t.pendown()
t.right(90)
t.forward(50)
t.backward(50)
# setcolor pick [红橙黄绿蓝紫]
t.color(random_color())
# lt 90 fd 50 rt 90 fd 50
t.left(90)
t.forward(50)
t.right(90)
t.forward(50)
# pu fd 50 pd fd 25 bk 50 fd 25 rt 90 fd 50
t.penup()
t.forward(50)
t.pendown()
t.forward(25)
t.backward(50)
t.forward(25)
t.right(90)
t.forward(50)
# pu setcolor pick [红橙黄绿蓝紫]
t.penup()
t.color(random_color())
# fd 100 rt 90 fd 30 rt 45 pd
t.forward(100)
t.right(90)
t.forward(30)
t.right(45)
t.pendown()
# fd 50 bk 50 rt 90 fd 50 bk 100 fd 50 rt 45
t.forward(50)
t.backward(50)
t.right(90)
t.forward(50)
t.backward(100)
t.forward(50)
t.right(45)
# pu fd 50 lt 90 pd fd 50 bk 50 rt 90
t.penup()
t.forward(50)
t.left(90)
t.pendown()
t.forward(50)
t.backward(50)
t.right(90)
# setcolor pick [红橙黄绿蓝紫] fd 50
t.color(random_color())
t.forward(50)
# pu lt 90 fd 100 pd fd 50 rt 90 fd 25 bk 25 lt 90 bk 25 rt 90 fd 25
t.penup()
t.left(90)
t.forward(100)
t.pendown()
t.forward(50)
t.right(90)
t.forward(25)
t.backward(25)
t.left(90)
t.backward(25)
t.right(90)
t.forward(25)
# setcolor pick [红橙黄绿蓝紫]
t.color(random_color())
# pu fd 25 lt 90 bk 30 pd rt 90 fd 25
t.penup()
t.forward(25)
t.left(90)
t.backward(30)
t.pendown()
t.right(90)
t.forward(25)
# pu fd 25 lt 90 pd fd 50 bk 25 rt 90 fd 25 lt 90 fd 25 bk 50
t.penup()
t.forward(25)
t.left(90)
t.pendown()
t.forward(50)
t.backward(25)
t.right(90)
t.forward(25)
t.left(90)
t.forward(25)
t.backward(50)
# pu bk 100 lt 90 setcolor pick [红橙黄绿蓝紫]
t.penup()
t.backward(100)
t.left(90)
t.color(random_color())
# fd 100 pd rt 90 arc 360 20
t.forward(100)
t.pendown()
t.right(90)
t.circle(20)
# pu rt 90 fd 50 pd arc 360 15
t.penup()
t.right(90)
t.forward(50)
t.pendown()
t.circle(15)
# pu fd 15 setcolor pick [红橙黄绿蓝紫]
t.penup()
t.forward(15)
t.color(random_color())
# lt 90 pd bk 50 lt 90 fd 25
t.left(90)
t.pendown()
t.backward(50)
t.left(90)
t.forward(25)
# pu home bk 100 lt 90 fd 100 pd arc 360 20
t.penup()
t.home()
t.backward(100)
t.left(90)
t.forward(100)
t.pendown()
t.circle(20)
# pu home
t.penup()
t.home()
# ===================== 额外优化:窗口可拖动/缩放 =====================
screen.title("Draw CTF - 所有图形可见")
screen.setup(width=1.0, height=1.0) # 窗口占满屏幕(可选)
# 保持窗口不关闭
turtle.done()
运行得到

flag{RCTF_HeyLogo}
[GKCTF 2021]签到
随便追踪一个流

发现他好像是在用Linux指令
导出http流

查看tmpshell(19).php
16进制转字符 -> base64解码 -> 逐行反序 -> 逐行base64解码 得到

ffllaagg{{}}WWeellcc))[删除] [删除] 00mmee__GGkkCC44FF__mm11ssiiCCCCCCCCCCCC!!
整理一下,去重,
flag{Welc0me_GkC4F_m1siCCCCCC!}
[CFI-CTF 2018]webLogon capture
随便找个流量进去看看

似乎在爆破密码,看了一圈全是密码错误,结果仔细一看这几个密码好像都一样
%20%43%46%49%7b%31%6e%73%33%63%75%72%33%5f%6c%30%67%30%6e%7d%20
URL解码之后就是 CFI{1ns3cur3_l0g0n}
flag{1ns3cur3_l0g0n}

浙公网安备 33010602011771号