记录黑客技术中优秀的内容, 传播黑客文化,分享黑客技术精华

Ripstech Java Security 2019 Calendar复现系列(三)

Day11 目录遍历->RCE代码Day 11https://www.ripstech.com/java-security-calendar-2019/漏洞点这段代码的作用是将tar文件里面的内容提取到tomcat临时目录中以test开头的文件夹中。"/tmp/uploaded.tar"是攻击者可控的。tar文件里的每个文件或文件夹都映射到一个TarArchiveEntry对象。由于第16行的TarArchiveEntry.getName()获取tar文件里的文件名,然后通过一个简单的对"../"的过滤到达接收器java.io.File。由于过滤不严,可以绕过../的检查,将文件写入到任意目录下,从而可导致RCE攻击。复现过程1. 环
发布时间:2020-02-17 13:27 | 阅读:1420 | 评论:0 | 标签:java

Java RMI原理及反序列化学习

RMI 远程方法调用 RMI简介 Java远程方法调用,即Java RMI(Java Remote Method Invocation)是Java编程语言里,一种用于实现远程过程调用的应用程序编程接口。它使客户机上运行的程序可以调用远程服务器上的对象。远程方法调用特性使Java编程人员能够在网络环境中分布操作。RMI全部的宗旨就是尽可能简化远程接口对象的使用。 接口的两种常见实现方式是:最初使用JRMP(Java Remote Message Protocol,Java远程消息交换协议)实现;此外还可以用与CORBA兼容的方法实现。RMI一般指的是编程接口,也有时候同时包括JRMP和API(应用程序编程接口),而RMI-IIOP则一般指RMI接口接管绝大部分的功能,以支持CORBA的实现。 最初的RMI AP
发布时间:2020-02-16 02:48 | 阅读:2977 | 评论:0 | 标签:java 学习

Java sink整理

 前言最近整理了一下java sink,同样可以用于bypass waf。 sink命令执行常规命令执行Runtimepublic class Main { public static void main(String[] args) throws IOException { Runtime.getRuntime().exec("calc"); }}ProcessBuilderpublic class Main { public static void main(String[] args) throws IOException { //new ProcessBuilder("calc").start();
发布时间:2020-02-14 17:46 | 阅读:2896 | 评论:0 | 标签:java

浅谈Java RMI 反序列化安全问题

 0x00 前言本文讲述了Java RMI Registry 远程bind对象所带来的反序列化问题,包括两个level,具体见下面 0x01 原理Java RMI流程可参考1,出问题的位置在于:从Client接收到的bind或rebind的remote obj,将由sun/rmi/registry/RegistryImpl_Skel.java#dispatch处理可以看到获取到的序列化数据直接调用了readObject函数,导致了常规的Java反序列化漏洞的触发。这里我们只需要写一个bind或rebind的操作,即可攻击到RMI Registry。 0x02 Level 1Level1 使用的是jdk8u111,该版本下的RMI Registry接收的remote
发布时间:2020-02-14 17:46 | 阅读:2183 | 评论:0 | 标签:java

【Java 代码审计入门-04】SSRF 漏洞原理与实际案例介绍

0x00 写在前面为什么会有这一些列的文章呢?因为我发现网上没有成系列的文章或者教程,基本上是 Java 代码审计中某个点来阐述的,对于新人来说可能不是那么友好,加上本人也在学习 Java 审计,想做个学习历程的记录和总结,因此有了本系列的文章。本系列的文章面向人群主要是拥有 Java 基本语法基础的朋友,系列文章的内容主要包括,审计环境介绍、SQL 漏洞原理与实际案例介绍、XSS 漏洞原理与实际案例介绍、SSRF 漏洞原理与实际案例介绍、RCE 漏洞原理与实际案例介绍、包含漏洞原理与实际案例介绍、序列化漏洞原理与实际案例介绍、S2系列经典漏洞分析、WebLogic 系列经典漏洞分析、fastjson系列经典漏洞分析、jackson系列经典
发布时间:2020-02-12 09:13 | 阅读:5549 | 评论:0 | 标签:漏洞 java 审计 ssrf

浅析javascript原型链污染攻击

浅析javascript原型链污染攻击0x0 前言  关于javascript原型链污染攻击的分析文章相对于其他技术文章来说还是偏少的,不知道是不是我打的比赛少还是什么原因,关于这方面的题目也是比较少的,所以该类题目可能出题要求比较高,质量相应比较好。恰巧最近用nodejs在写一个小东西,发现了原来很多依赖库会有各种安全问题,于是打算以原型链攻击为契机学习js下的安全漏洞。0x1 原型与原型链Javascript中一切皆是对象, 其中对象之间是存在共同和差异的,比如对象的最终原型是Object的原型null,函数对象有prototype属性,但是实例对象没有。原型的定义:原型是Javascript中继承的基础,Javascript的继承就是
发布时间:2020-02-11 10:36 | 阅读:5816 | 评论:0 | 标签:java javascript 攻击

Java 中 RMI、JNDI、LDAP、JRMP、JMX、JMS那些事儿(上)

作者:Longofo@知道创宇404实验室时间:2019年11月4日 之前看了SHIRO-721这个漏洞,然后这个漏洞和SHIRO-550有些关联,在SHIRO-550的利用方式中又看到了利用ysoserial中的JRMP exploit,然后又想起了RMI、JNDI、LDAP、JMX、JMS这些词。这些东西也看到了几次,也看过对应的文章,但把他们联想在一起时这些概念又好像交叉了一样容易混淆。网上的一些资料也比较零散与混乱,所以即使以前看过,没有放在一起看的话很容易混淆。下面是对RMI、JNDI、LDAP、JRMP、JMX、JMS一些资料的整理。 注:这篇先写了RMI、JNDI、LDAP的内容,JRMP、JMX、JMS下篇再继续。文章很长,阅读需要些耐心。 测试环境说明 文中的测试代码放
发布时间:2020-02-09 22:03 | 阅读:5922 | 评论:0 | 标签:安全研究 Java JNDI LDAP RMI

关于 Java 中的 RMI-IIOP

作者:Longofo@知道创宇404实验室 时间:2019年12月30日 在写完《Java中RMI、JNDI、LADP、JRMP、JMX、JMS那些事儿(上)》的时候,又看到一个包含RMI-IIOP的议题[1],在16年Blackhat JNDI注入议题[2]中也提到了这个协议的利用,当时想着没太看到或听说有多少关于IIOP的漏洞(可能事实真的如此吧,在下面Weblogic RMI-IIOP部分或许能感受到),所以那篇文章写作过程中也没去看之前那个16年议题IIOP相关部分。网上没怎么看到有关于IIOP或RMI-IIOP的分析文章,这篇文章来感受下。 环境说明 文中的测试代码放到了github上测试代码的JDK版本在文中会具体说明,有的代码会被重复使用,对应的JDK版本需要自己切换
发布时间:2020-02-09 22:03 | 阅读:6311 | 评论:0 | 标签:安全研究 Java RMI-IIOP

2019 Trend Micro CTF & Java Web

前言之前写的文章都是偏重于php,本篇文章就以2019 Trend Micro CTF的一道300分的Java Web开始我的Java之路吧~题目分析题目给了1个war包,那么很明显是一道代码审计题目,我们使用JD-GUI打开分析一下代码,代码结构大致如下:我们在Office类中看到需要接收2个参数:继续往下跟进,我们看到一个明显的spel表达式注入点:而nametag正是我们传入的参数,同时未做任何过滤,便带入了表达式中进行解析,那么这明显是一个可控利用点。但是如何进入该if条件句成为了一个问题,我们注意到:String keyParam = request.getParameter(&
发布时间:2019-10-11 13:10 | 阅读:17724 | 评论:0 | 标签:Web安全 java SPEL xxe

2019 OGeek Final & Java Web

前言前段时间参加了OPPO举办的OGeek网络安全比赛线下赛,遇到一道Java Web,由于不太擅长,只是做了防御没有攻击成功,趁周末复盘一下~代码分析拿到题目,发现没有啥功能:顺势看了一眼源码:看到shiro后立刻可以想到shiro的反序列化漏洞:https://paper.seebug.org/shiro-rememberme-1-2-4/可以看到存在漏洞的shiro版本号为:1.2.4,我们查看题目当前版本:那么显然,是存在shiro反序列化攻击的。shiro反序列化查阅相关资料可以知道,该漏洞的利用,涉及如下几个重要的点:- rememberMe cookie- CookieRem
发布时间:2019-09-29 13:10 | 阅读:34225 | 评论:0 | 标签:Web安全 CTF java web

Java反序列化: 基于CommonsCollections4的Gadget分析

0x1 背景及概要随着Java应用的推广和普及,Java安全问题越来越被人们重视,纵观近些年来的Java安全漏洞,反序列化漏洞占了很大的比例。就影响程度来说,反序列化漏洞的总体影响也明显高于其他类别的漏洞。在反序列化漏洞的利用过程中,攻击者会构造一系列的调用链以完成其攻击行为。如何高效的生成符合条件且可以稳定利用的攻击Payload成为了攻击链条中的重要一环,当前已经有很多现成的工具帮助我们完成Payload的生成工作。本文主要以Ysoserial工具为例分析了基于org.apache.commons.collections4类库的Gadget,其通过构造一个特殊的PriorityQueue对象,将其序列化成字节流后,
发布时间:2019-01-03 12:21 | 阅读:77498 | 评论:0 | 标签:技术 java

一次受限环境中的Java反序列化漏洞挖掘到Get Shell

在本文中,我们将向你展示一个利用不安全的反序列化漏洞的过程,我们将以WebGoat 8反序列化挑战(部署在Docker上)为例。只需执行sleep5秒即可解决挑战。但是,我们将会进一步寻求乐趣并尝试get shell。介绍Java的反序列化问题在安全领域已经被安全人员所熟知很多年了。2015年,两名安全研究人员Chris Frohoff和Gabriel Lawrence在AppSecCali上发表了名为Marshalling Pickles 的演讲。此外,他们还发布了一个名为ysoserial的有效载荷生成器的工具。对象序列化主要是为了开发人员能够将内存中的对象转换为二进制和文本数据格式进行存储或传输。但是,
发布时间:2018-11-29 12:20 | 阅读:94551 | 评论:0 | 标签:Web安全 漏洞 java

宜人贷招聘JAVA构架师(风控)

宜人贷(NYSE: YRD)是中国领先的在线金融服务平台,由宜信公司2012年推出。宜人贷通过科技驱动金融创新,为中国优质城市白领人群提供高效、便捷、个性化的信用借款咨询服务;通过“宜人财富”为大众富裕阶层提供安全、专业的财富管理服务。2015年12月18日,宜人贷在美国纽约证券交易所成功上市,成为中国金融科技第一股。 JAVA架构师(风控) 薪资范围: 40K-50K 岗位描述: 1.负责业务安全的应用架构设计,使系统体系化并具有前瞻性,能快速发现业务风险和及时管控。 2.充分利用数据和大数据处理的能力,驱动业务系统及风控业务具备更智能化的特性。 3.引导团队用架构的思路设计和规划系统,使团队的架构设计能力更上一个层面。 岗位要求: 1. 计算机软件或相关专业,本科或以上学历; 2. 具
发布时间:2017-09-09 17:40 | 阅读:2235271 | 评论:0 | 标签:安全招聘 java 宜人贷 风控

针对J2EE的重定向后代码执行

关于EAR 几年之前关于一种“新类型”的漏洞——重定向后代码执行的白皮书,被发布在http://cs.ucsb.edu/~bboe/public/pubs/fear-the-ear-ccs2011.pdf.这是一种“逻辑“型漏洞,关于EAR的原理也很简单。就是当一个web应用返回重定向头给用户时,没有停止而是继续执行之后的代码。因此,有可能绕过授权并且在web 应用中执行一些动作或者窃取一些重要信息。 下面的例子更清晰的解释了EAR:                 if (!(request.getParameter(“pass”).equals(adminPswd))) {                            response.sendRedirect(“
发布时间:2017-08-25 22:05 | 阅读:114813 | 评论:0 | 标签:专栏 java 任意代码执行漏洞

java代码审计入门-SQL注入

来看一下代码,首先看statement的,当然现在已经几乎没人用了,首先这里使用拼接语句,直接将id带入查询而Statement每次执行sql语句都是进行编译导致的产生 //接受传参 //接受传参 String id=request.getParameter("id"); //链接数据库 Class.forName("com.mysql.jdbc.Driver"); Connection conn=DriverManager.getConnection("jdbc:mysql://localhost/codeaudit","root","root"); Statement statement=con
发布时间:2017-03-25 09:10 | 阅读:326928 | 评论:0 | 标签:Java 代码审计 注入

java简单实现千倍速度爆破一句话

代码如下: import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.URL; import java.net.URLConnection; import java.util.HashSet; public class Crack extends Thread{ private String dic; public Crack(String dic) { this.dic=dic; }
发布时间:2017-03-19 01:40 | 阅读:206481 | 评论:0 | 标签:Java 语言编程 java渗透 java爆破一句话

公告

九层之台,起于垒土;黑客之术,始于阅读

推广

工具

标签云