0%

Log4j 反序列化分析—CVE-2017-5645

什么是Log4j?

在应用程序中添加日志记录最普通的做法就是在代码中嵌入许多的打印语句,这些打印语句可以输出到控制台或文件中,比较好的做法就是构造一个日志操作类来封装此类操作,而不是让一系列的打印语句充斥了代码的主体。
Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。
Log4j在工程中可以易用,方便等代替了 System.out 等打印语句,它是Java下最流行的日志输入工具,一些著名的开源项目,像spring、hibernate、struts都使用该工具作为日志输入工具,可以帮助调试(有时候debug是发挥不了作用的)和分析。

Read more »

Tomcat内存马

什么是内存马?

Webshell内存马,是在内存中写入恶意后门和木马并执行,达到远程控制Web服务器的一类内存马,其瞄准了企业的对外窗口:网站、应用。但传统的Webshell都是基于文件类型的,黑客可以利用上传工具或网站漏洞植入木马,区别在于Webshell内存马是无文件马,利用中间件的进程执行某些恶意代码,不会有文件落地,给检测带来巨大难度。

Read more »

fastjson高版本绕过

在之前学习的fastjson反序列化与JNDI注入中,只对1.2.24版本有效,这篇文章我们来学习一下高版本的一些绕过手法

Read more »

SPI机制的安全问题

什么是SPI?

Service Provider Interface,是JDK内置的⼀种服务提供发现机制,可以⽤来启动框架扩 展和替换组建。服务提供接⼝,不同⼚商可以针对同⼀个接⼝做出不同的实现。 当服务提供者提供了⼀种接⼝的实现之后,需要在classpath下的 META-INF/services/ ⽬录 下创建⼀个以服务接⼝命名的⽂件,⽂件内容就是这个接⼝的具体实现类。 当程序需要这个服务时,就可以通过查找这个jar包的 META-INF/services/ 中的配置⽂件, 配置⽂件中有接⼝的具体实现类名,可以根据这个类名进⾏加载实例化。

Read more »

C3P0 Gadget

什么是C3P0?

C3P0是一个开源的Java数据库连接池库。它提供了高效、可靠和可定制的连接池管理,用于管理与数据库的连接。

数据库连接池的主要目的是在应用程序和数据库之间维护一组预先创建的数据库连接,并在需要时重复使用这些连接,以减少连接的创建和关闭过程所产生的开销。

Read more »

fastjson反序列化与JNDI注入

什么是fastjson?

FastJson是阿里巴巴的的开源库,用于对JSON格式的数据进行解析和打包。其实简单的来说就是处理json格式的数据的。例如将json转换成一个类。或者是将一个类转换成一段json数据。

Read more »

无依赖CB攻击Shiro 550

为什么会有这种攻击方法呢,因为正常情况下,有shiro必定会有CB依赖,而不一定会有CC依赖,所以CB攻击比起之前的cc链攻击肯定是更加有效的。

尝试对之前的CB链修改生成payload

Read more »

Shiro 550/CVE-2016-4437

环境

1
2
3
4
5
6
7
8
commons-beautils:1.8.3
commons-collections:3.2.1
commons-logging:1.2
shiro-web:1.2.4
shiro-core:1.2.4
slf4j-api:1.7.30
slf4j-simple:1.7.30
Tomcat:9.0.73
Read more »

Shiro框架简单学习

  • Apache Shiro是一个Java 的安全(权限)框架
  • Shiro可以非常容易的开发出足够好的应用,其不仅可以用在JavaSE环境,也可以用在JavaEE环境。
  • Shiro可以完成,认证授权加密会话管理Web集成缓存等.
    Read more »