- 博客(75)
- 收藏
- 关注
原创 Redis安全之从入门到花式利用
因为redis采用的resp协议的验证非常简洁,所以可以采用python模拟一个redis服务的交互,并且将备份的rdb数据库备份文件内容替换为恶意的so文件,然后就会自动在节点redis中生成exp.so,再用module load命令加载so文件即可完成rce。主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。同理,在主从复制rce这个过程中,如果是两个正常的redis服务之间建立联系,仅仅是相当于的数据库备份的复制,而在主节点加载的module是不会到节点去的。
2023-10-24 14:28:34
178
原创 记一次Postgresql从堆叠注入到RCE
开头有说过web目录不可写且不出网(静态文件也不可写),命令执行也没回显,后来解决是代码审计发现某个地方的验证码是从数据库某特定字段里面取的,所以只需要将命令执行的结果写入到特定字段到地方,再构造poc访问验证码页面拿到命令执行的结果图片ocr一下即可exp化。一步一步来,首先是二进制文件写入时,除去最后一个块的长度可以稍微小点其他的都需要想办法压缩,这里我想到的是可以先存在表里面,然后在写入的时候在select取出来,这样的话长度是完全够的。尝试使用sqlmap直接打失败,也是长度限制的原因。
2023-10-20 17:56:33
625
原创 Springboot Actuator 环境搭建踩坑
我们肯定希望知道Java应用程序当前的状态,例如,占用了多少内存,分配了多少内存,当前有多少活动线程,有多少休眠线程等等。在生产环境中,需要对应用程序的状态进行监控。前面我们已经介绍了使用JMX对Java应用程序包括JVM进行监控,使用JMX需要把一些监控信息以MBean的形式暴露给JMX Server,而Spring Boot已经内置了一个监控功能,它叫。为了标准化管理和监控,Java平台使用JMX作为管理和监控的标准接口,任何程序,只要按JMX规范访问这个接口,就可以获取所有管理与监控信息。
2023-10-19 17:42:08
216
原创 cbu和无cc的shiro反序列化
在BeanComparator类的构造方法里面被用到,要解决没有cc的时候ClassNotFound的问题就需要替换这个ComparableComparator。BeanComparator()用于比较两个Java Bean,当property不存在的时候会调用。直接通过String.CASE_INSENSITIVE_ORDER就可以获得一个对象。虽然cbu本身依赖cc,但是Shiro中自带的cbu中的类不全,反序列化会失败。去获取JavaBean的属性,也就是执行getter。
2023-10-18 14:00:10
207
原创 构造shiro poc
这个类,他是个ObjectInputStream的子类,并且重写了resolveClass方法,这个方法是用于反序列化中寻找Class对象的方法。shiro在容器初始化的时候会实例化CookieRememberMeManager对象,并且设置加密解密方式。来加载,而shiro的ClassResolvingObjectInputStream使用的是Java原生。然后在之前也说过,加密的时候先序列化再用encrypt()方法加密。实例化时调用父类构造方法,设置加密方式为AES,并且设置key。
2023-10-18 13:52:00
154
原创 Apache Shiro 组件反序列化漏洞分析
Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。为了让浏览器或服务器重启后用户不丢失登录状态,Shiro支持将持久化信息序列化并加密后保存在Cookie的rememberMe字段中,下次读取时进行解密再反序列化。
2023-10-18 13:46:18
1072
原创 为什么影子 API 比您想象的更危险
他们的API安全平台可以监控负载均衡器,API网关和Web应用程序防火墙,使您能够查找和编目每种类型的API,包括HTTP,RESTful,GraphQL,SOAP,XML-RPC,JSON-RPC和gRPC。通过利用 API,网络犯罪分子可以检索敏感的客户数据,例如他们的地址、销售报价中的信用卡信息和 VIN 号,这些信息对身份盗用有明显的影响。与普遍的看法相反,不幸的是,在生产环境中拥有您的运营或安全团队中没有人知道的 API 太常见了。最重要的是,影子 API 对像您这样的组织提出了独特的挑战。
2023-10-17 16:39:27
148
原创 Atlassian Confluence OGNL表达式注入RCE CVE-2021-26084
参考:https://github.com/httpvoid/writeups/blob/main/Confluence-RCE.md。返回包出现999即可证明ognl表达式成功执行。
2023-10-17 16:35:29
1090
原创 如何防止僵尸API
人们Web API。92% 的组织计划在明年增加对 API 的投资,发现。API 正在为从内部微服务策略到和的所有内容提供支持。然而,这种新发现的会产生后果;一个迫在眉睫的威胁,可能会从坟墓中升起,困扰着你......当然,我说的是僵尸API。僵尸 API 是不再维护但仍处于活动状态的终结点。它们可能是未使用的端点、从未正式弃用或遗忘的开发或测试环境的旧功能。无论如何,僵尸API是一种,如果任其腐烂,可能会构成合法威胁。
2023-10-17 16:28:40
102
原创 使用 OAuth 和 OpenID Connect 进行升级身份验证
一个很好的例子是,当用户使用其用户名和密码进行身份验证,但现在他们即将执行高风险操作时。例如,他们可能正在进行高额付款或访问应用程序的管理区域。此时,您希望挑战他们以证明自己的身份到更高的水平,可能使用不同的因素,例如 TOTP 或生物识别技术。此提升过程是递增身份验证。递增身份验证对于保护高价值操作非常有用,但它也可以改善用户体验。例如,某些多重身份验证 (MFA) 方法的一个问题是它们会增加用户身份验证旅程的摩擦。
2023-10-17 15:13:04
155
原创 确保第三方 API 安全的 5 个最佳实践
应用程序编程接口 (API) 已成为设置功能和灵活性不可或缺的一部分。但它们也是潜在的攻击媒介,需要在安全团队的雷达上占据很高的位置。当组织考虑应用程序编程接口 (API) 安全性时,他们通常专注于保护内部编写的 API。但是,并非所有公司使用的 API 都是内部开发的,而是由其他组织设计和开发的。问题在于,许多公司没有意识到使用第三方 API 可能会使其应用程序面临安全问题,例如恶意软件、数据泄露和未经授权的访问。第三方 API 是软件接口,允许组织在其自己的网站或应用程序上利用第三方功能或数据。
2023-10-17 15:06:28
245
原创 codeigniter 4.1.3 gadget chain
设置好的远程服务器将对发出的请求作出响应,并在响应头中返回一段php代码。这段php代码会被写入我们指定的curl日志文件中,也就是那个php文件。然后,此exp将发送请求到远程服务器,并在本地写入eee.php。这个方法将http请求发送到设置的远程服务器。在本地启动CodeIgniter框架,将exp的输出粘贴到。找到一条很有意思的codeigniter框架的链。所在目录启动一个简单的php http服务器。远程服务器上的index.php。为我们之前指定的php文件。类的对象,这个对象,在。
2023-10-16 15:53:31
223
原创 CakePHP 3.x/4.x反序列化RCE链
CakePHP是一个运用了诸如ActiveRecord、Association Data Mapping、Front Controller和MVC等著名设计模式的快速开发框架。该项目主要目标是提供一个可以让各种层次的PHP开发人员快速地开发出健壮的Web应用,而又不失灵活性。
2023-10-13 16:11:34
399
原创 保护敏感数据的艺术:数据安全指南
多年来,工程和技术迅速转型,生成和处理了大量需要保护的数据,因为网络攻击和违规的风险很高。为了保护企业数据,组织必须采取主动的数据安全方法,了解保护数据的最佳实践,并使用必要的工具和平台来实现数据安全。本文将探讨什么是敏感数据,指导您了解数据安全的一些基础知识,讨论数据泄露的风险和挑战,提供一些保护敏感数据安全的最佳实践,并解释如何使用数据安全平台确保敏感数据受到保护。
2023-10-13 15:00:07
167
原创 Fastjson历史版本记录
TemplatesImpl,利用条件苛刻,需要开启JdbcRowSetImpl利用链的JDNI注入,有RMI和LDAP两种利用方式,不过有JDK版本限制,具体见。
2023-10-12 10:49:42
239
原创 Zend Framework 3.1.3 gadget chain
在推特上的账号发布了一条消息。一个名为Zend Framework的php框架出现了新的,可导致RCE。笔者尝试复现,但失败了。所幸,我基于此链,发现在这个框架的最新版本中的另一条链。
2023-10-11 11:38:00
253
原创 针对FTP的SSRF攻击
ftp可以在ssrf中起到作用,其原因便是PORT和PASV两个命令导致的连接跳转。把握此点,便可使ftp在漏洞利用中大放异彩!oh-my-bet。
2023-10-10 16:00:07
523
原创 JumpServer rce深入剖析
jumpserver的架构是一个叫luna的前端在前面缝合了koko和guacamole来做一个统一的面板管理,所以说只要拿到token和各个id就可以和koko和guacamole通信,从而控制资产。username是最开始拿到的userid,password应该是默认的密码jumpserver,这个asset_token为空就很耐人寻味,后面再细说。,即可访问到创建的rdp连接,但是又有一个问题,rdp是长连接的,guacamole有一个持续鉴权的过程,需要修改。和/koko/ws/token/?
2023-10-09 16:28:27
313
原创 Fastjson在实战中的检测与利用
参考:https://github.com/alibaba/fastjson/issues/3077java.net.InetAddress这个gadget在1.2.49禁止了。如果上面这个poc可以出dnslog说明很大概率可以rce。如果以上这些poc可以出dnslog,则可以说明后端百分百是fastjson。最近发现有个容易被人弄错的地方,就是fastjson的payload。网上的Payload,发现有的目标可以成功,有的目标不能成功,这是为什么?
2023-10-08 13:58:44
1912
原创 Dubbo-CVE-2020-1948
同时我们发现该gadget中用到了com.rometools.rome.feed.impl.ToStringBean,所以Provider的pom.xml中需要添加rometools的引用。Provider将本地提供的远程方法在注册中心进行注册,Consumer需要调用时会先去注册中心进行查询,根据注册中心返回的结果再去对应的Provider中调用对应的远程方法,如果有变更,注册中心将基于长连接推送变更数据给Consumer。同时我们可以留意一下相关的LDAP服务,当出现转发成功的时候,自然也是成功的。
2023-10-07 10:41:40
72
原创 KongA 任意用户登录漏洞分析
KongA 介绍 KongA 是 Kong 的一个 GUI 工具。GitHub 地址是 https://github.com/pantsel/konga。KongA 概述 KongA 带来的一个最大的便利就是可以很好地通过UI观察到现在 Kong 的所有的配置,并且可以对于管理 Kong 节点。
2023-09-28 15:19:03
1232
原创 Spring Controller内存马
在SpringMVC环境下获取到的是一个XmlWebApplicationContext类型的Root WebApplicationContext:在SpringBoot环境下,默认没有xml文件配置listener,这里获取到的结果会是null。
2023-09-27 13:50:37
628
原创 评估DSPM解决方案时要考虑的五大问题
随着企业越来越意识到数据安全的重要性,DSPM市场正在迅速扩大。Gartner在其最新的“数据安全炒作周期”报告中,将术语“数据安全态势管理”解释为新兴的解决方案类别。但是,当您要设置 DSPM 解决方案时,您必须能够区分供应商。随着供应商数量的不断增加,可能很难知道合适的供应商。因此,在评估 DSPM 解决方案时,了解要问哪些问题非常重要。本指南将提供5个关键问题,以协助完成此过程,并帮助做出最适合您组织需求的明智决策。
2023-09-26 18:41:27
93
原创 Interceptor内存马
Interceptor是SpringMVC中的拦截器,类似于Servlet中的Filter,主要针对Controller层进行拦截请求。
2023-09-26 14:02:24
159
原创 Java内存马前置知识
Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。它负责处理用户的请求,并根据请求生成相应的返回信息提供给用户。Tomcat是实现Servlet的首选web服务器。
2023-09-26 13:56:07
108
原创 6个基于DSPM组件的使用案例
在这个信息技术时代,企业必须应对日益增长的生成和保护大量数据的需求。这就是为什么制定广泛而有效的策略来处理和保护这些数据比以往任何时候都更加重要的原因。数据安全状况管理 (DSPM) 是一种解决方案,可帮助现代组织实施全面的数据安全措施。在本文中,您将了解 DSPM 用例,并了解组织如何利用 DSPN 解决方案来确保数据安全性和数据法规合规性。DSPM 解决方案是过程和技术的混合体,使组织能够掌控其数据安全性。详细的 DSPM 解决方案从数据编目开始,然后转到数据流映射、风险管理以及数据事件检测和响应。
2023-09-25 16:56:03
163
原创 Java学习笔记②
public等属性的值的修改很简单。但privatefinal的值修改有改变。比如修改下类的4个属性。修改private属性的值需要的值无法直接修改,可以通过modifiers清除该属性的final关键字,然后再赋值。上例中的输出如下的结果没有改变,这其实是编译器的锅。因为其设置为final,编译器优化的代码为所以输出不变。可以直接改,实例改为null。
2023-09-25 11:08:13
287
原创 Java web基础知识
一般来说把实现了Servlet接口的java程序叫做,ServletServlet接口sun公司有两个默认的实现抽象类:HttpServlet,GenericServlet看看Serlvet接口是怎么在这两个类中实现的这个接口里有五个抽象方法这五个方法建立起了Servlet的基本框架:初始化、获取配置、服务功能、获取状态信息、销毁也体现了servlet的生命周期其中比较值得观察的是service方法还是那五个抽象方法。
2023-09-19 11:29:48
240
原创 Java安全入门笔记(持续更新)
这段代码在没有确定传入的参数是什么的时候,它的功能是未知的。这就是说在编译完成时,它的功能并没完全固定,它的功能会随着不同的情况产生不定的变化。之前陆陆续续学过一点Java安全,笔记一直都没没有系统的写过,现在重新深入学一下之前的知识,会把笔记持续更新过来。现在,已经大致了解了Java的类加载过程,继续来看看Java是通过什么东西来实现类加载的。Java 中类加载是通过类加载器实现的,在Java中类加载器可以分为4种。线程共享,是各个线程共享的内存区域,它用于存储已被虚拟机加载的。
2023-09-19 11:25:58
163
原创 JavaCTF记录
在没有提升权限之前,整个环境只有Cookie是可控的,并且提升权限也是要通过cookie来,先看看它对cookie做了什么,看一下过滤器。那么目的就很明显了,需要去触发这个readObject,也就是说需要反序列化一个Tools类。再看Tools的parse方法有一个很明显的readObject,并且也被过滤器调用了。发现过滤器对cookie的处理调用了一个Tools类,再看看Tools类。这个Tools类的readObject,有一个很明显的命令执行。本地构造一个Tools类。现在链子已经清晰了。
2023-09-18 12:04:14
123
原创 shiro组件漏洞分析(二)
官方issues:https://issues.apache.org/jira/browse/SHIRO-721Apache Shiro 1.4.2 之前的版本默认使用 AES/CBC/PKCS5Padding 模式加密,开启 RememberMe 功能的Shiro组件将允许远程攻击者构造序列化数据,攻击者可以在已有的正常登陆的 Cookie rememberMe 值的基础上根据 Padding Oracle Attack 的原理来爆破构造出恶意的 rememberMe 字段,实施反序列化攻击。
2023-09-15 15:59:53
127
原创 shiro组件漏洞分析(一)
官方issues:https://issues.apache.org/jira/browse/SHIRO-550Apache Shiro框架提供了记住我(RememberMe)的功能,功能表现为关闭浏览器再次访问时无需再登录即可访问。shiro默认使用CookieRememberMeManager,对rememberMe的cookie做了加密处理,在CookieRememberMeManaer类中将cookie中rememberMe字段内容先后进行序列化、AES加密、Base64编码操作。
2023-09-13 14:48:54
192
原创 从CTF题学Java反序列化(二)
现在命令执行的点和反序列化的点都找到了,剩下就是需要找到一条将其连起来的利用链。可以上传文件,但是需要session中group为webmanager。类,然后修改cookie,触发反序列化漏洞达成命令执行。然后就可以正常上传文件了,文件上传没有检测,上传目录是。类存取session内容进行序列化反序列化,但是这个。对传入cookie内容直接进行反序列化的漏洞,加上。看到展示了访问日志,并没有其他功能,继续审计源码。是原生类,jdk8下可以使用,不需要考虑环境问题。,判断用户名为admin,密码随机生成。
2023-09-11 15:35:06
310
1
原创 Java安全入门笔记(二)
不管是Bootstrap ClassLoader还是ExtClassLoader等,这些类加载器都只是加载指定的目录下的jar包或者资源。在某种情况下,我们需要动态加载一些东西,比如从D盘某个文件夹加载一个class文件,或者从网络上下载class主内容然后再进行加载,如果要这样做的话,需要我们自定义一个ClassLoader。是所有的类加载器的父类,有非常多的子类加载器,比如我们用于加载jar包的其本身通过继承类,重写了findClass方法从而实现了加载目录class文件甚至是远程资源文件。如果。
2023-09-07 15:14:19
1827
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人