0%

Fastjson反序列化简易入门

终于放暑假啦哈哈哈,放暑假后差不多先摸了一个星期的鱼,然后再开始学点东西

关于Fastjson网上能查到的东西已经非常非常多了,所以我写的肯定没那群神仙好,简单记录一下自己都在学啥,免得日后忘了

本文代码基本上也是网上抄的

简易环境搭建

阅读全文 »

祥云杯2021 web wp

六个题出了三个,太菜了太菜了。后续看了wp之后感觉唯一的确做不出来的是那个java,因为我真的不会java

ezyii

撤回我之前的好评,原来这个题真的是一个百度就能复制粘贴打的题,可惜我觉得链子不难就直接看了。原来这个题出出来就是复制粘贴的
yii 2.0.42 最新反序列化利用全集

简单看一下
反序列化入口,唯一的__destruct

阅读全文 »

[NCTF2019]phar matches everything

BUU继续重拳出击,总觉得刷题的意义正在逐渐消失,不想这么单纯的刷体了,感觉只能让我成为一个赛棍。应该学点什么,以后水一点的题就不记了,起码要学到一点点东西再说

题解

buu上给出了源码,两个关键文件,一个文件上传,一个反序列化,文件上传限制了后缀和文件名,反序列化处有一个经典用phar来触发的操作,反序列化的结果就是一次curl

反序列化的操作非常简单不在赘述,稍微要考虑一下的就是文件上传。检测后缀对phar来说并没有什么问题,因为phar协议指定去读一个文件也不管他是什么后缀。唯一要过的点就是那个imagesize函数的检测,也很简单,用那个经典的#define width 1就能过,就放在那个压缩进phar的文件里就行,要另起一行才能正确识别

阅读全文 »

[HFCTF2021]hatenum

BUU上的复现,之前做其他题的时候一直在想HFCTF是个啥,合肥CTF?听起来就很不合理,这次这个题是之前队里师傅出的,所以我到这个时候才发现原来是虎符CTF。。。

SQL注入题,但是我作为SQL注入废物,自然是不能很顺畅的做出来

题解

代码很简单,登录注册两个功能,admin登录就能拿flag。过滤了一堆东西 preg_match('/union|select|or|and|\'|"|sleep|benchmark|regexp|repeat|get_lock|count|=|>|<| |\*|,|;|\r|\n|\t|substr|right|left|mid/i', $str)),同时还限制了数字(preg_match('/\d{9}|0x[0-9a-f]{9}/i',$str))。登录的话,登录成功失败和发生错误是三个不同的回显,所以可以通过触发错误进行盲注,常见操作就是整数溢出注入了,但是这里限制了数字的位数,所以整数溢出似乎也做不到。

阅读全文 »

[GKCTF2021]babycat与XMLDecoder反序列化

java题,有一个非预期版本和一个完全体,由于我垃圾的java基础和审计水平,并没有发现非预期写的垃圾代码,都是按完全体思路去做的

题解

注册登录两个路由,注册点了之后会有一个not allowed的烟雾弹,但是其实页面存在且有js提示。但是我直接抓了个登录的包然后改路由到register上成功注册了
登录进去之后有两个主要功能,一个上传一个下载,上传要求用户权限admin,而下载是个任意文件下载。一开始并没有意识到这个是java题,还在想是不是nodejs或者python,但是后来看那个默认的图片下载目录穿越了两层目录才下下来,越想越不对劲,感觉可能是java。开始乱按,对java的工作路径和目录结构不是很熟悉,但还是成功摸到../../WEB-INF/web.xml,看到了各个类的路径
依次根据各类路径下载class文件,丢到Intellij中反编译。

admin登录

阅读全文 »