当前位置: 首页 > news >正文

Command Injection

 Command Injection

"Command Injection"(命令注入),其目标是通过一个应用程序在主机操作系统上执行任意命令。当一个应用程序将用户提供的数据(如表单、cookies、HTTP头等)传递给系统shell时,就可能发生命令注入攻击。在这种攻击中,攻击者提供的操作系统命令通常会以该应用程序的权限执行。命令注入攻击主要是由于输入验证不足造成的。

Low

        这里提示我们输入IP地址,我们输入本机的环回地址,如下图所显示的结果和在系统终端中使用ping命令的结果一致。

        下面看一下源代码 ,这段代码存在一个问题,直接将用户提供的输入(即$target)传递给shell_exec函数。如果用户提供的输入包含恶意命令,那么这些命令将被执行。exec是一个在Unix和Linux中常用的系统函数,用于在同一进程中运行一个命令。

       

        因为并没有对用户的输入进行验证和清理,所以 在系统函数exec的ping 操作 的同时,我们可以利用该系统命令,在执行ping的同时执行其他命令

       下面先介绍window中几个常见的命令连接符,

                ;        分号操作符,可以运行几个命令,按顺序执行

                &&    与操作符 ,如果第一个命令执行成功,才会执行第二个命令

                ||       或操作符 ,第一个命令执行失败,执行第二个命令

       

还是因为未对用户的输入进行任何限制和验证,所以上面的连接符都可一试,

如下图,使用&&进行注入成功

        

Medium

        先看源码,相较于low,medium会移除在黑名单中的字符'&&' 和 ';'   故,使用这两个字符以外的连接符即可。

         使用  &  进行注入成功

High

        high相较于medium没有什么新意,只是在黑名单中加入了更多的字符包含了’&', ‘;’, '| ', ‘-’, ‘$’, ‘(’, ‘)’, ‘`’, ‘||’,'|  '细看第三个 | 后面有空格,这点可以利用

        如下图,注入成功

http://www.lryc.cn/news/229207.html

相关文章:

  • LeetCode | 20. 有效的括号
  • 英语语法 - 祈使句 | 虚拟语气
  • 记录pytorch实现自定义算子并转onnx文件输出
  • ARPG----C++学习记录04 Section8 角色类,移动
  • 拆解软件定义汽车:OS突围
  • 并发线程使用介绍(二)
  • 【Proteus仿真】【51单片机】多路温度控制系统
  • 一些可以参考的文档集合15
  • k8s的service自动发现服务:实战版
  • 项目笔记记录
  • 【leetcode】1137. 第 N 个泰波那契数
  • 【解决】conda-script.py: error: argument COMMAND: invalid choice: ‘activate‘
  • Linux 性能调优之硬件资源监控
  • Windows系统隐藏窗口启动控制台程序
  • FreeSWITCH fail2ban.lua
  • Qt HTTP下载数据
  • 8. 深度学习——NLP
  • 部署 KVM 虚拟化平台
  • Juniper PPPOE双线路冗余RPM配置
  • 原生JS实现视频截图
  • 前端Rust二进制/wasm全平台构建流程简述
  • 加解密算法相关技术详解
  • Clickhouse学习笔记(13)—— Materialize MySQL引擎
  • 《QT从基础到进阶·二十四》按钮组QButtonGroup,单选框QRadioButton和多选框QCheckBox
  • Ansible--playbook剧本
  • MacOS下VMware Fusion配置静态IP
  • 三、机器学习基础知识:Python常用机器学习库(中文文本分析相关库)
  • Nginx 使用笔记大全(唯一入口)
  • 数据结构-二叉排序树(建立、查找、修改)
  • Linux 性能优化之使用 Tuned 配置优化方案