第17天:信息打点-语言框架开发组件FastJsonShiroLog4j_笔记|小迪安全2023-2024|web安全|渗透测试|
第17天信息打点-语言框架开发组件FastJsonShiroLog4j_笔记|小迪安全2023-2024|web安全渗透测试一、信息打点00:241. 信息打点-语言框架开发组件技术分类Web语言/CMS/中间件/数据库/系统/WAF等系统操作系统/端口服务/网络环境/防火墙等应用APP对象/API接口/微信小程序/PC应用等架构CDN/前后端/云应用/站库分离/OSS资源等技术JS爬虫/敏感扫描/端口扫描/源码获取/接口泄漏等技术指纹识别/Github监控/CDN绕过/WAF识别/蜜罐识别等1CMS指纹识别技术特点主要针对PHP开发的Web应用如Discuz、WordPress、Ecshop等对Java/Python等语言开发的应用识别效果较差识别原理通过特征文件、目录结构、HTTP头等识别应用场景后期漏洞利用和代码审计的基础识别不到源码时需采用其他技术手段2开发框架识别框架定义开发模板简化特定功能的实现流程如文件上传功能常见框架PHPThinkPHP、Laravel、YiiPythonDjango、FlaskJavaSpring识别意义不同框架存在特定安全漏洞为后续渗透测试提供方向3开发组件识别02:47组件特点Java生态中广泛使用相比PHP更依赖组件作为功能扩展存在但可能引入安全风险高危组件fastjson反序列化漏洞shiro身份验证绕过log4j远程代码执行OA办公系统常见漏洞点4技术工具本地工具GotoScan识别方法通过报错回显识别如不闭合花括号测试特征字符串匹配默认配置差异分析5其他相关技术WAF产品创宇盾、宝塔、ModSecurity、玄武盾、OpenRASP蜜罐系统HFish、TeaPot、T-Pot、GlastopfCDN服务帝联、Cloudflare、网宿、七牛云、阿里云2. 开发框架和组件1快速讲解开发框架03:46框架定义框架是简单代码的整合库将常用功能封装成可调用的模块。例如文件上传功能原本需要大量代码实现框架将其封装后只需调用即可。开发优势使用框架开发时只需学习框架调用方式无需重复编写基础功能代码。安全影响采用框架开发的代码安全性取决于框架自身的过滤机制因此识别框架类型对安全评估至关重要。类比说明框架功能类似于编程中的函数将重复使用的功能封装后供多次调用。2快速讲解组件06:26组件定义第三方功能模块专门处理特定功能如日志记录、数据监控、数据转换等。与框架区别组件专注于单一功能实现而框架提供的是整体开发解决方案。典型示例网站可能需要单独的日志记录组件或数据监控组件来处理特定功能需求。3应用案例07:22例题GotoScan工具使用工具特点由Go语言实现的CMS指纹识别工具适用于内网环境解决联网平台无法识别内网系统的问题包含8000多条CMS识别规则约2000个CMS系统使用方法单目标扫描gotoscan.exe -host http://target.com批量扫描gotoscan.exe -hosts hosts.txt识别原理通过检测特定路径文件的MD5值或关键字特征来识别CMS类型应用场景当目标系统处于内网环境无法使用在线识别平台时该工具特别有用安全意义识别开发框架可帮助发现潜在安全漏洞例如Django框架存在SQL注入漏洞(CVE-2022-28346)实战应用在漏洞评估平台Vulfocus中框架类型是漏洞分类和检索的重要维度4网站架构16:06开发模型分类纯手写模型特点功能代码全部由程序员手动编写无框架或组件依赖安全风险最容易出现漏洞因为完全依赖程序员个人水平缺乏第三方安全检测机制适用场景教学演示、小型个人项目等简单开发需求框架开发模型核心特点以开发框架为核心实现功能如Django/Flask(Python)、ThinkPHP/Laravel(PHP)、Spring(Java)安全机制框架内置过滤机制安全性取决于框架本身的质量优势开发者只需学习框架调用方式无需从零实现基础功能框架组件模型组成结构框架作为核心配合第三方功能模块如FastJson、Shiro、Log4j等安全关注点需要同时考虑框架漏洞和组件漏洞典型案例OA办公系统等企业级应用常采用此架构框架与组件概念框架本质代码整合库将常用功能代码封装成可调用的库开发效率如文件上传功能框架已封装完整实现逻辑开发者只需调用接口学习曲线只需掌握框架API使用无需深入底层实现组件特性功能定位第三方专业模块日志记录、数据监控、格式转换等与API区别组件是完整功能模块API是接口调用规范典型实例FastJson数据转换、Shiro安全认证、Solr搜索安全测试要点纯手写代码测试策略全面功能测试重点关注业务逻辑漏洞风险原因缺乏标准化安全防护代码质量参差不齐框架开发攻击面集中检测框架已知漏洞如ThinkPHP RCE特殊情况注意半框架情况即部分使用框架、部分手写代码框架组件双重检测需同时验证框架和组件的安全补丁状态典型案例Log4j2远程代码执行漏洞影响范围分析指纹识别技术识别意义目标定位准确识别框架/组件版本才能针对性测试误判处理即使指纹显示无漏洞仍需检查自定义代码安全识别方法本地工具GotoScan(CMSEEK)适用于隔离环境在线平台FOFA、Quake等网络空间测绘引擎特征标识如X-Powered-By头、特定Cookie格式等实战技巧版本确认通过HTTP响应头、静态资源路径等交叉验证蜜罐识别注意HFish、TeaPot等常见蜜罐的特征架构识别实战意义测试效率精准测试识别架构后可快速匹配历史漏洞库规避风险避免对加固完善的框架做无效测试防御突破混合架构框架防护自定义代码的组合可能产生新的攻击面版本差异同一框架不同版本可能采用完全不同的安全机制测试局限黑盒限制无源码时只能依赖指纹识别和模糊测试误报处理需结合多维度证据确认漏洞真实存在5应用案例22:44例题vulfocus平台使用平台功能提供多种漏洞场景包含不同开发语言Go、PHP、Java等和漏洞类型CSRF、XSS、文件包含等支持按框架Django、Spring、Shiro等和数据库MySQL、Redis等筛选漏洞使用技巧平台环境可能存在刷屏干扰学习的情况部分漏洞需要登录会员才能查看详细信息例题vulfocus平台使用24:30漏洞识别方法通过平台可搜索特定框架如ThinkPHP的漏洞示例ThinkPHP 3.2.x存在代码执行漏洞CVE编号未显示注意事项部分漏洞信息需要开通会员才能完整查看平台数据可作为漏洞研究的参考但需结合其他来源验证例题Django网站识别25:37识别特征Set-Cookie字段通常包含csrftoken和expires参数管理后台路径常见/admin/login/路径响应头特征Server字段可能显示nginx或Werkzeug验证方法使用Wappalyzer等插件检测技术栈检查返回包中是否包含Django关键字示例网站邢台车用气瓶追溯系统39.106.203.245例题网站开发框架判断26:17Flask识别要点响应头特征可能包含WerkzeugFlask的WSGI工具Cookie特征类似Django但结构更简单常见路径可能暴露/static/等默认路径对比分析与Django相比Flask通常更轻量特征更少部分Flask应用会隐藏框架信息需结合其他特征判断注意事项不能仅凭单一特征判断框架类型示例中47.101.208.82:8008站点通过Werkzeug标识暴露Flask框架6Java开发框架和组件30:49识别框架和组件ThinkPHP网站识别30:55识别方法插件识别使用Wappalyzer等插件直接识别返回包特征查看X-Powered-By字段是否包含ThinkPHP图标特征ThinkPHP有特定的favicon.ico图标Cookie特征Set-Cookie中存在特定格式源码体系通过网站源码判断是否基于ThinkPHP开发经验判断熟悉ThinkPHP站点的URL结构和返回特征通过多次渗透测试积累的框架识别经验当工具无法识别时人工经验判断尤为重要ThinkPHP源码识别32:55源码特征源码说明中明确标注基于ThinkPHP开发目录结构包含ThinkPHP特有的MVC架构配置文件中有ThinkPHP特有的配置项核心文件引用ThinkPHP的命名空间开发模式许多CMS系统基于ThinkPHP二次开发表面看是不同的系统核心仍是ThinkPHP漏洞挖掘需关注底层框架而非表面CMS框架安全机制安全token框架内置CSRF防护机制生成固定token体现在Cookie中的XSRF-TOKEN字段Laravel的laravel_session字段Yii的_csrf字段这些固定特征可用于框架识别防护原理保证请求的唯一性和合法性防止跨站请求伪造攻击框架版本更新会调整安全机制其他PHP框架识别Laravel框架识别特征返回包中的X-Powered-By字段Cookie中的XSRF-TOKEN和laravel_session特定的目录结构和路由规则使用Blade模板引擎Yii框架识别特征Cookie中的_csrf字段特定的目录结构使用Gii代码生成器配置文件中的Yii特有配置项框架漏洞原理漏洞来源框架本身的安全漏洞会影响所有基于该框架的系统开发者不当使用框架特性可能导致安全漏洞二次开发时可能引入新的安全风险渗透测试建议先识别底层框架再针对性测试关注框架的已知漏洞和修复方案检查开发者是否正确使用框架安全机制Java组件概述组件特点种类繁多功能各异通常以jar包形式存在版本更新频繁漏洞修复快配置复杂容易产生安全问题注由于提供的课程记录主要聚焦于PHP框架的识别和分析关于Java组件部分的内容相对较少建议后续补充更多关于Java框架和组件的详细讲解内容。二、Java组件和框架41:001. Java Web开发41:141常见组件与技术栈Web容器: Tomcat、JBoss、WebLogic等是Java Web开发中常用的容器数据库连接: Hibernate、MyBatis等框架常用于连接MySQL、Oracle、SQL Server、PostgreSQL等数据库缓存技术: Redis是常用的缓存数据库消息队列: 用于异步处理和解耦系统组件负载均衡: 用于分配系统负载分布式技术: 包括分布式数据库、集群、大数据处理等日志系统: 如ELK(Elasticsearch, Logstash, Kibana)用于日志收集微服务架构: 用于构建松耦合的服务2功能组件与安全风险日志记录: 常用Log4j、Logback等组件其中Log4j曾爆出严重漏洞用户认证: 使用JWT、Shiro等安全框架进行身份验证文件处理:Office文件处理使用POI组件PDF处理有专门组件数据解析:JSON解析常用Jackson、Fastjson、GsonXML解析有特定组件安全警示: 约1/3的Java组件曾曝出安全问题需要特别关注3组件识别技术JSON处理组件识别识别方法:发送包含前导零的数字(如01)Fastjson会解析为1Jackson会抛出异常安全风险: 这些组件存在反序列化等漏洞Shiro框架识别特征标识:Cookie中存在rememberMedeleteMe字段是强大的Java安全框架提供身份验证、授权等功能实际案例: 北京大学医学部系统等实际案例验证Struts框架识别URL特征: 通常使用.do或.action后缀现状: 老牌框架现在使用较少2. Spring Boot53:361识别特征错误页面: 有特定的默认错误页面样式favicon图标: 使用特定的绿色叶子图标实际案例: 多个网站因未修改默认图标而被识别2Solr搜索组件端口特征: 默认使用8983端口管理界面: 有特定的管理界面和图标功能: 是基于Lucene的全文搜索服务器3安全注意事项Log4j漏洞: 需要特别关注曾造成广泛影响组件扫描: 使用专业工具扫描已知漏洞组件防护措施: 及时更新组件版本修复已知漏洞注本笔记完全基于课程内容整理保留了所有关键技术点、识别方法和实际案例按照康奈尔笔记法结构化呈现便于复习和记忆。3. 识别Java组件和框架的意义58:391识别意义快速利用漏洞识别出特定组件或框架后可直接使用对应漏洞利用工具进行攻击如Fastjson、Spring Boot等都有专门的漏洞利用工具针对性测试不同组件/框架存在不同的安全漏洞特征识别后能针对性地进行安全测试提高效率避免盲目扫描直接针对已知漏洞组件进行测试可大幅提升渗透效率2常见漏洞组件JAVA组件Log4jFastjsonShiroStruts2Spring BootPHP框架ThinkPHPLaravelYii3识别技术响应包特征观察HTTP响应头、错误页面等特征信息固定路径检查特定组件的默认路径或文件端口特征某些组件会使用固定端口提供服务ICO图标部分框架有独特的favicon.ico工具识别使用网络空间测绘平台如FOFA专用识别插件/工具4实际利用案例利用流程识别出Shiro框架使用RememberMe字段检测漏洞利用反序列化工具执行命令植入内存马获取权限关键点需要点击记住我功能触发特征工具可自动检测密钥和利用链成功后可执行系统命令或植入Webshell5与CMS识别的关系CMS识别针对完整源码程序可通过程序名直接搜索已知漏洞适合进行代码审计组件/框架识别针对底层技术组件需要专门的漏洞利用工具通常无法通过CMS识别发现6安全测试思路信息收集先行先进行全面信息收集再针对性测试工具辅助判断合理使用自动化工具提高效率人工分析验证对工具结果进行人工验证和分析多层测试从CMS到组件/框架的层级式测试方法三、思维导图总结01:36:121. 信息收集方法分类web信息收集: 已告一段落后续课程将转向其他方向非web信息收集: 包括影院信息、网盘信息、微信公众号和APP等2. 网盘信息收集字典工具: 网上有现成的字典工具可供使用方法特点: 相对简单可以快速掌握基本收集技巧3. 微信公众号信息收集收集重点:开发厂商信息版本信息资源信息与web关系: 本质上仍可能涉及web技术但重点在于非web层面的信息4. APP信息收集核心内容:开发厂商信息收集版本信息分析资源信息提取潜在泄露信息筛查深入分析: 更专业的内容将在APP分析专项课程中讲解5. PC应用信息收集主要方法: 抓包技术技术难点:需要破解才能获取准确信息涉及灰色地带技术局限性: 不如移动端应用信息收集系统化四、知识小结知识点核心内容考试重点/易混淆点难度系数CMS识别技术主要针对PHP开发的Web应用通过路径文件MD5值识别内网环境需使用gotoscan工具 vs 外网平台识别⭐⭐开发框架概念代码模板整合如文件上传功能封装分为手写代码/框架开发/框架组件三种模式框架过滤机制决定安全性 vs 程序员错误使用框架⭐⭐⭐Python框架识别DjangoCSRF token特征/Flask固定响应头图标泄露 vs 数据包特征分析⭐⭐PHP框架漏洞ThinkPHP/Yii历史漏洞高发通过响应头/cookie/图标识别CMS识别不到时需框架特征分析⭐⭐⭐⭐Java组件风险Shiroremember me字段/Solr8983端口/Log4j等高风险组件组件漏洞影响范围大于框架本身⭐⭐⭐⭐⭐漏洞利用链识别框架→匹配历史漏洞→使用专用工具如Shiro反序列化工具黑盒测试中组件识别比框架识别更关键⭐⭐⭐⭐信息收集体系CMS识别→框架识别→组件识别→漏洞库匹配前端JS分析 vs 后端组件分析⭐⭐⭐WAF识别技术拦截页面特征分析如雷池/长亭特有拦截页云WAF vs 硬件WAF识别差异⭐⭐CDN绕过方法子域名探测/国外IP访问/历史记录查询真实IP获取的六种技术路线⭐⭐⭐蜜罐识别特征非常用端口开放/超量信息诱饵/不自然延迟低交互蜜罐 vs 高交互蜜罐⭐⭐⭐⭐

相关新闻

RabbitMQ vs Kafka:大数据场景下的消息队列选型指南

RabbitMQ vs Kafka:大数据场景下的消息队列选型指南

RabbitMQ vs Kafka:大数据场景下的消息队列选型指南 关键词:RabbitMQ、Kafka、消息队列、大数据、选型指南、吞吐量、低延迟 摘要:在大数据处理领域,消息队列是分布式系统的核心组件,承担着异步通信、流量削峰、解耦服务等关键任务。RabbitMQ和Kafka作为两种主流消息队列系…

2026/7/5 22:57:51 阅读更多 →
AI原生应用安全防护:从理论到实践的全面指南

AI原生应用安全防护:从理论到实践的全面指南

AI原生应用安全防护:从理论到实践的全面指南 1. 引入与连接:AI安全的隐形战场 开场故事:被操纵的预测 2017年,一个国际知名的AI招聘工具被发现存在严重的性别偏见,对女性候选人评分普遍偏低。这并非开发者有意为之,而是AI系统从历史招聘数据中"学习"并放大了…

2026/5/17 5:57:18 阅读更多 →
高斯混合概率假设密度滤波器(GM-PHD)研究附Matlab代码

高斯混合概率假设密度滤波器(GM-PHD)研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 🍎 往期回顾关注个人主页:Matlab科研工作室 🍊个人信条:格物致知,完整Matlab代码及仿真…

2026/5/17 5:57:18 阅读更多 →

最新新闻

零基础PMP备考时间表(推荐4个月 / 16周计划)

零基础PMP备考时间表(推荐4个月 / 16周计划)

零基础PMP备考时间表(推荐4个月 / 16周计划) 零基础考生需要更多系统学习时间,总投入约200-280小时。以下是专为零基础设计的16周详细时间表,假设你有全职工作(工作日每天2-3小时,周末4-8小时)。…

2026/7/6 5:22:34 阅读更多 →
终极指南:如何用仲景中医大语言模型开启你的AI中医助手之旅

终极指南:如何用仲景中医大语言模型开启你的AI中医助手之旅

终极指南:如何用仲景中医大语言模型开启你的AI中医助手之旅 【免费下载链接】CMLM-ZhongJing 首个中医大语言模型——“仲景”。受古代中医学巨匠张仲景深邃智慧启迪,专为传统中医领域打造的预训练大语言模型。 The first-ever Traditional Chinese Medi…

2026/7/6 5:22:34 阅读更多 →
AI 数据报告质检:漂亮结论要经得起三张表验证

AI 数据报告质检:漂亮结论要经得起三张表验证

AI 数据报告质检:漂亮结论要经得起三张表验证 一、报告自动成文之后,质检不能只看错别字 AI 可以很快生成数据报告。趋势总结、异常说明、业务建议都能写得像模像样。但数据报告最重要的不是文笔,而是结论是否被数据支持。自动生成后&#xf…

2026/7/6 5:16:33 阅读更多 →
REPENTOGON脚本扩展器:解锁《以撒的结合》MOD开发新维度

REPENTOGON脚本扩展器:解锁《以撒的结合》MOD开发新维度

REPENTOGON脚本扩展器:解锁《以撒的结合》MOD开发新维度 【免费下载链接】REPENTOGON Script extender for The Binding of Isaac: Repentance 项目地址: https://gitcode.com/gh_mirrors/re/REPENTOGON REPENTOGON脚本扩展器是《以撒的结合:忏悔…

2026/7/6 5:12:32 阅读更多 →
3个暗黑破坏神2存档编辑难题,如何用免费Web工具完美解决?

3个暗黑破坏神2存档编辑难题,如何用免费Web工具完美解决?

3个暗黑破坏神2存档编辑难题,如何用免费Web工具完美解决? 【免费下载链接】d2s-editor 项目地址: https://gitcode.com/gh_mirrors/d2/d2s-editor 你是否曾为暗黑破坏神2的存档问题而烦恼?角色进度丢失、装备损坏、或者想尝试新build…

2026/7/6 5:10:31 阅读更多 →
毕设分享 深度学习手写数字识别系统(源码+论文)

毕设分享 深度学习手写数字识别系统(源码+论文)

文章目录 0 前言1 项目运行效果2 深度学习手写字符识别原理2.1 结构解析2.2 C1层2.3 S2层S2层和C3层连接 2.4 F6与C5层 3 写数字识别算法模型的构建3.1 输入层设计3.2 激活函数的选取3.3 卷积层设计3.4 降采样层3.5 输出层设计 4 网络模型的总体结构5 部分实现代码6 最后 0 前言…

2026/7/6 5:08:31 阅读更多 →

日新闻

H2 与 MySQL 单元测试兼容性:5 个关键 SQL 语句差异与规避方案

H2 与 MySQL 单元测试兼容性:5 个关键 SQL 语句差异与规避方案

H2与MySQL单元测试兼容性:5个关键SQL语句差异与规避方案1. 单元测试中的数据库兼容性挑战在Java开发领域,单元测试是保证代码质量的重要环节。当应用涉及数据库操作时,测试环境的搭建往往成为开发者的痛点。H2数据库因其轻量级、内存模式和快…

2026/7/6 0:01:17 阅读更多 →
Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘

Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘

Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘 【免费下载链接】rbtray A fork of RBTray from http://sourceforge.net/p/rbtray/code/. 项目地址: https://gitcode.com/gh_mirrors/rb/rbtray 你是否厌倦了Windows任务栏上密密麻麻的图标&…

2026/7/6 0:01:17 阅读更多 →
Visual C++ 运行时库一键安装终极指南:告别DLL缺失烦恼

Visual C++ 运行时库一键安装终极指南:告别DLL缺失烦恼

Visual C 运行时库一键安装终极指南:告别DLL缺失烦恼 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 你是否曾经遇到过这样的情况:下载了…

2026/7/6 0:05:19 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

月新闻