
Java JNDI 安全笔记
Java JNDI 简介 目录服务 目录服务(Directory service)是一个储存、组织和提供信息访问服务的软件系统,在软件工程中,一个目录是指一组名字和值的映射。它允许根据一个给出的名字来查找对应的值,与词典相似,词典中每一个词也许会有多个词义,在一个目录中,一个名字也许会与多个不同的信息相关联。 目录服务在许多不同的场景中被广泛使用,例如: 用户身份认证和...
Java JNDI 简介 目录服务 目录服务(Directory service)是一个储存、组织和提供信息访问服务的软件系统,在软件工程中,一个目录是指一组名字和值的映射。它允许根据一个给出的名字来查找对应的值,与词典相似,词典中每一个词也许会有多个词义,在一个目录中,一个名字也许会与多个不同的信息相关联。 目录服务在许多不同的场景中被广泛使用,例如: 用户身份认证和...
RMI 简介 RMI(Remote Method Invocation)是 Java 中用于远程通信的机制,它允许在不同的 Java 虚拟机(JVM)之间进行方法调用和对象传输。 简单示例 简单的示例参考 JAVA 协议安全笔记-RMI篇 - 跳跳糖 Server 需要抽象一个接口,并对其进行实现,然后将实例注册到注册中心。Server 端包含如下的文件: ICalc.java:一...
Java 中几种命令执行的方式 Runtime public class RuntimeExec { public static void main(String[] args) throws Exception { InputStream in = Runtime.getRuntime().exec("whoami").getInputStream(); ...
前言 linux 中有很多受限的 shell,例如 rbash、rzsh、rksh,这些 shell 是一些具有限制功能的特殊 shell。它们通常用于实施系统安全策略,限制用户的行为和访问权限。例如禁止用户更改当前目录、禁止使用绝对路径执行命令、限制环境变量设置等。在一些命令注入的情况下,也会存在一些非常规的利用场景。 参考文章 Linux Restricted Shell Bypass...
XXE: SimpleXMLElement class SimpleXMLElement implements Stringable, Countable, RecursiveIterator { /* Methods */ public __construct( string $data, int $options = 0, ...
fumo_backdoor FUMO在你的网站上留下了后门 ᗜˬᗜ,她是怎么使用这个后门的捏? ᗜˬᗜ(flag 在 /flag) Oops, looks like FUMO left a backdoor on your website ᗜˬᗜ! I wonder how she’s gonna use it, teehee~ (flag in /flag) http://182.9...
Werkzeug debug 支持使用 console 来执行 python 代码。 __import__('os').popen('whoami').read(); 注意要加上最后的分号,否则不会有回显。 console 任意代码执行 pin 码构造 访问 console 页面通常需要 pin 码。正常情况下外部无法获取到 pin 码,分析源码 中 pin 码的生成过程可知,pin ...
Java-反序列化绕过-SerialKiller Java-反序列化绕过非原生反序列化器 Java-反序列化绕过-RASP RASP 简介 RASP 全称为 Runtime Application Self-Protection,实时程序自我保护。RASP 通常嵌入在程序内部,具备实时监控危险函数调用,并阻止该危险调用的功能。与传统 WAF 对比, RA...
Java-反序列化绕过-SerialKiller Java-反序列化绕过非原生反序列化器 Java-反序列化绕过-RASP SerialKiller SerialKiller 是一个用于防御 java 反序列化攻击的库,允许使用配置文件来指定黑白名单。使用 SerialKiller 时只需要用 SerialKiller 替代标准库 java.io.ObjectInp...
Java-反序列化绕过-SerialKiller Java-反序列化绕过非原生反序列化器 Java-反序列化绕过-RASP 某些题目可能使用其他的反序列化器如 kryo、hessian 等,这些反序列化器的行为与原生的序列化与反序列化有所差异,使用这些反序列化器在反序列化时,并不会执行原生的 readObject 方法,从而导致一些 sink 点无法正常使用,例如 ...