JAVA_RMI学习
JAVA_RMIRMIRMI全称是Remote Method Invocation,远程⽅法调⽤。使用 RMI 技术可以使一个 JVM 中的对象,调用另一个 JVM 中的对象方法并获取调用结果。这里的另一个 JVM 可以在同一台计算机也可以是远程计算机。
RMI主要由三部分组成
123Server: 提供远程的对象Client: 调用远程的对象Registry: 一个注册表,存放着远程对象的位置(ip、端口、标识符)
Java本身对RMI规范的实现默认使用的是JRMP协议。
1JRMP:Java Remote Message Protocol ,Java 远程消息交换协议。这是运行在Java RMI之下、TCP/IP之上的线路层协议。该协议要求服务端与客户端都为Java编写,就像HTTP协议一样,规定了客户端和服务端通信要满足的规范
而在Weblogic中对RMI规范的实现使用T3协议。
1WebLogic T3协议(Two-Tier TCP/IP Protocol)是Oracle WebLogic Server中的一种专有协议,它建立在TCP/IP协议之上,用于在客户端和服务 ...
java反序列化原生链&脏数据
继续学习java
JDK7u21AnnotationInvocationHandler漏洞点出现在 sun.reflect.annotation.AnnotationInvocationHandler类的equalsImpl方法
1234567891011121314151617181920212223242526272829303132333435private Boolean equalsImpl(Object var1) { if (var1 == this) { return true; } else if (!this.type.isInstance(var1)) { return false; } else { Method[] var2 = this.getMemberMethods(); int var3 = var2.length; for(int var4 = 0; v ...
2024_西湖论剑_onlysql
2024 西湖论剑_onlysql
感觉被轮剑了,差点没签到上
题目给了一个数据库链接的页面,输入数据库地址,账号密码,就可发起链接
联想到mysql 的load data了
LOAD DATA INFILE语句用于高速地从一个文本文件中读取行,并写入一个表中。文件名称必须为一个文字字符串。
LOAD DATA INFILE 是 SELECT … INTO OUTFILE 的相对语句。把表的数据备份到文件使用SELECT… INTO OUTFILE ,从备份文件恢复表数据,使用 LOAD DATA INFILE 。
LOAD DATA 读取客户端文件MySQL 客户端和服务端通信过程中是通过对话的形式来实现的,客户端发送一个操作请求,然后服务端根据客户端发送的请求来响应客户端,在这个过程中客户端如果一个操作需要两步才能完成,那么当它发送完第一个请求过后并不会存储这个请求,而是直接丢弃,所以第二步就是根据服务端的响应来继续进行,这里服务端就可以欺骗客户端做一些事情
我们本地实验下
服务器上起一个[fake_mysql服务](fnmsd/MySQL_Fake_Server: ...
shiro反序列化
shiro反序列化0.前置知识JavaBean如果一个class满足以下条件
12若干private实例字段;通过public方法来读写实例字段。
例如
123456789101112public class bean { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; }}
那么这种class被称为JavaBean
Apache Commons Beanutils是 Apache Commons 工具集下的另一个项目,它提供了对普通Java类对象(也称为JavaBean)的一些操作方法
BeanUtils:主要提供了对于 JavaBean 进行各种操作,比如对象,属性复制等等,自动转换数据类型。PropertyUtils:用处大致与 BeanUtils 相同,但是如果类型不能自动转换会 ...
java反序列化_CC链
java反序列化_CC链1.序列化和反序列化和其他语言一样
序列化:对象 -> 字符串反序列化:字符串 -> 对象
这里我们将一个对象 weber 序列化到AsaL1n.bin这个文件里面去
12345678910111213141516171819202122package org.example;import java.io.*;import java.lang.reflect.InvocationTargetException;public class Main { public static void main(String[] args) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException, IOException { people weber = new people("AsaL1n",20); try(ObjectOutputStream oos = new ObjectOutputS ...
NSSCTF Round16 Basic
NSSCTF Round16 Basic
期末考考完回来,ctf开始复健了
1.RCE但是没有完全RCE上来给了源码
123456789101112<?php error_reporting(0); highlight_file(__file__); include('level2.php');if (isset($_GET['md5_1']) && isset($_GET['md5_2'])) { if ((string)$_GET['md5_1'] !== (string)$_GET['md5_2'] && md5($_GET['md5_1']) === md5($_GET['md5_2'])) { if (isset($_POST['md5_3'])&&md5($_POST['md5_3']) == md5($_PO ...
2023安询杯
2023安询杯
这次比赛收获的了第20名,最后队友差一点点出最后两道re,不然说不定就能搞到奖金了。。。。
比赛的质量很高,难度也还好,学到了不少的东西
what’s my name打开给了php源码
12345678910111213141516171819<?php highlight_file(__file__); $d0g3=$_GET['d0g3']; $name=$_GET['name']; if(preg_match('/^(?:.{5})*include/',$d0g3)){ $sorter='strnatcasecmp'; $miao = create_function('$a,$b', 'return "ln($a) + ln($b) = " . log($a * $b);'); if(strlen($d0g3)==substr($miao, -2)&& ...
java 面向对象基础学习
java 面向对象基础学习
前面的忘记写了,算了就不发了
1.单例设计模式123456789public class test { private static test test = new test(); private test(){ } public static test get_object(){ return test; }}
在类里面完成这个类的构造,在类外面不能去创建对象,因为对象的构建方法是私有的,只能通过get_object这个类方法去获取这个对象
2.懒汉式单例在第一次调用的时候创建一个对象,然后在后面的时候都使用这同一个对象
exp
12345678910public class test { private static test test ; private test(){ } public static test getInstance(){ if (test==null ...
java 写一个流量监听器
前言作业要求是写一个类似于wireshark的流量捕捉器,要求有gui界面,能监听到相关流量
这是逆天的老师布置的作业,感觉我们什么都会,java,py都没学过。真就硬着让我写。。还好有gpt能帮我
监听使用监听库监听指定的网卡,有两种的思路。首先可以使用python封装的pyshark和java封装的pcap4j这些包去监听流量。以下是一个用py写的简单的流量抓捕
1234567891011121314import pysharkdef packet_handler(pkt): print("start listening:") print(f"Source IP: {pkt.ip.src}, Destination IP: {pkt.ip.dst}") if hasattr(pkt, 'tcp'): print(f"Protocol: TCP, Source Port: {pkt.tcp.srcport}, Desti ...
第一个java项目
第一个java项目
对着这个学的
02、项目实战:ATM系统架构搭建、欢迎页面设计_哔哩哔哩_bilibili
学java安全,还是稍微学一点点的java,这次是写了两个小时写的,这辈子第一个jama项目呜呜呜
main
123456789package org.example;import java.util.ArrayList;import java.lang.*;public class Main { public static void main(String[] args) { atm test=new atm(); test.start(); } }
atm
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878 ...