Listen 内存马分析

  • Listen 自建代码下断点,Debug 调试

  • invoke:116,StandardHostValve 点击,展开 context

    • applicationListeners
    • applicationEventListenersList
    • 复制 context 的值 StandardEngine[Catalina].StandardHost[localhost].StandardContext[/ListenShell_war_exploded]
  • 右击 applicationListeners 跳转至源,点击置顶代码块观察类的继承 [StandardContext.java]

    • public class StandardContext extends ContainerBase implements Context, NotificationEmitter,点击 Context
    • context 存储了监听器的信息
  • Ctrl+f 搜索 applicationListeners,下翻到第三位 [StandardContext.java]

    • 发现定义的方法 public void addApplicationListener,顾名思义添加 Listen 监听模式