主要观点总结
文章主要描述了一个基于Java环境的反序列化攻击,通过构造特定的序列化数据,利用Java的LDAP反序列化漏洞,成功执行恶意代码,获得反弹shell的过程。
关键观点总结
关键观点1: 文章背景
文章介绍了利用Java环境的LDAP反序列化漏洞进行攻击的过程,通过构造特定的序列化数据,利用Java的LDAP反序列化漏洞,成功执行恶意代码,获得反弹shell。
关键观点2: 攻击步骤
文章详细描述了攻击步骤,包括构造序列化数据,利用LDAP反序列化漏洞,执行恶意代码,获取反弹shell等。
关键观点3: 攻击工具
文章提到了使用JNDI-Injection-LDAP-Deserialization工具作为恶意服务器,通过Python脚本构造攻击载荷,进行攻击。
关键观点4: 关键技巧
文章强调了利用正则表达式和构造特定序列化数据的重要性,以及如何绕过Java环境的LDAP反序列化漏洞。
关键观点5: 最终成果
文章最后成功执行了恶意代码,获得了反弹shell,并给出了招新邮箱,有兴趣加入战队的同学可以发送简历。
文章预览
nosandbox 随便输入一个单引号报错发现是org.apache.commons.jexl3 网上找不到什么资料,找到了官方的语法文档 https://commons.apache.org/proper/commons-jexl/reference/syntax.html 最主要看这一部分 可知使用new来实例化一个类,但是new(被ban了,于是使用new ('类名','参数')来调用构造方法(new和括号间加一个空格),但是好像被删了很多的类,导致没办法正常读取到jar包,如URL、ProcessBuilder等 可以通过 java.util.Scanner 配合 java.io.InputStreamReader 和 java.io.FileInputStream 可以读取文件,但是因为是以文本方式读取,不可见字符会出现编码问题,无法正常打开下载的jar包,下载jar包exp如下,先读取/proc/self/cmdline确定jar包位置,然后读取jar: import base64 import requests url = "http://124.70.143.104:10088/" def newclass (cname, arg) : payload = f'new (" {cname} "' if type(arg) == str:
………………………………