必须知道的两个基本Java反序列化(护网蓝初面试干货)

简介: 必须知道的两个基本Java反序列化(护网蓝初面试干货)

1、反序列化

序列化就是将对象转化为字节序列从而便于存储运输,反序列化则与其相反。


常见PHP序列化函数unserialize();


常用的魔术方法:


构造函数__construct(),析构函数__destruct(),__wakeup(),__toString(),__sleep()。


这些函数在传递参数时未进行严格过滤,攻击者就可以构造恶意代码并将其序列化后传入函数,从而导致反序列化

2、Fastjson

原理:

在请求包中修改@type的值来反序列化为指定的类型,而fastjson在反序列化中会设置和获取类中的属性,若类中有恶意方法就会导致代码执行等问题。

判断:

通过构造错误的post请求,查看服务器报错返回包中是否存在fastjson字样

3、Shiro

原理:在用户登陆时提供可传递选项remember me,若勾选,则下次登陆会携带cookie中的remember me字段发起请求,就不需要重新输入用户名和密码。

判断:

查看数据返回包中是否包含rememberMe=deleteMe字段

4、其他

(1)CSRF、SSRF、重放攻击的区别

CSRF:跨站请求伪造攻击,由客户端发起;

SSRF:是服务器端请求伪造,由服务器发起;

重放攻击:将截获的数据包进行重放,达到身份认证目的。

(2)提权

Linux里面我只接触过sudo提权;

Windows提权的话有一个内核提权,systeminfo寻找对应EXP

(3)常见端口号对应的服务

20、21:FTP

22:SSH

80:web服务(http协议)

3306:MySQL

3389:远程桌面

(4)SQL注入写shell

联合注入写:?id=1' union select1,"一句话",3 into outfile 路径

mysql写shell:select "一句话" into outfile "路径"

目录
相关文章
|
4天前
|
存储 缓存 Oracle
Java I/O流面试之道
NIO的出现在于提高IO的速度,它相比传统的输入/输出流速度更快。NIO通过管道Channel和缓冲器Buffer来处理数据,可以把管道当成一个矿藏,缓冲器就是矿藏里的卡车。程序通过管道里的缓冲器进行数据交互,而不直接处理数据。程序要么从缓冲器获取数据,要么输入数据到缓冲器。
Java I/O流面试之道
|
8天前
|
监控 安全 网络协议
|
1天前
|
存储 Java 程序员
Java基础的灵魂——Object类方法详解(社招面试不踩坑)
本文介绍了Java中`Object`类的几个重要方法,包括`toString`、`equals`、`hashCode`、`finalize`、`clone`、`getClass`、`notify`和`wait`。这些方法是面试中的常考点,掌握它们有助于理解Java对象的行为和实现多线程编程。作者通过具体示例和应用场景,详细解析了每个方法的作用和重写技巧,帮助读者更好地应对面试和技术开发。
19 4
|
8天前
|
数据采集 SQL 安全
2024年护网行动全国各地面试题汇总(5)
2024年护网行动全国各地面试题汇总(5)
|
7天前
|
存储 安全 Java
🌟Java零基础-反序列化:从入门到精通
【10月更文挑战第21天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
33 5
|
25天前
|
存储 安全 算法
Java面试题之Java集合面试题 50道(带答案)
这篇文章提供了50道Java集合框架的面试题及其答案,涵盖了集合的基础知识、底层数据结构、不同集合类的特点和用法,以及一些高级主题如并发集合的使用。
72 1
Java面试题之Java集合面试题 50道(带答案)
|
8天前
|
存储 缓存 安全
🌟Java零基础:深入解析Java序列化机制
【10月更文挑战第20天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
17 3
|
11天前
|
存储 安全 Java
Java编程中的对象序列化与反序列化
【10月更文挑战第22天】在Java的世界里,对象序列化和反序列化是数据持久化和网络传输的关键技术。本文将带你了解如何在Java中实现对象的序列化与反序列化,并探讨其背后的原理。通过实际代码示例,我们将一步步展示如何将复杂数据结构转换为字节流,以及如何将这些字节流还原为Java对象。文章还将讨论在使用序列化时应注意的安全性问题,以确保你的应用程序既高效又安全。
|
14天前
|
存储 Java 程序员
Java面试加分点!一文读懂HashMap底层实现与扩容机制
本文详细解析了Java中经典的HashMap数据结构,包括其底层实现、扩容机制、put和查找过程、哈希函数以及JDK 1.7与1.8的差异。通过数组、链表和红黑树的组合,HashMap实现了高效的键值对存储与检索。文章还介绍了HashMap在不同版本中的优化,帮助读者更好地理解和应用这一重要工具。
33 5
|
13天前
|
存储 Java
[Java]面试官:你对异常处理了解多少,例如,finally中可以有return吗?
本文介绍了Java中`try...catch...finally`语句的使用细节及返回值问题,并探讨了JDK1.7引入的`try...with...resources`新特性,强调了异常处理机制及资源自动关闭的优势。
15 1