java反序列化结合内存马注入
前面学习了java 的cc链子 和 内存马的基础知识之后 后续去做ctf 题目 发现 还是不会写
因为像我这中代码量不多 java没什么基础的 就是配置这个题目的环境都要研究半天 也是搁置了好久 才开始 继续研究这个方面的知识
还是先来回顾简单回顾一下反序列化和内存马的知识
一、Java 反序列化漏洞1. 什么是反序列化漏洞?
定义:当应用在反序列化过程中未验证数据来源且类路径中存在可利用 Gadget 类时,攻击者可构造恶意对象执行任意代码。
核心问题:执行了 readObject() 等方法,且对象内容可控。
2. 反序列化常见入口
ObjectInputStream.readObject()
框架内部(如 RMI、JMX、Spring HTTP invoker、Fastjson、Jackson)
3. 利用链构建思路
目标:构造一个对象链,在反序列化过程中触发任意代码执行。
方法:利用已有的库(CommonsCollections、Groovy 等)构造 Gadget 链。
工具:ysoserial 常用于生成利用 payload。
示例链(CommonsCollec ...
跟着小迪不寄到多少天了
课堂笔记 (●’◡’●)
跨站脚本攻击(XSS)基本上产生都是因为前端js 都有一个输出的特征(数据交互)
危害
网络钓鱼,包括获取各类用户账号;窃取用户cookies资料,从而获取用户隐私信息,或利用用户身份对网站执行操作;劫持用户(浏览器)会话,从而执行任意操作,例如非法转账、发表日志、邮件等;强制弹出广告页面、刷流量等;网页挂马;T进行恶意操作,如任意算改页面信息、删除文章等;进行大量的客户端攻击,如ddos等;获取客户端信息,如用户的浏览历史、真实ip、开放端口等;控制受害者机器向其他网站发起攻击;结合其他漏洞,如csrf,实施进一步危害;提升用户权限,包括进一步渗透网站;
DOM&存储核心区别:反射型XSS需服务器返回恶意代码,而DOM型XSS完全由客户端脚本动态生成
cooKie保护机制,获取cookie不完整,
Windows Protocol
kerberos在Kerberos协议中主要是有三个角色的存在:
访问服务的Client(以下表述为Client 或者用户)
提供服务的Server(以下表述为服务)
KDC(Key Distribution Center)密钥分发中心
步骤
1. AS_REQ: Client向KDC发起AS_REQ,请求凭据是Client hash加密的时间戳
2. AS_REP: KDC使用Client hash进行解密,如果结果正确就返回用krbtgt hash加密的TGT票据,TGT里面包含PAC,PAC包含Client的sid,Client所在的组。
3. TGS_REQ: Client凭借TGT票据向KDC发起针对特定服务的TGS_REQ请求
4. TGS_REP: KDC使用krbtgt hash进行解密,如果结果正确,就返回用服务hash 加密的TGS票据(这一步不管用户有没有访问服务的权限,只要TGT正确,就返回TGS票据)
5. AP_REQ: Client拿着TGS票据去请求服务
6. AP_REP: 服务使用自己的hash解密TGS票据。如果解密正确,就拿着PAC去K ...
cc3
写在前面,文章中的大多数内容在网上可以找到,我是为了在记录总结中学习,故此写下这篇文章
根据java类的动态加载原理,我们知道动态类加载可以通过ClassLoader来完成。而其中有个ClassLoader.defineClass可以从字节码加载任意类。
因为在ClassLoader里的defineClass都是私有的,我们需要找到公有的defineClass方法,然后在ClassLoader.defineClass里反向寻找哪里有公有或者default类型的defineClass方法
TemplatesImpl
可以看到com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl的TransletClassLoader方法
可以看到这里存在一个内部类 TransletClassLoader,这个类是继承 ClassLoader,并且重写了 defineClass 方法
Class defineClass(byte[] b) { return this.defineClass((String)null, b, 0 ...
内网基础知识
概述内网也指局域网(Local Area Network,LAN)是指在某一区域内由多台计算机互联成的计算机组。一般是方圆几千米以内。局域网可以实现文件管理、应用软件共享、打印机共享、工作组内的历程安排、电子邮件和传真通信服务等功能。内网是封闭型的,它可以由办公室内的两台计算机组成,也可以由一个公司内的上千台计算机组成。列如银行、学校、企业工厂、政府机关、网吧、单位办公网等都属于此类。
工作组工作组(Work Group),在一个大的单位内,可能有成百上千台电脑互相连接组成局域网,它们都会列在“网络(网上邻居)”内,如果这些电脑不分组,可想而知有多么混乱,要找一台电脑很困难。为了解决这一问题,就有了“工作组”这个概念,将不同的电脑一般按功能(或部门)分别列入不同的工作组中,如技术部的电脑都列入“技术部”工作组中,行政部的电脑都列入“行政部”工作组中。你要访问某个部门的资源,就在“网络”里找到那个部门的工作组名,双击就可以看到那个部门的所有电脑了。相比不分组的情况就有序的多了,尤其是对于大型局域网络来说
工作组的局限性假如一个公司有200台电脑,我们希望某台电脑上的账户Gu0f3n可以访 ...
Prime: 1
信息收集确定主机位置$ sudo nmap -sn 192.168.205.0/24 [sudo] kali 的密码:Starting Nmap 7.95 ( https://nmap.org ) at 2025-03-31 07:49 EDTNmap scan report for 192.168.205.1 (192.168.205.1)Host is up (0.00058s latency).MAC Address: 00:50:56:C0:00:01 (VMware)Nmap scan report for 192.168.205.2 (192.168.205.2)Host is up (0.00014s latency).MAC Address: 00:50:56:F7:4F:9C (VMware)Nmap scan report for 192.168.205.137 (192.168.205.137)Host is up (0.00039s latency).MAC Address: 00 ...
Tomcat内存马
Tomcat-Servlet首先回顾下Tomcat与Servlet的关系
from:https://longlone.top/%E5%AE%89%E5%85%A8/java/java%E5%AE%89%E5%85%A8/%E5%86%85%E5%AD%98%E9%A9%AC/Tomcat-Servlet%E5%9E%8B/
Tomcat由四大容器组成,分别是Engine、Host、Context、Wrapper。这四个组件是负责关系,存在包含关系。只包含一个引擎(Engine):
Engine(引擎):表示可运行的Catalina的servlet引擎实例,并且包含了servlet容器的核心功能。在一个服务中只能有一个引擎。同时,作为一个真正的容器,Engine元素之下可以包含一个或多个虚拟主机。它主要功能是将传入请求委托给适当的虚拟主机处理。如果根据名称没有找到可处理的虚拟主机,那么将根据默认的Host来判断该由哪个虚拟主机处理。
Host (虚拟主机):作用就是运行多个应用,它负责安装和展开这些应用,并且标识这个应用以便能够区分它们。它的子容器通常是 Context。一个虚拟主机 ...
java内存马基础
Java Web 三大件Java Web 三大件,也就是 Servlet,Filter,Listener
当 Tomcat 接收到请求时候,依次会经过 Listener -> Filter -> Servlet
Servlet
https://www.cnblogs.com/fwnboke/p/9119244.html
这里简单总结下
我尽量用大白话解释一下这个链接里的内容:
Servlet是什么:
你可以把Servlet理解成”服务员”,专门处理网站的各种请求。比如你点外卖(发送请求),服务员(Servlet)接单后去厨房(服务器)做好,再打包(生成网页)送给你。
Servlet的工作场景:
动态生成网页(比如淘宝的商品页面,每个人看到的都不一样)
把请求转交给其他”服务员”处理(像餐厅里服务员之间交接工作)
连接数据库(比如查你的快递信息)
读取客户的小纸条(Cookie)
四个重要工具:
请求单子(HttpServletRequest):记录客户的所有要求(比如搜索关键词)
回复盒子(HttpServletResponse):用来打包要返回给客 ...
常见安全设备总结
一、网络安全设备网络安全设备是一个有软件和硬件设备组合而成、在内部网和外部网之间、专用网与公共网 之间的界面上构造的保护屏障,针对不同的应用场景有不同的作用,常见的安全设备有防火墙,态势感知,IDS,IPS,全流量分析,漏洞扫描,蜜罐 ,安全邮件,EDR等等。
网络结构首先,绘制了最简易三层网络拓扑结构(含内外网)。现无任何安全设备,介绍每一类设备,常用功能、部署方式,同时绘入现有拓扑中,展示种产品在网络中最常规位置。
部署方式尤其重要,通常需对网络进行控制设备串行、审计类设备旁挂,串行时设备故障可能产生网络故障;而旁挂设备只影响自身功能
https://blog.csdn.net/weixin_46444606/article/details/114528599
1.防火墙串行设备网络边界间的隔离和对网络中数据交互的控制。在典型的网络环境中的主要作用是防范外部网络(如internet)对内部网络(如内部办公局域网)的非法访问行为和恶意攻击行为等安全威胁,防火墙最基础的功能是策略控制流入流出IP及端口、nat、端口映射。防火墙定义也较为模糊,多带有集成功能,目前,世面上购买的防火墙大多 ...
cc5
之前分析过了cc6 cc5只不过和cc6链子入口点不一样
先总结下cc6
1. 造炸弹:组装恶意代码链条核心武器:ChainedTransformer(链条转换器)
通过反射调用Runtime.getRuntime().exec("calc"),相当于把弹计算器的指令拆成四步:
Transformer[] transformers = { new ConstantTransformer(Runtime.class), // 拿到Runtime类 new InvokerTransformer("getMethod", ...), // 获取getRuntime方法 new InvokerTransformer("invoke", ...), // 执行getRuntime()得到实例 new InvokerTransformer("exec", ...) // 调用exec弹计算器 };
作 ...