cc链1
环境准备1.下载jdku65 https://blog.lupf.cn/articles/2022/02/19/1645283454543.html 2,依赖配置 12345678<dependencies><!-- https://mvnrepository.com/artifact/commons-collections/commons-collections --><dependency><groupId>commons-collections</groupId><artifactId>commons-collections</artifactId><version>3.2.1</version></dependency></dependencies> 3.将class文件转化为java文件 https://hg.openjdk.org/jdk8u/jdk8u/jdk/rev/af660750b2f4 点击zip,进行下载 然后解压j...
java任意类加载
三种方法的任意类加载第一种方法 使用URLClassLoder类进行任意类加载,具体实现如下: 12345URLClassLoader urlClassLoader = new URLClassLoader(new URL[]{new URL("file:///D:\\tmp\\")});//http也是可以的 Class<?> c = urlClassLoader.loadClass("test"); c.newInstance(); //URLClassLoader 任意类加载 第二种方法 使用ClassLoader里的defineClass方法 12345678910//不用出网 ClassLoader cl = ClassLoader.getSystemClassLoader(); Method cname = ClassLoader.class.getDeclaredMethod("defineClass", St...
java动态代理
静态代理静态代理概念在Java编程中,静态代理是一种设计模式,它允许通过一个代理类来控制对一个对象的访问。 静态代理实现先提供一个接口 123456package com.ex2.www;//定义一个接口public interface IUser { void show();} 接口的一个实现类 1234567891011package com.ex2.www;//实现接口的具体类public class Usermpl implements IUser { @Override public void show() { System.out.println("show"); }} 然后是一个代理类 12345678910111213package com.ex2.www;public class UserProxy implements IUser { IUser user; //使用接口数据类型 public UserProxy(IU...
java反射
java反射概念Java反射机制是在运行状态时,对于任意一个类,都能够获取到这个类的所有属性和方法,对于任意一个对象,都能够调用它的任意一个方法和属性(包括私有的方法和属性),这种动态获取的信息以及动态调用对象的方法的功能就称为java语言的反射机制。 java反射基本用法Person类 12345678910111213141516171819202122232425262728293031323334353637package com.ex.www;import java.io.IOException;import java.io.ObjectInputStream;import java.io.Serializable;import java.util.HashMap;import java.util.Map;public class Person implements Serializable { private transient String name; private int age; public Person() { ...
sql-未知列名的注入
参考https://www.jianshu.com/p/6eba3370cfab 未知列名查询1.正常下我们是查询到以下情况 2.当我们结合到union的方法时 1select 1,2,3 union select * from users; 3.然后我们就可以使用数字来对应列了,例如3对应表里的pass 1select `3` from (select 1,2,3 union select * from users)a; 这边解释一下为什么要加a,加上a类似于 1select `3` from (select 1,2,3 union select * from users) as a; 我们在查询时from后面要有一个名称,而我们上述的作用就是将()里的子查询命名为a,这样才可以查询到3的列。 4.当`被waf掉时,我们可以使用别名的方法绕过 1select b from (select 1,2,3 as b union select * from users) as a; 5.查询多个列时 1select group_concat(`2`,0x3a,`...
[CISCN2019_华东南赛区]Web11
知识点Smarty SSTI {if}标签,其需要{/if}来进行配对,当然也可以使用{else}和{elseif}。全部条件表达式和函数都可以在if使用。 1{if phpinfo()}{/if} 题解第一种方法 找到注入点之后使用if标签来读取flag 第二种方法 直接进行命令执行。
训练赛
webezpython 从这边可以看到是python的原型链污染 可以直接污染掉对黑名单 1{"__globals__": {"param_black_list1": ["123"]}} 然后打ssti即可 得到flag 压压压 第一个点是<=7.4.21的php -S开启的服务它有⼀个信息泄露的漏洞 https://www.cnblogs.com/Kawakaze777/p/17799235.html 空格是必要的,读出源码,开始审计 123456789<?phperror_reporting(0);$finfo = finfo_open(FILEINFO_MIME_TYPE);if (finfo_file($finfo, $_FILES["file"]["tmp_name"]) === 'application/zip') //判断MIME是否为application/zip{...
内网-单域搭建
单域搭建第一步:更改用户名关闭防火墙(方便实验)第二步:配置静态ip地址和DNS我用了三台虚拟机,分别设置 DC机 web机 pc机 第三步:DC安装域控 在这两个位置能够安装(按顺序来),因为我是安装过的,所以就不展示安装过程了 添加域名 第四步:域内添加用户 然后修改主机名称加入域 web机和pc机加入就行 然后我们尝试使用 CobaltStrike4.7生成木马来连接主机 连接后生成一个木马,让web机或者pc机运行木马即可 连接成功并执行命令
CVE-2022-0824
webmin远程代码执行webmin是功能最强大的基于web的unix系统管理工具 漏洞影响版本: <1.990 poc: https://github.com/faisalfs10x/Webmin-CVE-2022-0824-revshell 弹到shell 这里要用python开一个web协议
CVE-2019-16278
nostromo 远程命令执行 (CVE-2019-16278)nostromo一款开源的web服务器 做题方法nostromo1.9.6 存在目录穿越命令,攻击者指向/bin/sh这样的shell文件后,借此执行任意命令 路径遍历使用的是.%0d./.%0d./.%0d./.%0d./bin/sh ,后端会将换行删除最后呈现的是../../../../bin/sh 可以执行命令,然后我们就可以使用工具 如果你去执行命令的话,波煮试过了执行id命令,不会执行,会报错,具体原因,波煮看完别人的文章也复现不出来(波煮很菜)然后只能用工具得到进行命令执行了。 https://github.com/jas502n/CVE-2019-16278