SWPUCTF 2022
Web
numgame
进入页面后是个文字游戏,题目为 10+10=? ,但是无论如何加减都不能改到 20 。

因此开始尝试 F12 打开开发者工具,但是不起作用,发现右键也被禁用了。下一步直接一把梭把 JavaScript 禁用了,禁用之后打开开发者工具,可以发现 /js/1.js ,其内容如下
对 TnNTY1RmLnBocA== 进行 Base64 解码可以得到 NsScTf.php ,访问 NsScTf.php 可以得到以下内容
通过提示可得知应该使用 POST 请求协议,由于 nss 类内函数 ctf 为静态函数,可以直接通过 nss::ctf 来调用。通过访问 /hint2.php 可以得知类名为 nss2 ,因此通过构造 payload p=nss2::ctf 就可以得到 flag 了。
ez_ez_php
Payload 如下
回显如下
最终 Payload 如下
ez_ez_php(revenge)
Payload 如下
ez_rce
先来一波 Dirsearch
robots.txt 内容如下
访问 /NSS/index.php 可以得到提示 ThinkPHP 。

通过 ThinkPHP-Scan 扫描一下。
构造 Payload 如下以来传入 Shell
通过蚁剑连接
连接后发现根目录的 /flag 是空的,发现 nss 文件夹,最后发现 flag 在 /nss/ctf/flag/flag 。
奇妙的MD5
在 Header 头可以看到 Hint 。
可以通过 ffifdyop 进行绕过,原因是 ffifdyop 经过 md5 加密后变成 276f722736c95d99e921722cf9ed621c ,再转换成字符串则变为 'or'6É]é!r,ùíb 使得以上 SQL 语句变成了如下样子。
跳转后,得到源代码如下
Payload 如下
可以得到以下代码
Payload 如下
就可以得到 flag 了。
where_am_i
问题:什么东西是11位啊?
那就是需要找图上这个地方的电话号码。
http://www1.zmjd100.com/hotel/pc/1283140?checkIn=2023-07-26&checkOut=2023-07-27
02886112888
1z_unserialize
构造序列化
构造 Payload 如下
回显如下
构造 Payload 如下
回显就是 flag 。
ez_ez_unserialize
这题需要 __wakeup() 魔术方法绕过,先构造序列化。
把对象属性个数修改一下绕过 __wakeup() 即可,构造 Payload 如下
flag 就出来了。
xff
Payload 如下
js_sign
dGFwY29kZQ== 解码得到 tapcode
http://www.hiencode.com/tapcode.html
即可得到 flag 。
ez_sql
先探索下看看哪些被过滤了(
构造 Payload 如下
可以推断出字段有 3 行。
构造 Payload 如下
webdog1__start
查看源代码如下
看来是 md5 弱比较,构造 Payload 如下即可绕过。
查看 Header 头可以发现 Hint 如下
然后又根据 Header 头发现 Hint
使用蚁剑通过
连接一把梭就可以获得 flag 了。
funny_php
L1 - 通过科学计数法即可绕过,例如
1e9。L2 - 双写即可绕过,即
NSNSSCTFSCTF。L3 - MD5 强比较,通过
s878926199a和s155964671a即可绕过。
Payload 如下
ez_1zpop
链子如下
构造序列化如下
MD5 强比较,通过 s878926199a 和 s155964671a 即可绕过,把对象属性个数修改一下即可绕过 __wakeup() ,构造 Payload 如下(跳过 ls /)
就可以得到 flag 了。
funny_web
构造 Payload 如下
Ez_upload
回显 后缀名不能有ph! ,尝试改成其他名称,换成 .jpg 回显 还是换个其他类型吧 。
先上传 .htaccess
回显 /var/www/html/upload/5aca69d12f41e6e7c397787dcb501ac3/.htaccess succesfully uploaded! ,之后上传图片马
回显 /var/www/html/upload/5aca69d12f41e6e7c397787dcb501ac3/1.jpg succesfully uploaded! ,用蚁剑一把梭发现 flag 根本不在根目录。
flag 就在 phpinfo() 里面。
file_master
图片必须是 .jpg 且规格最大不超过 20*20 。
index.php 源码如下
上传图片马,并修改后缀为 .php 。

通过访问
可以得到目录

通过访问
可以得到 flag 。
Power!
源代码存在提示如下
构造 Payload 如下
可以得到 index.php 的源代码
构造 Payload 如下
可以得到 flag.php 的源码如下
因此需要通过 curl 方法来从内网获取到 flag,链子如下
构造序列化如下
需要绕过 __wakeup() 魔术方法,所以需要修改对象属性个数,序列化变为
再进行 base64 编码就得到最后的 Payload 如下
得到回显如下
通过 base64 解码即可获得 flag 。
Last updated