第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


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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

springboot-tomcat冲突

maven tomcat版本冲突异常 记录一个错误 在项目启动时报错: java.lang.AbstractMethodError: org.apache.tomcat.websocket.server.WsSessionListener.sessionCreated(Ljavax/servlet/http/HttpSessionEvent;)V 引入Session报错。 原因:Springboot默…

数据仓库—维度建模—维度表设计

维度表 维度表(Dimension Table)是数据仓库中描述业务过程中各种维度信息的表,用于提供上下文和描述性信息,以丰富事实数据的分析 维度表是维度建模的灵魂所在,在维度表设计中碰到的问题(比如维度变化、维度层次、维度一致性、维度整合和拆分等)都会直接关系到维度建模…

基于R语言实现的负二项回归模型【理解与实现】-理解负二项回归模型和泊松回归模型之间的区别

前言 我们可以在R语言中使用MASS包中的glm.nb函数来拟合负二项模型,以及使用glm函数来拟合泊松模型。以下是一个详细的过程,包括模拟数据的生成、模型的拟合、结果的比较和解释。 需要的包 if (!require("MASS")) install.packages("M…

【Leetcode每日一题】 分治 - 颜色分类(难度⭐⭐)(57)

1. 题目解析 题目链接:75. 颜色分类 这个问题的理解其实相当简单,只需看一下示例,基本就能明白其含义了。 2.算法原理 算法思路解析 本算法采用三指针法,将数组划分为三个区域,分别用于存放值为0、1和2的元素。通过…

CentOS 7安装Zookeeper

说明:本文介绍如何在CentOS 7操作系统下使用Zookeeper 下载安装 首先,去官网下载所需要安装的版本,我这里下载3.4.9版本; 上传到云服务器上,解压 tar -xvf zookeeper-3.4.9.tar.gz修改配置 进入Zookeeper目录下的co…

3. 安装arrach结构的Mysql

提示:arm的centos上面安装arrach结构的Mysql 文章目录 前言一、查看已经安装过的并卸载mysql二、创建mysql用户组1.设置用户组2. 安装3.设置启动4.查看密码5.修改登录密码6.授权7.修改连接8.设置参数 常见问题排查1. 启动失败查看:2. 用户操作3. 踩坑解决…

【已开源】​基于stm32f103的爬墙小车

​基于stm32f103的遥控器无线控制爬墙小车,实现功能为可平衡在竖直墙面上,并进行移动和转向,具有超声波防撞功能。 直接上: 演示视频如:哔哩哔哩】 https://b23.tv/BzVTymO 项目说明: 在这个项目中&…

Unity 2D让相机跟随角色移动

相机跟随移动 最简单的方式通过插件Cinemachine 在窗口/包管理器选择全部找到Cinemachine,导入。然后在游戏对象/Cinemachine创建2D Camera。此时层级中创建一个2D相机。选中人物拖入检查器Follow。此时相机跟随人物移动。 修改相机视口距离 在检查器中Lens下调正…

linux学习:文件属性

在操作文件的时候,经常需要获取文件的属性,比如类型、权限、大小、所有者等等, 这些信息对于比如文件的传输、管理等是必不可少的,而这些信息 这三个函数的功能完全一样,区别是:stat( )参数是一个文件的名字…

UI设计/交互设计/视觉设计项目汇报/作品集Figma/PPT模板

作为UI设计/交互设计/视觉设计师,创建作品集对于向潜在客户或雇主展示您的技能、创造力和风格至关重要。以下分步指南可帮助您创建令人印象深刻的作品集: 选择您的最佳作品:选择您最强大且最相关的设计项目,将其纳入您的作品集。…

Java应用中文件上传安全性分析与安全实践

✨✨谢谢大家捧场,祝屏幕前的小伙伴们每天都有好运相伴左右,一定要天天开心哦!✨✨ 🎈🎈作者主页: 喔的嘛呀🎈🎈 目录 引言 一. 文件上传的风险 二. 使用合适的框架和库 1. Spr…

CCF区块链论文录用资讯--ICDE 2024

ICDE是CCF A类会议 (数据库/数据挖掘/内容检索) 其2024录用了8篇区块链论文 Database technology for Blockchains I Efficient Partial Order Based Transaction Processing for Permissioned Blockchains (针对许可区块链的高效的基于偏序…

Niobe开发板OpenHarmony内核编程开发——事件标志

本示例将演示如何在Niobe Wifi IoT开发板上使用cmsis 2.0 接口使用事件标志同步线程 EventFlags API分析 osEventFlagsNew() /// Create and Initialize an Event Flags object./// \param[in] attr event flags attributes; NULL: default values./// \return e…

openstack安装dashboard后登录网页显示404错误

1. 2.进入该目录vim /etc/httpd/conf.d/openstack-dashboard.conf 增加这一行 WSGIApplicationGroup %{GLOBAL} 重启httpd后就可以访问了

Devin AI: The World’s First AI Software Engineer

Devin AI是Cognition AI团队推出的一款名为Devin的人工智能软件工程师,它被誉为世界上第一个完全自主的AI软件工程师。Devin AI在2024年3月12日发布,并在SWE-bench编码基准测试中设立了新的技术标杆。 Devin AI具备多项强大的能力,包括学习如…

数据结构与算法——20.B-树

这篇文章我们来讲解一下数据结构中非常重要的B-树。 目录 1.B树的相关介绍 1.1、B树的介绍 1.2、B树的特点 2.B树的节点类 3.小结 1.B树的相关介绍 1.1、B树的介绍 在介绍B树之前,我们回顾一下我们学的树。 首先是二叉树,这个不用多说&#xff…

【5G PHY】5G无线链路监测原理简述

博主未授权任何人或组织机构转载博主任何原创文章,感谢各位对原创的支持! 博主链接 本人就职于国际知名终端厂商,负责modem芯片研发。 在5G早期负责终端数据业务层、核心网相关的开发工作,目前牵头6G算力网络技术标准研究。 博客…

网络篇11 | 网络层 ICMP

网络篇11 | 网络层 ICMP 01 简介02 报文格式1)Type(类型)2)Code(代码)3)Checksum(校验和)4)ICMP数据部分 03 ICMP数据抓包1)类型 8:回显请求(Echo Request)2)类型 13&…

产生死锁的四个必要条件

产生死锁的四个必要条件 互斥使用: 一个资源每次只能被一个线程使用。这意味着如果一个线程已经获取了某个资源(比如锁),那么其他线程就必须等待,直到该线程释放资源。 不可抢占: 已经获得资源的线程在释放资源之前,不…

MySQL优化表,表的碎片整理和空间回收,清理空间

1.sql -- 查看表占用空间大小。简单查询可以用show table status like blog_visit; select data_length, index_length, data_free, o.* from information_schema.tables o where table_schema in (lishuoboy-navigation) and table_nameblog_visit order by data_length des…