目录

  • 源码
  • 思路
  • 题解
  • 总结

源码

<?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 — 清空(擦除)缓冲区并关闭输出缓冲

关于缓存区的,可以参考大佬博客

https://www.cnblogs.com/raobenjun/p/8086051.html

读取的文件内容会进入缓冲区存进变量s中,关闭缓冲区,然后再用echo输出s中的内容(数字字母被替换成?).绕过的方法很简单,就是执行完我们传入的代码然后直接结束程序不执行后面的代码,用die()或者exit(0)

题解

c=var_export(scandir("/"));die();


c=include(’/flag.txt’);die();
拿到flag


总结

水题

CTFshow 命令执行 web71相关推荐

  1. CTFshow——命令执行

    CTFshow--命令执行 Web29 <?php error_reporting(0); if(isset($_GET['c'])){$c = $_GET['c'];if(!preg_matc ...

  2. [CTFSHOW]命令执行

    文章目录 web 29 web 30 web 31 web32 web33-36 web37 web38 web40 web41 web42 web43 web44 web45 web46 web47 ...

  3. CTFshow命令执行29-123

    命令执行 WEB29 eval是php中执行以PHP脚本执行的命令 PHP命令可以执行脚本命令 本题使用方法是先 system(cp f*.php 1.txt) 然后访问1.txt WEB30 在PH ...

  4. CTFshow 命令执行 web72

    目录 源码 思路 题解 总结 源码 <?php/* # -*- coding: utf-8 -*- # @Author: Lazzaro # @Date: 2020-09-05 20:49:30 ...

  5. ctfshow 命令执行 web29-web77 web118-122 web124 wp

    南神博客 文章目录 命令执行 web29 web30 web31 web32 web33 web34 web35 web36 web37 web38 web39 web40 web41 web42 w ...

  6. ctfshow命令执行篇

    web31 echo(`ls%09/`); echo(`tac%09fla*`); web32 过滤; 关键命令执行函数也不能用 用文件包含 其实这个做法也是靠刷题经验猜flag路径 c=includ ...

  7. [CTFSHOW]命令执行55-74

    web 55 if(isset($_GET['c'])){$c=$_GET['c'];if(!preg_match("/\;|[a-z]|\`|\%|\x09|\x26|\>|\< ...

  8. ctfshow命令执行(持续更新,已更至web39)

    做命令执行题比前两种慢很多,到现在也只做了总数的五分之一,慢慢来吧. web29 web30 web31 web32 web33~36 web37 web38 web39 web29 题目如下: er ...

  9. CTFshow 命令执行 web56

    目录 源码 思路 题解 总结 源码 <?php/* # -*- coding: utf-8 -*- # @Author: Lazzaro # @Date: 2020-09-05 20:49:30 ...

最新文章

  1. 6. 简单又复杂的“运算符”,建议你看一哈
  2. php foreach 不等于_PHP中的7个模板引擎
  3. 【Linux】一步一步学Linux——setfacl命令(117)
  4. 【discuz x3】源代码中的sql调用
  5. hinton教授的本科生课程CSC321-机器学习中的神经网的笔记
  6. java 语法 泛型_java-解密泛型语法
  7. Python练习:五到七章的练习题
  8. vb.net 组合快捷键如何设置_你不知道的PPT快捷键
  9. 组合,Mixin,类、类对象、实例对象
  10. “请求未在nginx中配置的域名时,给浏览器返回508错误码”配置示例
  11. [转载] python 从右到左字符串替换方法实现
  12. 在IA32如何将程序计数器的值放入到整数寄存器中?
  13. 经济学家德鲁克的三个故事
  14. Python之XML模块
  15. OrCAD PSpice添加Spice模型——Cadence 17.4
  16. 阿里云ECS实例邮件发送不了的解决办法
  17. 修改PT622光猫导致的一系列故障
  18. Scrapy爬虫框架的原理与实战[阳光政务爬虫项目]
  19. 无线ap的ntp服务器,怎么配置cisco路由器的NTP
  20. 计算机的硬盘配额如何更改,磁盘配额怎么设置

热门文章

  1. struts2处理.do后缀的请求
  2. Magento获取指定分类下的所有子分类信息
  3. 为什么一个星期是7天
  4. WINCE5.0+S3C2440支持大容量SD卡(SDHC卡)
  5. mac下载安装本地mongodb
  6. python map lambda 分割字符串_python之lambda、filter、map、reduce的用法说明(基于python2)...
  7. if,elif,else的关系 input print int的用法
  8. Spring MVC注解故障追踪记
  9. 未来已来——工作空间WorkSpace和物联网IoT (3)
  10. Spring基于Java的JSR-250注解