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



    题目类型

    环境: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 '' > 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 模板注入 不回显

  • 相关阅读:
    Vue 项目结构介绍
    神经网络算法和遗传算法,数据挖掘神经网络算法
    cmake练习一
    高分辨率格式理论
    C语言--每日五道选择题--Day8
    玩转数据可视化之R语言ggplot2:(九)网络图绘制
    浅析AcrelEMS-CIA机场智慧能源管平台解决方案-安科瑞 蒋静
    softmax回归
    Unity 游戏设计模式:单例模式
    python 检测文本语言类型
  • 原文地址:https://blog.csdn.net/pwp032984/article/details/128061207