自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Thunderclap的博客

Good Good Study , Day Day Up!

  • 博客(56)
  • 收藏
  • 关注

原创 JAVA代码审计关键字汇总

JAVA代码审计关键字汇总。

2023-03-13 10:26:28 909 1

原创 Java反序列化漏洞——jdbc反序列化漏洞利用

如果攻击者能够控制JDBC连接设置项,那么就可以通过设置其指向恶意MySQL服务器进行ObjectInputStream.readObject()的反序列化攻击从而RCE。

2023-03-08 11:17:37 1065

原创 信息收集之Google Hacking

site:域名 filetype:pdf | filetype:doc | filetype:xls | filetype:docx | filetype:xlsx | filetype:ppt | filetype:pptx | filetype:csv | filetype:odt | filetype:rtf | filetype:sxw。site:域名 ext:.xml | .conf | .cnf | .reg | .inf | .rdp | .cfg | .txt | .ora | .ini。

2023-03-06 10:32:36 1367

原创 渗透测试前期打点之企业资产收集

渗透测试前期打点之企业资产收集

2023-03-03 10:06:36 1220

原创 给你一个登录页面,你该如何做渗透测试呢?

当遇到只有一个登录页面的时候该如何做渗透测试呢?

2023-03-02 09:45:44 2964

原创 SSRF漏洞原理、危害以及防御与修复

SSRF漏洞基础原理与危害和防御措施

2023-02-28 10:32:02 2321

原创 渗透测试常用浏览器插件汇总

渗透测试常用浏览器插件汇总

2023-02-27 11:30:00 2453

原创 Windows下命令执行绕过技巧总结(渗透测试专用)

Windows下命令执行绕过技巧总结(渗透测试专用)

2023-02-26 12:00:00 1420

原创 命令执行中多种文本查看绕过waf命令合集

当渗透测试或者打CTF时,目标环境中存在waf或者一些过滤不允许执行一些查看文本命令,可以通过如下其他的未过滤命令进行利用

2023-02-25 11:00:00 582

原创 命令执行漏洞多种写入webshell方式总结

, 这些字符与双引号一起使用时具有特殊含义,并且在显示之前对其进行评估。单引号中的任何字符都没有特殊含义, 当你不想使用转义字符来更改 shell 脚本解释输入字符串参数方式时,就会很方便。简而言之,shell 将逐字解释单引号内的封闭文本,并且不会插入任何内容,包括变量、反引号、某些 \ 转义符等。在windows中,批处理需要转义字符主要有 “&”,“|”,“”等等,转义字符为”^”在Linux中,需要转义字符主要是 单引号 或者双引号 对于单引号,我们将其替换为\47即可。

2023-02-24 14:24:06 2861

原创 Linux下的命令执行绕过技巧合集(渗透测试专用)

Linux下的命令执行绕过技巧合集(渗透测试专用)

2023-02-23 19:00:00 3470

原创 命令执行漏洞利用及连接符的简单绕过

命令执行漏洞利用及连接符的简单绕过

2023-02-23 16:00:00 345

原创 Linux环境下绕过长度限制写入webshell

Linux环境下绕过长度限制写入webshell

2023-02-23 10:46:59 560

原创 php命令执行漏洞基础以及常用函数

说明:能够执行OS命令,但是该函数并不是返回命令结果,而是。说明:执行外部命令,与system()类似,但是该函数。说明:反引号[``]内的字符串,也会被解析成OS命令。禁用了shell_exec()同样反引号也无法使用。应用有时需要调用一些执行系统命令的函数,当服务器。说明:能够将字符串作为OS命令执行,自带输出功能。,可以加一个参数,即exec(ifconfig。说明:执行命令并以字符串的形式,返回。说明:能将字符串作为OS命令执行,,并且这个函数的运行参数是可控的。addslashes进行转义。

2023-02-22 11:38:44 524

原创 渗透测试——文件上传漏洞总结(思维导图)

文件上传漏洞利用总结思维导图

2023-02-21 11:28:11 443

原创 Java反序列化漏洞——CommonsBeanutils1链分析

在创建类的对象的时候可以为comparator赋予特定的比较器,值得注意的是如果没有设定自定义的comparator,其默认为ComparableComparator对象,当然,在调用链中,将会调用他的compare方法。接收两个参数 bean (类对象)和 name(属性名),方法会返回这个类的这个属性的值,但是他不是直接通过反射取值,而是通过反射调用getter方法获取属性,进而经过恶意的构造,我们可以触发任意的getter方法。getter方法以get开头,setter方法以set开头。

2023-02-20 09:51:55 1504

原创 Java反序列化漏洞——CommonsCollections4.0版本—CC2、CC4

因为这条利⽤链中的关键类org.apache.commons.collections4.comparators.TransformingComparator ,在commonscollections4.0以前是版本中是没有实现Serializable 接⼝的,⽆法在序列化中使⽤。实际上是可用的,比如CC6的链,引入的时候因为⽼的Gadget中依赖的包名都是org.apache.commons.collections ,⽽新的包名已经变。其他的代码不需要改变,即可创建出新版本下的利用链。

2023-02-18 18:46:15 1595

原创 Java反序列化漏洞——CommonsCollections3链分析

CC1链中我们是通过调用Runtime.getRuntime.exec()来执行系统命令,而另一个方向我们可以通过TemplatesImpl加载字节码的类,通过调⽤其newTransformer() 方法,即可执⾏这段字节码的类构造器,我们在类构造器中加入恶意代码,即可执行任意命令。利⽤InstantiateTransformer 来调⽤到TrAXFilter 的构造⽅法,再利⽤其构造⽅法⾥的templates.newTransformer() 调⽤到TemplatesImpl ⾥的字节码。

2023-02-17 18:00:53 888

原创 Java反序列化漏洞——CommonsCollections6链分析

实际上在java.util.HashMap#readObject 中就可以找到HashMap#hash() 的调⽤,去掉了最前⾯的两次调⽤,在HashMap的readObject⽅法中,调⽤到了hash(key) ,⽽hash⽅法中,调⽤到了key.hashCode()。ysoserial中,是利⽤java.util.HashSet#readObject 到HashMap#put() 到HashMap#hash(key),最后到TiedMapEntry#hashCode()。getValue方法。

2023-02-17 16:50:49 569

原创 Java反序列化漏洞——CommonsCollections1链分析

我们知道,如果一个类的方法被重写,那么在调用这个函数时,会优先调用经过修改的方法。因此,如果某个可序列化的类重写了readObject()方法,并且在readObject()中对Map类型的变量进行了键值修改操作,且这个Map变量是可控的,我么就可以实现攻击目标。LazyMap的漏洞触发点和TransformedMap唯一的差别是,TransformedMap是在写入元素的时候执行transform,而LazyMap是在其get方法中执行的factory.transform。

2023-02-17 14:50:32 1176

原创 Java反序列化——CommonsCollections中基础知识

Apache Commons Collections中实现了TransformedMap ,该类可以在一个元素被添加/删除/或是被修改时(即key或value:集合中的数据存储形式即是一个索引对应一个值,就像身份证与人的关系那样),会调用transform方法自动进行特定的修饰变换,具体的变换逻辑由Transformer类定义。在实例化这个InvokerTransformer时,需要传入三个参数,第⼀个参数是执行的方法名,第⼆个参数是这个函数的参数列表的参数类型,第三个参数是传给这个函数的参数列表。

2023-02-17 11:10:09 400

原创 Mysql元数据获取方法(information_schema绕过方法)

information_schema绕过方法总结

2023-02-16 11:43:14 1212

原创 sqlmap常用tamper汇总及使用指导

sqlmap常用tamper汇总及使用指导

2023-02-15 17:47:58 1725

原创 sqlmap使用手册及参数汇总

sqlmap使用手册及参数汇总

2023-02-15 17:42:40 623

原创 log4j漏洞源码分析

log4j漏洞源码代码思路调试分析

2023-02-15 10:29:12 354

原创 java渗透测试基础之——RMI

RMI全称是Remote Method Invocation(远程方法调用),是专为Java环境设计的远程方法调用机制,远程服务器提供API,客户端根据API提供相应参数即可调用远程方法。由此可见,使用RMI时会涉及到参数传递和结果返回,参数为对象时,要求对象可以被序列化。目的是为了让两个隔离的java虚拟机,如虚拟机A能够调用到虚拟机B中的对象,而且这些虚拟机可以不存在于同一台主机上。RMI ClientRMI Serverjava.rmi:提供客户端需要的类、接口和异常;

2023-02-10 14:14:59 981

原创 java字节码以及ClassLoader类加载机制

上面提到ClassLoader 能够加载字节码的关键就在于loadClass findClass defineClass 这三个方法因为 loadClass 实现了双亲委派机制, Java 官方不推荐直接重写该方法 (除去一些特殊情况, 比如 tomcat 和 jdbc 就破坏了这种机制)而defineClass 是一个 native 方法, 底层由 C++ 实现所以我们的重点就是重写 findClass 方法, 并最终在里面调用 defineClass。

2023-02-09 15:40:16 618

原创 java静态代理和动态代理

代理类和被代理类通常会存在关联关系(即上面提到的持有的被带离对象的引用),代理类本身不实现服务,而是通过调用被代理类中的方法来提供服务。创建一个接口,然后创建被代理的类实现该接口并且实现该接口中的抽象方法。在代理类中持有一个被代理对象的引用,而后在代理类方法中调用该对象的方法。但是静态代理的缺点也暴露了出来:由于代理只能为一个类服务,如果需要代理的类很多,那么就需要编写大量的代理类,比较繁琐。被代理类被传递给了代理类HelloProxy,代理类在执行具体方法时通过所持用的被代理类完成调用。

2023-02-09 14:19:21 136

原创 python模块——Beautiful Soup模块(bs4)

Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.Beautiful Soup会帮你节省数小时甚至数天的工作时间.prettify() 方法将Beautiful Soup的文档树格式化后以Unicode编码输出,每个XML/HTML标签都独占一行。#获取Tag,通俗点就是HTML中的一个个标签。

2023-02-09 10:18:24 532

原创 shiro的payload长度限制绕过

yishiro反序列化漏洞常规利用点在数据包的header头中,在这里直接插入目标代码,生成的payload是很长的,肯定会超过中间件 header 长度限制,如何解决这个问题呢?将如上base64编码的内容复制到burpsuite中,作为calssData的值,在发送请求,即可执行字节码中的内容,弹出计算器。新建项目修改pom,添加如下两个依赖,一个是tomcat的,一个是springframework的。通过以往的构造payload的exp.py代码如下,构造header头的类构造器。

2023-02-08 11:28:26 2554 3

原创 shiro无依赖利用链及exp编写

因为shiro是存在commons-beanutils的依赖的,这样我们可以通过构造原生的CB1的链进行攻击shiro,但是我们通过ysoserial的CB1的链会发现其实并不会成功。原因是因为CB1的链里面其实是依赖于commons.collections包里面的部分内容的。如下发现是在我们构造BeanComparator的时候会调用,当没有显式传入Comparator 的情况下,则默认使用ComparableComparator。

2023-02-08 11:07:35 1229

原创 shiro反序列化漏洞利用以及exp编写

为了让浏览器或服务器重启后用户不丢失登录状态,Shiro支持将持久化信息序列化并加密后保存在Cookie的rememberMe字段中,下次读取时进行解密再反序列化。但是在Shiro 1.2.4版本之前内置了一个默认且固定的加密Key,导致攻击者可以伪造任意的rememberMe Cookie,进而触发反序列化漏洞。

2023-02-08 11:02:21 638

原创 shiro漏洞原理以及检测key值原理

Shiro 1.2.4及之前的版本中,AES加密的密钥默认硬编码在代码里(SHIRO-550),Shiro 1.2.4以上版本官方移除了代码中的默认密钥,要求开发者自己设置,如果开发者没有设置,则默认动态生成,降低了固定密钥泄漏的风险。升级shiro版本并不能根本解决反序列化漏洞,代码复用会直接导致项目密钥泄漏,从而造成反序列化漏洞。针对公开的密钥集合,我们可以在github上搜索到并加以利用。

2023-02-08 10:32:21 4529

原创 利用ClassLoader#defineClass动态加载字节码

利用ClassLoader#defineClass直接加载字节码,底层调用原理。

2023-02-07 10:56:08 2463

原创 利用TemplatesImpl加载字节码

调用了 TemplatesImpl#newTransformer() 并且它也是 public 类型的,如下也成功触发。TemplatesImpl 类中已经没有调用 getTransletClasses() 的方法了,而 getTransletInstance() 方法在。com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl 这个类中定义了一个内部类。Java中默认情况下,如果一个。方法中被调用了,所以构造如下链,P牛用的就是如下的链。

2023-02-06 14:40:24 391

原创 BCEL classloader

BCEL的全名应该是Apache Commons BCEL,属于Apache Commons项目下的一个子项目。Apache Commons大家应该不陌生,反序列化最著名的利用链就是出自于其另一个子项目——Apache Commons Collections。就这个库的功能来看,其使用面远不及同胞兄弟们,但是他比Commons Collections特殊的一点是,它被包含在了原生的JDK中,位于com.sun.org.apache.bcel。

2023-02-06 14:33:43 638

原创 渗透测试资产指纹识别工具

渗透测试资产指纹识别工具

2022-11-26 11:33:09 1866

原创 Java代码审计基础—反射(渗透测试)

Java代码审计基础——反射

2022-08-26 16:10:40 1319

原创 java中的命令执行汇总

命令执行漏洞只关注 第一个或者如果该参数完全可控,或者是/bin/bash(Linux)或cmd(Windows)等运行shell解析器的命令、后面的部分可控,则可以注入。如果的哥参数是bat或者sh脚本文件,后面的参数可控,则需要根据脚本如何使用可控参数来判断是否可以注入。ScriptEngine接口:可使用ScriptEngine.eval解析多种脚本,比如JavaScript,而JavaScript中可以执行java命令。

2022-08-21 22:26:18 6280

原创 requests模块

python常用的网路请求模块——requests模块介绍及简单使用

2022-07-13 22:57:22 1439

空空如也

空空如也

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

TA关注的人

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