RPO(Relative Path Overwrite)是一种基于服务器的web缓存技术和配置差异,利用服务器与浏览器对URL解析的差异,将页面中使用相对路径引入的静态资源文件解析成其他资源文件/可控内容的页面,从而使用可控的方式(js)来处理服务器的响应内容,导致XSS、信息泄漏的产生的新型攻击技术。此外,服务器与浏览器对URL解析的差异也是开放重定向漏洞的一个成因。
Web缓存欺骗(WCD)与Web缓存投毒(WCP)
Web缓存欺骗和Web缓存投毒是一种新的Web攻击向量,它使得多种Web缓存技术(如CDN、负载均衡器、反向代理)和框架都面临风险。两者都利用了web缓存,但在利用方式上有着不同。
xs-leak(Cross Site Leak)攻击
XS-Leak攻击本质上是一个浏览器侧信道攻击,可被用来推断并收集用户信息。很早这种利用方式就出现了。11年前,即2009年,Chris Evans利用恶意网站,构造不同的关键词搜索访问者电子邮件收件箱的内容。根据返回的时间判断该关键字是否存在,时间长则说明存在该关键词,反之依然。它存在的问题是影响时间的因素很多,准确度难以保证。在6年后,Nethanel Gelernter和Amir Herzberg将其命名为XSSearch,利用统计学的方法使结果更加可靠。而现在又出现的是利用缓存技术来判断查询的结果,它被叫做HTTP缓存跨站点泄漏。
反弹shell的那些事儿
最近在多种环境下进行反弹shell,在不同的环境下,它有着不同的限制,需要进行相应的变化。本文主要是记录这些问题,以便后续查看。
weblogic文件上传漏洞总结
WebLogic除了著名的T3反序列化漏洞、XMLDecoder反序列化漏洞以及XXE漏洞外,在其历史上也存在文件操作相关漏洞。
JNDI注入分析复现总结
前面的文章总结了RMI的安全性问题,而JNDI注入这类问题比RMI安全问题更常见。这篇文章分析了JNDI注入的整个流程,以及如何绕过高版本的2种方式。所有的代码放在了github上。
Java RMI攻击方式分析总结
RMI是一个基于序列化的Java远程方法调用机制。作为一个常见的反序列化入口,它和反序列化漏洞有着千丝万缕的联系。与RMI相关的攻击方式主要是:
- 直接攻击RMI
- JNDI注入
这篇文章主要总结RMI自身的安全问题,分析注册中心、客户端与服务端之间的交互通信流程并总结攻击RMI注册中心,RMI服务端以及RMI客户端的方式。
Hash长度扩展攻击
哈希摘要算法,如MD5、SHA1、SHA2等都是基于Merkle-Damgard结构。当知道hash(secret+message)的值及secret长度的情况下,可以轻松推算出hash(secret + message || padding || m’)的值。因为攻击者的hash计算过程,相当于从服务器计算过程的一半紧接着进行下去。当填充后,服务器计算出的原始hash值,正好与添加扩展字符串并覆盖初始链变量所计算出的一样。因此,出现此攻击。
CVE-2020-1957 Shiro权限绕过漏洞分析
该漏洞源自于shiro-682问题。即在spring框架下uri = uri + ‘/‘绕过shiro防护的问题。在shiro1.5.0版本进行修复。然而修复后的仍然可被绕过。这篇文章深入分析了Shiro这一漏洞。
FastJson反序列化介绍
之前虽然看了FastJson相关的内容,在复现的时候还是遇到了不少问题。因为比较详细地分析了下FastJson反序列化的过程,因此,记录了下来。