前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >渗透测试命令执行漏洞原理与验证(1)——命令执行漏洞概述

渗透测试命令执行漏洞原理与验证(1)——命令执行漏洞概述

原创
作者头像
zhouzhou的奇妙编程
发布2024-11-13 13:44:51
830
发布2024-11-13 13:44:51
举报
文章被收录于专栏:渗透测试专栏

命令执行定义

基本定义

命令执行漏洞是指攻击者可以随意执行系统命令,分为远程命令执行(远程代码执行)和系统命令执行两类。

程序应用有时需要调用一些执行系统命令的函数,如PHP中的system、exec、shell_exec、passthru、popen、proc_popen等,当用户能控制这些函数中的参数时,就可以将恶意系统命令拼接到正常命令中,从而造成命令执行攻击。

命令执行条件

  • 用户能够控制的函数输入
  • 存在可以执行代码或者系统命令的危险函数

命令执行漏洞产生的原因

  • 由于开发人员编写源码时,没有针对代码中可执行的特殊函数入口做过滤,导致客户端可以提交恶意构造语句,并提交服务端执行
  • 命令注入攻击中,Web服务器没有过滤类似system、eval和exec等函数,是该漏洞攻击成功的主要原因。

命令执行漏洞带来的危害

  • 继承Web服务程序的权限去执行系统命令(任意代码)或读写文件
  • 反弹shell
  • 控制整个网站甚至控制服务器
  • 进一步内网渗透

命令执行实例

实例1

编写一个1.php,内容如下,可以通过提交一个cmd命令来使其执行

实例2

动态函数调用

实例3

危险函数导致代码执行

管道符号和通用命令符

Linux

代码语言:html
复制
;    前面的执行完执行后面的
|    是管道符,显示后面的执行结果
||   当前面的执行出错时执行后面的

Windows

代码语言:html
复制
&    前面的语句为假则直接执行后面的
&&   前面的语句为假则直接出错,后面的也不执行
|     直接执行后面的语句
||    前面出错执行后面的

通用命令符

代码语言:html
复制
command1 && command2                 command1执行成功才执行command2
command1  |  command2                只执行command2
command1 & command2                  command1和command2之间互相不影响

命令执行常见场景


本文部分图片摘自深信服安全服务认证工程师课程课件中,为方便个人学习使用,勿作商用!!!!文字内容为自己手打,并非直接搬运!如有侵权,请联系删除!!!

本文档所提供的信息仅用于教育目的及在获得明确授权的情况下进行渗透测试。任何未经授权使用本文档中技术信息的行为都是严格禁止的,并可能违反《中华人民共和国网络安全法》及相关法律法规。使用者应当合法合规地运用所学知识,不得用于非法入侵、破坏信息系统等恶意活动。我们强烈建议所有读者遵守当地法律与道德规范,在合法范围内探索信息技术。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 命令执行定义
    • 基本定义
      • 命令执行条件
        • 命令执行漏洞产生的原因
          • 命令执行漏洞带来的危害
          • 命令执行实例
            • 实例1
              • 实例2
                • 实例3
                • 管道符号和通用命令符
                  • Linux
                    • Windows
                      • 通用命令符
                      • 命令执行常见场景
                      相关产品与服务
                      网站渗透测试
                      网站渗透测试(Website Penetration Test,WPT)是完全模拟黑客可能使用的攻击技术和漏洞发现技术,对目标系统的安全做深入的探测,发现系统最脆弱的环节。渗透测试和黑客入侵最大区别在于渗透测试是经过客户授权,采用可控制、非破坏性质的方法和手段发现目标和网络设备中存在弱点,帮助管理者知道自己网络所面临的问题,同时提供安全加固意见帮助客户提升系统的安全性。腾讯云网站渗透测试由腾讯安全实验室安全专家进行,我们提供黑盒、白盒、灰盒多种测试方案,更全面更深入的发现客户的潜在风险。
                      领券
                      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档