目录

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

源码

<?php/*
# -*- coding: utf-8 -*-
# @Author: Lazzaro
# @Date:   2020-09-05 20:49:30
# @Last Modified by:   h1xa
# @Last Modified time: 2020-09-07 19:43:42
# @email: h1xa@ctfer.com
# @link: https://ctfer.com*/if(isset($_GET['c'])){$c=$_GET['c'];if(!preg_match("/\;|.*c.*a.*t.*|.*f.*l.*a.*g.*| |[0-9]|\*|.*m.*o.*r.*e.*|.*w.*g.*e.*t.*|.*l.*e.*s.*s.*|.*h.*e.*a.*d.*|.*s.*o.*r.*t.*|.*t.*a.*i.*l.*|.*s.*e.*d.*|.*c.*u.*t.*|.*t.*a.*c.*|.*a.*w.*k.*|.*s.*t.*r.*i.*n.*g.*s.*|.*o.*d.*|.*c.*u.*r.*l.*|.*n.*l.*|.*s.*c.*p.*|.*r.*m.*|\`|\%|\x09|\x26|\>|\</i", $c)){system($c);}
}else{highlight_file(__FILE__);
}

思路

在正则中 .*c.*a.*t.*相当于cat中不能穿插任何字符了,不过c?t是可以绕过的,因为没有a,正则匹配不到,可以用/bin/c?t 来代替cat,不过xxd是没有被过滤的,可以直接哪里用。同理,flag被过滤了可以用fla?.php来代替

题解

?c=xxd${IFS}fla?.php


总结

水题

CTFshow 命令执行 web54相关推荐

  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命令执行

    目录 web33:[文件包含] web34: web35: web36:多过滤了0-9的数字,用参数逃逸可以不用数字,用字母就可以成功绕过 ,步骤一样,略 web37: web38: web39: w ...

最新文章

  1. sql建表,建索引注意事项
  2. linux maps,linux下/proc/pid/maps和pmap命令详解
  3. 从源码分析DEARGUI之异步传参
  4. 堆(heap)和栈(stack)有什么区别
  5. 12、Struts2表单重复提交
  6. Java中设计模式之工厂模式-4
  7. Codeforces Round #491 (Div. 2) E - Bus Number + 反思
  8. 互联网晚报 | 2月25日 星期五 | 元宇宙概念,热度显著下降;​腾讯正洽谈落地“东数西算”大湾区枢纽韶关数据中心集群...
  9. Vue第三部分(2):Vue-CLI构建前后端分离项目以及打包部署
  10. delphi php 加密解密_如何恢复被MaMoCrypt勒索软件加密的数据
  11. localstroge与cookie的区别
  12. TensorFlow.js:零基础在小程序上实现机器学习
  13. 对象新增方法 object.is() object.assign()
  14. C++结构体字节对齐
  15. ospf 几种LSA类型的总结
  16. stm32的rxcallback再debug界面显示没有编译,uC/OS-III
  17. 实验报告(3)-语法分析
  18. Android入门笔记13
  19. 基于Django+链家+Bootstrap真实数据的房源推荐/可视化系统
  20. 中国石油大学《大学语文》在线考试

热门文章

  1. C#会重蹈覆辙吗?系列之2:反射及元数据的性能问题
  2. 有助于项目管理(PM)指导思想
  3. Pat乙级1089 狼人杀-简单版
  4. CSS将样式规则与HTML元素相关联
  5. 使用jmeter测试工具完成文件的上传
  6. 为什么(2.55).toFixed(1)等于2.5?
  7. php 二叉树 与赫夫曼树
  8. 0902 - Preferences Permission
  9. 放弃OT了,找了个新框架ThinkCMF
  10. Spark RDD概念学习系列之rdd持久化、广播、累加器(十八)