前言
文章主要讲述某次红队攻防项目中,从挖掘某系统0day漏洞拿到shell并通过jfinal框架的某个tips绕过waf,到绕过瑞数6反爬最终构造正向代理漫游内网的过程
more >>Apache Flink最近有师傅披露了一个漏洞,可以调用任意类的main方法,不过在披露中所利用到的类只有在jdk11以上才存在。这时我考虑的是,我们常见的jdk8种能否找到利用类。经过寻找后找到了com.sun.org.apache.xalan.internal.xsltc.cmdline.Compile的main方法,这个方法可以把xslt编译成class,让我想到了之前爆出来的CVE-2022-34169。这个漏洞可以是apache xalan在把xslt转换成class的时候存在溢出(使用的类是:org.apache.xalan.xslt.Process),导致攻击者可以上传精心构造的恶意xslt,通过xalan转换后得到恶意的class,这个过程中,恶意的class会被实例化导致代码执行。通过一系列实践后我发现com.sun.org.apache.xalan.internal.xsltc.cmdline.Compile转换xslt和apache xalan是类似的,不过不同的是他没有实例化过程导致无法执行代码,虽然Flink这个漏洞利用没戏了,不过在这个中学习到了通过溢出来制作恶意class文件的技巧,还是收益匪浅的。后面又观察了一下,发现jdk中也有xalan的这个类(com.sun.org.apache.xalan.internal.xslt.Process),同样也是和apache xalan一样也会溢出。我在使用thanat0s师傅在文章中使用的exp复现时,发现apache xalan确实可以成功的弹出计算器,不过我在使用jdk xalan时,生成的class是损坏的,当然也无法弹出计算器。因为实战中还是见到过jdk xalan解析xslt的代码的,为了方便以后遇到了直接能利用,所以准备把我把apache xalan的payload改造成jdk xalan的payload的过程记录下来。
more >>一个朋友问我他在springboot Eureka的xstream漏洞的条件下,使用Powercat这个powershell工具反弹windows的shell失败了,问我有没有解决方案。我看到这个问题的第一反应就是,xstream为何不打内存马呢。首先搜索了网上的exp和利用工具,都是通过ProcessBuilder执行命令的。这种做法其实在实战中不妥,因为springboot无法植入文件webshell。要想命令得到回显,要么反弹shell,要么上线c2。前者容易被检测到,后者需要考虑文件下载免杀的问题。都不是非常成熟。实战中,内存马才是王道!
more >>从github上发现了一个通过rasp防御log4j漏洞的开源项目,之前一直没学习过rasp,正好通过这个案例,阅读源码看一下rasp是如何实现的。
项目地址:https://github.com/boundaryx/cloudrasp-log4j2
more >>发现之前没有系统的对struts2漏洞有一个分析,因此决定抽空分析一下struts2,防止以后需要调试过waf等的时候一脸茫然。
WebWork 2.1 (with altSyntax enabled), WebWork 2.2.0 - WebWork 2.2.5, Struts 2.0.0 - Struts 2.0.8
漏洞环境:https://github.com/vulhub/vulhub/tree/master/struts2/s2-001
more >>之前浏览先知的时候看到了4ra1n师傅的一篇文章《基于污点分析的JSP Webshell检测》,觉得写的很好,之前在看三梦师傅的《java反序列化利用链自动挖掘工具gadgetinspector源码浅析》,其中用到技术也是asm污点跟踪,当时看了很多遍都没看明白。这次在4ra1n师傅发表过关于asm污点跟踪的文章后我决定以该文章为起点,再重新学习一下这方面的知识。出于安服仔的实用性考虑,在对https://github.com/EmYiQing/JSPKiller/ 进行研究后发现了该工具可适用于实验室环境,但可能无法较好的运用于真实攻防场景,于是决定设计一款同样依据asm污点跟踪的jsp webshell查找工具—JspFinder。虽然都是asm污点跟踪,但运转逻辑却和JSPKillder不大相同。接下来进入正文。
more >>最近有个需求,用Xstream反序列化打个内存马,从通用性来讲,肯定用1.4.17的洞去打应用范围最广。众所周知,Xstream官方会提供其漏洞的poc。在我实验之下,1.4.17的几个poc只要涉及到任意java代码执行的都会报错,纯调用java.lang.Runtime.exec()的却不会报错。在我调试之下发现了其奥秘,本文就是解决Xstream任意java代码执行报错的问题。
more >>首先提出一个场景,目标使用了weblogic,存在t3反序列化漏洞,正常情况下回显都是使用rmi内存马,rmi内存马存在诸多缺点。首先容易被发现 貌似登录weblogic后台就能很轻易的看到,其次只能执行命令。当我们想传一个cs的马或者frp等进行后渗透时,还得用远程文件下载,如果目标有杀软就还需要考虑远程文件下载过杀软的问题,颇为麻烦,这时我们希望放一个功能性强的webshell上去,如:冰蝎、哥斯拉等,然而weblogic放jsp马问题也比较多,第一个需要找到本地目录,第二个需要找到外网可访问目录。设想如果我们直接访问这个weblogic是404,爆破又没找到任何目录,t3反序列化又打成了,那我们应该怎么放jsp上去。。。。。。这样就没得搞了。那么我们能不能在t3反序列化的时候直接给目标打一个http内存马呢,这就是我本文要讨论的问题。
more >>tag:
缺失模块。
1、请确保node版本大于6.2
2、在博客根目录(注意不是yilia根目录)执行以下命令:
npm i hexo-generator-json-content --save
3、在根目录_config.yml里添加配置:
jsonContent: meta: false pages: false posts: title: true date: true path: true text: false raw: false content: false slug: false updated: false comments: false link: false permalink: false excerpt: false categories: false tags: true