第17天:信息打点-语言框架开发组件FastJsonShiroLog4jSpringBoot等

第十七天

Untitled

Untitled

本课意义

1.CMS识别到后期漏洞利用和代码审计
2.开发框架识别到后期漏洞利用和代码审计
3.开发组件识别到后期漏洞利用和代码审计

一、CMS指纹识别-不出网程序识别

1.概念

CMS指纹识别一般能识别到的都是以PHP语言开发的网页为主,其他语言开发的网页识别难度大

识别的意义就是向着对应目标使用对应的工具进行攻击

1.后端:

CMS:一般PHP开发居多源码程序(利用源码程序名去搜漏洞情况,源码去下载进行后期的代码审计)

2.前端:

JS框架(爬取更多的JS从里面筛选URL或敏感泄漏KEY等) 也是可以通过对JS代码逻辑进行代码审计

3.组件:

java居多,常见有过安全漏洞组件(shiro solr log4j sprintboot等)

4.框架:

php java python都有相对应的漏洞


2.Web架构:

1.最简单最入门的开发模型(功能代码全部手写)

最容易出现漏洞,程序员水平不一,没有第三方或团队的检测,单纯的自己写

2.结合开发框架的开发模型(以框架为核心实现功能)

第三方或团队的开发的封装代码框架,一般内置的过滤机制(框架漏洞)

3.结合开发框架外加组件模型(以框架为核心,组件为辅实现功能)

第三方或团队的开发的封装代码框架,一般内置的过滤机制(框架和组件漏洞)

CMS识别到后期漏洞利用和代码审计


二、开发框架识别-PHP&Python&Java

  1. **框架:**简单代码的一个整合库,如果使用框架就只需要学习使用框架调用即可
  2. 例子:文件上传功能是需要很多代码来实现的,框架把这个代码进行封封装,调用即可
  3. **影响:**如果采用框架开发,代码的安全 性是取决于框架的过滤机制
  4. 组件:第三方的功能模块(日志记录,数据监控,数据转换等)

开发框架识别到后期漏洞利用和代码审计


三、开发组件识别-Java常见安全漏洞组件

52类110个主流Java组件和框架介绍:

https://blog.csdn.net/agonie201218/article/details/125300729

开发组件识别到后期漏洞利用和代码审计


四、环境复现

1.指纹识别-本地工具-GotoScan(内网)

1进入https://github.com/newbe3three/gotoscan下载程序

image-20240325123618490

2.下载完成后进入CMD执行程序,根据项目说明输入参数

image-20240325123752700

3.对目标进行探测,仅限内网

image-20240325123839216


2.Python-开发框架-Django&Flask

1.Django
1.使用FOFA寻找使用Django框架搭建的网站

image-20240325125240887

2.使用识别插件进行查看

image-20240325125302230

3.在Set-Cookie中包含csrftoken字段来判断是否使用了Django搭建的网站

image-20240325125332308


2.Flask
1.使用FOFA寻找使用Flask框架搭建的网站

image-20240325130056136

2.使用识别插件进行查看

image-20240325130133828

3…在ETag中包含flask字段来判断是否使用了Flask搭建的网站,其他字段也有可能包含有flask字段,可以辅助判断

image-20240325130210289


3.PHP-开发框架-ThinkPHP&Laravel&Yii

1.ThinkPHP
1.使用鹰图寻找使用ThinkPHP框架搭建的网站

image-20240325135206797

2.使用识别插件进行查看

image-20240325135239192

3.查看返回包是否存在X-Powered-By: ThinkPHP字段进行判断

image-20240325135534191


2.Laravel
1.使用FOFA寻找使用Laravel框架搭建的网站

image-20240325140038548

2.使用识别插件进行查看

image-20240325140054101

3.查看返回包是否存在Set-Cookie.XSRF以及Set-Cookie.laravel_session中特征的格式

image-20240325140119186


3.Yii
1.使用FOFA寻找使用Yii框架搭建的网站

image-20240325140611723

2.使用识别插件进行查看

image-20240325140638942

3.查看返回包是否存在Set-Cookie.YII_CSRF以及Set-Cookie:_csrf-frontend特征中的格式

image-20240325140709355


4.Java-框架组件-FastJson&Shiro&Solr&Spring

1.Fastjson/Jackson

在提交JSON数据包中修改测试:

-Fastjson组件会把01解析成1

-Jackson组件在解析01时会抛出异常

https://forum.butian.net/share/1679

https://www.iculture.cc/forum-post/24115.html

1.Fastjson会把01解析成1:

image.png

2.Jackson在解析01时会抛出异常:

image.png


2.Shiro
1.使用FOFA寻找使用Shiro框架搭建的网站

image-20240325155006175

2.查看页面是否有Shiro

image-20240325160215757

3.使用F12抓取数据包的index.html包,查看返回包的cookie中是否存在rememberMe=deleteMe字段

3.Struts2
1.使用FOFA寻找使用Struts2框架搭建的网站

image-20240325160548764

2.一般使用struts2框架后缀带do或action,可以尝试进行利用

image-20240325160946039


4.Springboot
1.通过web应用程序网页标签的小绿叶图标

image-20240325013200404

2.通过springboot框架默认报错页面

image-20240325013634780


5.Solr识别
1.使用FOFA寻找使用Solr框架搭建的网站

image-20240325161247601

2.一般开放8983端口,访问页面也可以探针到

image-20240325014228218

6.Solr靶场搭建和漏洞复现
1.搭建靶场
2.获取到相应靶场网址,随便输入用户名和密码,但是要注意点击Remember me

Untitled

3.在检查中网络获取数据包,找到登陆包doLogin,查看请求头中有set-Cookie:remeberMe=deleteMe。证明:该靶场或网址是Shiro搭建

Untitled

4.打开ONE-FOX集成工具箱_V3.0魔改版_by狐狸中的shiro反序列化漏洞综合利用工具
1.输入目标靶场网址

Untitled

2.检测当前密钥

Untitled

3.爆破密钥

Untitled

4.检测当前利用链,爆破利用链及回显

Untitled

5.命令执行:id 发现返回用户组群,证明权限获得成功

Untitled

6.使用命令执行:ls 获取到文件目录

Untitled

Untitled

7.继续使用内存木马置入进网址

Untitled

8.打开哥斯拉→目标→添加→输入置入木马的路径, 密码,选择java的有效载荷→测试连接→成功,点击添加

Untitled

9.双击进入→文件管理:获取到服务器的目录

Untitled


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/816088.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Unix环境高级编程-学习-09-多线程之读写锁与条件变量(包含线程池的部分实现与测试验证)

目录 一、多线程相关文章链接 二、自由抒发 1、读写锁 2、条件变量 三、函数介绍 1、pthread_rwlock_init (1)声明 (2)作用 (3)参数 (4)返回值 (5)…

深度学习学习日记4.14 数据增强 Unet网络部分

数据增强 transforms.Compose([:这表示创建一个转换组合,将多个数据转换操作串联在一起 transforms.RandomHorizontalFlip():这个操作是随机水平翻转图像,以增加数据的多样性。它以一定的概率随机地水平翻转输入的图像。 transfo…

C#去掉字符串中所有匹配的字符String.Replace方法

在C#中,如果你想要去掉字符串中所有匹配的字符,你可以使用String.Replace方法。这个方法会找到字符串中所有匹配的子字符串,并将它们替换为另一个字符串。如果你想要去掉这些字符,你可以将它们替换为空字符串("&q…

linux redis部署教程

单节点部署: 单节点部署 Redis 非常简单,只需要在一台服务器上安装 Redis 服务即可。以下是在 Linux 环境下的单节点部署步骤: 安装 Redis:打开终端,并执行以下命令来更新软件包列表并安装 Redis 服务器:…

29、链表-删除链表的倒数第N个结点

思路: 首先找到倒数第N个结点 第一种方式 先统计链表的节点数,然后再次遍历len-N即可得到倒数第N个结点,然后将前一个节点的next指针指向next的下一个节点使用快慢指针,快指针先跑N个结点然后慢指针开始跑,等快指针到达尾节点后…

多因子模型的因子选取

经典的Alpha模型是一些多因子模型,用于预测Alpha模型的信息比率,从而来判断判断模型的好坏。这里我们所说的信息比率是相对收益率除以非系统性风险,所以当我们在进行因子选择的时候,我们一定不能选取系统性风险模型(例…

免费VPS云服务器汇总,最长永久免费使用

目前云服务器市场竞争很激烈,为了方便吸引上云,很多云计算服务商提供免费试用云服务器,下面给大家整理汇总一下免费VPS云服务器,最长永久免费使用! 一、雨云(优惠码:ABC) 活动地址:…

jquery如何在当前元素的前面添加一个同级子元素

在jQuery中,如果你想在当前元素的前面添加一个同级子元素,你可以使用.before()方法。但是,请注意,.before()方法实际上是在当前元素的前面插入内容,而不是作为它的子元素。如果你想在当前元素内部、但在其所有子元素之…

2D AI交互数字人:赋能文旅、金融、政务、教育行业数字化转型

AI交互数字人结合了语音合成、语音识别、语义理解、图像处理、机器翻译、虚拟形象驱动等多项AI核心技术,可以提供服务导览、业务咨询、语音互动交流、信息播报等智能服务。 其中,2D AI交互数字人是采集真人视频,通过AI训练,生成逼…

认识OpenEuler操作系统

引言 在信息技术日新月异的时代,开源软件已成驱动创新的核心动能,其中,OpenEuler作为一款冉冉升起的开源操作系统典范,凭借其对开源精神的坚守与技术创新的不懈追求,自亮相以来便引发了全球关注。本文将全方位深挖Open…

Xcode 15.0 新 #Preview 预览让 SwiftUI 界面调试更加悠然自得

概览 从 Xcode 15 开始,苹果推出了新的 #Preview 宏预览机制,它无论从语法还是灵活性上都远远超过之前的预览方式。#Preview 不但可以实时预览 SwiftUI 视图,而且对 UIKit 的界面预览也是信手拈来。 想学习新 #Preview 预览的一些超实用调试…

使用新一代一站式 AI Bot 开发平台扣子coze,搭建我的第一个AI Bot(前端魔法师) ,

目录 1.概述​ 2.功能与优势 3.使用扣子 4.人设与回复逻辑 5.添加插件 6.预览与调试 7.发布bot Store 8.环境大家体验(给大家内置了比较屌的插件) 9.推荐阅读: 1.概述​ 扣子是新一代一站式 AI Bot 开发平台。无论你是否有编程基础…

揭示API威胁的攻击趋势(下)

文章目录 前言三、行业趋势凸显供应链攻击危险1、案例研究2、API成为新的数据泄露载体四、提高可见性:管理API资产生命周期的关键1、照亮阴影2、实现文档化3、强化API态势4、加强威胁检测和响应5、发展更强大的进攻性方法前言 API是组织数字化转型的核心。然而,API的存在也增…

iOS------SDWebImage源码

一,简介 一个异步图片下载及缓存的库 特性: 一个扩展UIImageView分类的库,支持加载网络图片并缓存图片异步图片下载器异步图片缓存和自动图片有效期限管理支持GIF动态图片支持WebP背景图片减压保证同一个URL不会再次下载保证无效的URL不会…

Web前端 Javascript笔记3

1、垃圾回收机制 内存中的生命周期 1、内存分配 2、内存使用(读写) 3、内存回收,使用完毕之后,垃圾回收器完成 内存泄漏:该回收的,由于某些未知因素,未释放,叫做内存泄漏 栈&#xf…

构建CICD

由于公司要求构建自己的CICD流程,基于公司内部搭建的服务平台去搭建自动打包流程,在这个过程中遇到了几个节点记录一下。 公司内部号称有自己的一套软管平台,实际内核都是基于Jekins的一套机制,不同的是有些参数可以自定义&#…

leetcode46--全排列

题目 给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。 示例 1: 输入:nums [1,2,3] 输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]示例 2: 输入:…

Vue新手入门

1 Vue概述 官网:https://cn.vuejs.org/ 1、什么是Vue.js Vue.js 是目前最火的一个前端框架,React是最流行的一个前端框架(React除了开发网站,还可以开发手机App, Vue语法也是可以用于进行手机App开发的,需要借助于W…

C语言数组的初始化方法大全

在C语言中,数组初始化主要有以下几种方法: 1.完全初始化:在声明数组的同时给出数组所有元素的值。 int arr[5] {1, 2, 3, 4, 5}; // 初始化一个整型数组 2.部分初始化:只给数组的前面一部分元素赋值&am…

Bridge 桥接

意图 将抽象部分与其显示部分分离,使他们都可以独立地变化。 结构 其中: Abstraction定义抽象类的接口,维护一个指向Implementer类型对象的指针。RefinedAbstraction扩展由Abstraction定义的接口。Implementor定义实现类的接口&#xff0c…