BUUCTF刷题MISC[十一] (101-104)

刷题随笔,不足的地方望大佬指正

刷题网址BUUCTF:https://buuoj.cn/challenges
c90547438437b196ad2b0e046ecf0fe3

目录

image

[GUET-CTF2019]虚假的压缩包

image
虚假的压缩包是伪加密,修复即可解压得到key.txt
image
典型 RSA 小指数、小明文攻击
c = m^e(modn)密文c=26
m=5,输入发现错了,哦,是“答案是5”
解压得到的图片修改高宽
联想截图_20260210164005
对亦真亦假进行异或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
image
字频分析没发现什么,考虑是doc文档的隐写,全选复制到浏览器看看
image

flag{_th2_7ru8_2iP_}

[RCTF2019]draw

image
丢给豆包问问
image
代码

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()

运行得到
image
flag{RCTF_HeyLogo}

[GKCTF 2021]签到

随便追踪一个流
image
发现他好像是在用Linux指令
导出http流
image
查看tmpshell(19).php
16进制转字符 -> base64解码 -> 逐行反序 -> 逐行base64解码 得到
image
ffllaagg{{}}WWeellcc))[删除] [删除] 00mmee__GGkkCC44FF__mm11ssiiCCCCCCCCCCCC!!
整理一下,去重,
flag{Welc0me_GkC4F_m1siCCCCCC!}

[CFI-CTF 2018]webLogon capture

随便找个流量进去看看
image
似乎在爆破密码,看了一圈全是密码错误,结果仔细一看这几个密码好像都一样
%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}

posted @ 2026-02-10 18:43  ruye07  阅读(7)  评论(0)    收藏  举报