【CTF-MISC-流量】WordPress6.9版本与social warfare插件的漏洞利用分析
题目KnightCTF 2026https://2026.knightctf.com/第一题 ExploitationThe attacker appears to have identified a web application running on our server. We need to determine what application was being targeted. Find the version and username associated with the application in the capture.Download: pcap2.pcapngFlag Format: KCTF{version_username}Author: TareqAhamed (0xt4req)翻译攻击者似乎识别出我们服务器上运行的一个网页应用。我们需要确定具体针对的是哪个应用。查找捕获中应用关联的版本和用户名。第二题 Vulnerability ExploitationOur web application was compromised through a vulnerable plugin. The attacker exploited a known vulnerability to gain initial access. Identify the vulnerable plugin and its version that was exploited.Use pcap2.pcapng to solve this challenge.Flag Format KCTF{plugin_name_version}Author: TareqAhamed (0xt4req)翻译我们的网页应用被一个易受攻击的插件攻破了。攻击者利用已知漏洞获得初始访问权限。识别被利用的漏洞插件及其版本。解题第一题加载流量包方案一先确认攻击者和目标系统再寻找登陆界面查看HTTP协议因为题目中说了是运行的网页应用所以大概率是HTTP协议筛选发现大部分URL都是wordpress同时也确定目标系统为192.168.1.102WordPress是最流行的网页应用之一也是常见的攻击目标。WordPress流量包含版本信息、用户名、插件信息等关键数据这些正是题目要求查找的内容。_ws.col.protocolHTTP筛选200OK的请求发现很多请求都是304或者404我们只需要查看返回的成功请求即可筛选200OK的请求。同时根据404请求的目的地址和源地址知道了攻击者192.168.1.104因为404响应是从系统发送给攻击者的同时通常不会有人访问页面显示404只有攻击者才会尝试访问未知页面返回404执行筛选(_ws.col.protocolHTTP)(http.response.code200)寻找登录页面大体浏览一下URI优先查看登陆页面登录页面 wp-login.php 是WordPress的公开端点 无需任何身份验证即可访问攻击者可以轻松获取登录页面内容这符合题目中攻击者的行为模式其他核心页面如后台管理页面需要登录才能访问无法被未授权攻击者访问登录页面加载了大量 WordPress核心CSS和JS文件 这些文件的URL中必然包含版本号确定插件版本每个登录页面里面都有插件版本ver6.9WordPress在其静态资源CSS、JS等的URL中添加版本号参数如?ver6.9用于缓存管理和版本控制。这是WordPress的官方版本标识机制所有核心资源使用相同的版本号这个版本号就是当前WordPress安装的版本。核心资源的版本号由WordPress系统自动生成无法通过简单配置修改能够准确反映实际版本。攻击者经常通过检查这些静态资源的版本号来识别目标系统的版本从而针对性地利用已知漏洞。通过检查多个核心资源的版本号如buttons.min.css?ver6.9、login.min.css?ver6.9等可以确认这是当前WordPress的实际版本。方案二寻找http中包含generator的流量进行筛选版本信息大多都在generator标签里面http containsgenerator其他的都是请求数据包只有45420这个数据包是响应数据包所以generator标签大概率在这个数据包里打开翻看确实发现了wordpress的版本信息寻找用户名/wp-json/wp/v2/users/ 是WordPress REST API的标准用户端点专门用于获取网站的用户列表。这是WordPress REST API的 标准用户端点。是一种特定类型的HTTP请求遵循REST架构风格用于获取或操作Web应用的资源。与普通POST请求不同WordPress的REST API默认情况下可能允许未授权访问用户信息攻击者可以直接通过API获取用户名等敏感数据这是攻击者获取敏感信息的便捷途径。获取用户名是攻击者后续进行暴力破解或其他攻击的重要前置步骤。该端点默认公开可访问会返回用户基本信息http.request.full_uri containswp-json/wp/v2/users查询到请求http://192.168.1.102/wordpress/index.php/wp-json/wp/v2/users/?per_page100page1查看响应信息发现用户名kadmin_user答案KCTF{6.9_kadmin_user}第二题查找插件相关流量http.request.full_uri containsplugins筛选200OK的请求发现大量插件请求的URL都是404或者301说明攻击者进行了大量的尝试这是我们只要200OK的表示攻击者成功获取到的插件信息(http.request.full_uri containsplugins)(http.response.code200)分析插件信息此时显示的插件信息就非常少了我们只需要查看wp-content/plugins/ 目录下的readme.txt为什么只关注wp-content/plugins/目录下的插件题目要求的是 第三方插件 的漏洞第三方插件都放在wp-content/plugins/ 目录下(http.request.full_uri containswp-content/plugins)(http.response.code200)分析readme.txtreadme.txt是 第三方插件的标准版本标识文件每个WordPress第三方插件都必须包含 readme.txt 文件这是WordPress.org插件目录的要求readme.txt 中包含 标准化的版本字段 Stable tag: - 插件的当前稳定版本Requires at least: - 最低WordPress版本要求Tested up to: - 测试通过的WordPress版本Changelog - 版本更新记录social-warfare插件的readme.txtthim-blocks插件的readme.txt分析这两个插件优先选择social-warfaresocial-warfare3.5.2版本存在已知的远程命令执行漏洞CVE-2019-9978该漏洞允许攻击者通过POST请求执行任意代码攻击者的扫描行为和POST请求符合该漏洞的利用特征攻击者成功利用此漏洞获得了初始访问权限虽然攻击者也查看了其他插件如thim-blocks但这些插件要么版本较新没有已知漏洞要么漏洞利用条件更苛刻不适合作为初始访问的漏洞答案KCTF{social_warfare_3.5.2}