CC5: 这个相比CC1只是出口变了一下。 LazyMap类: 我们知道这个类的get()方法可以触发transform()方法。 public Object get(Object key) { // create value for key if key is not currently in the map if (map.containsKe…
CC4: 影响版本: JDK 8 Commons-Collections:4 TransformingComparator类: 入口:compare()函数 public int compare(final I obj1, final I obj2) { final O value1 = this.transformer.transform(obj…
CC3: 这个链子主要是用于Runtime类用不了的时候,原理就是用类似类加载器的方法从字节中创立一个恶意对象出来。 环境: jdk8u71以前 Commons-Collections <= 3.2.1 TemplatesImpl类: 先看入口: 类加载器的defineClass()本来是protected类型,且知识加载类,不执行类。要额外…
CC6: 版本要求: JDK ≤ 8u76 CommonsCollections <= 3.2.1 在cc1中,我们已经知道了AnnotationInvocationHandler类的invoke方法可以触发LazyMap的get方法,但其实TiedMapEntry类的getvalue方法也可以触发。 LazyMap: 我们先来看LazyMa…
PHP 常用函数: preg_match():用于执行正则表达式匹配 preg_match($pattern, $subject) //$pattern是正则表达式,$subject是要匹配的字符串 parse_str():直接将查询参数解析到当前作用域变量中 $_GET['id']时有: id=a[]=www.polarctf.com is_nu…
java反序列化CC1链路 版本要求: commons-collections 3.1–3.2.1 jdk < 8u71 链路概览: /* Gadget chain: ObjectInputStream.readObject() AnnotationInvocationHandler.readObject() Map(Proxy).entry…
java反序列化: 基础知识: 序列化,反系列化方法: ObjectOutputStream类的 writeObject() 方法可以实现序列化。 ObjectInputStream 类的 readObject() 方法用于反序列化。 序列化过程就是: 对象 -> ObjectOutputStream (将对象转为字节) -> File…
用flask_unsign爆破cookie或session 启动: python -m pip install flask_unsign python -m pip install flask_unsign_wordlist 爆破cookie生成私钥: from flask_unsign import Cracker, logger, DEFAUL…
文件上传绕过trick: 1:常见的php标签绕过: <?=短标签绕过 <script language='php'>...</script> 2:命令执行函数绕过: ('sys'.'tem') 一句话: <?php @eval($_POST['attack']);?> 改文件格式绕过: image标签: …
文件包含漏洞 文件包含漏洞全面详解-CSDN博客 文件包含漏洞 | 狼组安全团队公开知识库 CTF·Web基础 | PureStream & Marblue 包含日志文件getshell - myles007 - 博客园 文件包含漏洞利用之包含Session文件 | CN-SEC 中文网 漏洞成因: 文件包含漏洞的产生原因是 PHP 语言在…