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, b.length);}
这里的 defineClass 由其父类的 pr ...
内网基础知识
概述内网也指局域网(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弹计算器 };
作 ...
MYSQL UDF提权
udf 全称为’user defined function’,意思是’用户自定义函数’。用户可以对数据库所使用的函数进行一个扩展(windows利用dll文件,linux利用so文件),那么我们就可以利用这个特点,往MySQL里面添加一个可以执行系统命令的函数即可。
UDF 提权就像 “利用数据库给自己开后门”。举个例子:假设你偷偷在公司的打卡机里装了一个小程序,这个小程序本来应该只用来记录考勤,但你把它改成了能直接开老板办公室的门禁卡——这就是 UDF 提权的核心逻辑。
数据库就像一台手机,UDF 就是用户自己安装的 App。正常 App 用来听歌、聊天,但黑客装的 App 其实是偷密码的间谍软件
二、利用条件1、常规情况:1.1 mysql配置文件secure_file_priv项设置为空,(如果为NULL或/tmp/等指定目录,即无法自定义udf文件导出位置,则无法利用);
1.2 CREATE权限、FILE权限(root用户默认拥有所有权限)。
2、特殊情况:2.1 INSERT权限、UPDATE权限、DELETE权限。
提权步骤(简单版)传文件:把恶意代码 ...
lW1R3S 1.0.1
下载好靶机
然后先在本地进行扫描确定靶机的ip地址
sudo nmap -sn 192.168.205.0/24
发现
Starting Nmap 7.95 ( https://nmap.org ) at 2025-03-25 04:03 EDTNmap scan report for 192.168.205.1 (192.168.205.1)Host is up (0.0012s 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.00089s latency).MAC Address: 00:50:56:F7:4F:9C (VMware)Nmap scan report for 192.168.205.136 (192.168.205.136)Host is up (0.00074s latency).MAC Address: 00:0C:29:19:D7:D3 (VMware)Nmap scan repor ...
cc6
之前复现了java cc1链子
顺便在这进行一个总结
核心武器:反射万能钥匙(InvokerTransformer)比喻:InvokerTransformer类像一把万能钥匙,能通过反射调用任何方法。比如用钥匙打开“Runtime类”的锁,执行exec("calc")弹计算器
流水线组装:串联工具人(ChainedTransformer)比喻:为了绕过限制,攻击者需要多个“工具人”协作。ChainedTransformer就像一个流水线,把多个操作串联起来:
工具人A:先拿到Runtime对象(ConstantTransformer
工具人B:用万能钥匙调用exec方法(InvokerTransformer)
原理:把这两个工具人按顺序放进ChainedTransformer,执行时会先获取Runtime对象,再调用exec方法。
触发机关:改造地图(TransformedMap)比喻:TransformedMap是一个被魔改的地图,当地图中的值被修改时(比如调用setValue),会自动触发流水线上的工具人
点火开关:反序列化入口(AnnotationIn ...