zoukankan      html  css  js  c++  java
  • 命令执行

    0x01 命令执行漏洞原理

    Web应用程序接收用户输入,并拼接到要执行的系统命令中执行。

    产生漏洞的原因:

    1.用户输入未过滤或净化;

    2.拼接到系统命令中执行。

    0x02 PHP中的命令执行函数

    system:执行外部程序,并且显示输出

    exec:执行一个外部程序

    shell_exec:通过 shell 环境执行命令,并且将完整的输出以字符串的方式返回。

    passthru:执行外部程序并且显示原始输出

    popen:打开进程文件指针

    0x03 简单的命令执行漏洞代码

    <?php
        echo "<pre>";
        if(isset($_GET["cmd"])){
          system($_GET["cmd"]);
        }
        echo "</pre>";
    ?>

    0x04 Windows命令执行

    示例代码:

    <?php
        echo "<pre>";
        $arg = $_GET['cmd'];
        if ($arg) {
            system("ping  $arg");
        }
        echo "</pre>";
    ?>

    拼接符介绍:

    &:无论前面的语句的真假,后面都会执行

    &&:前面的语句为假,后面的也不执行

    |:直接执行后面的语句

    ||:前面的语句为假,才会执行后面的

    0x05 Linux命令执行

    示例代码:

    <?php
        echo "<pre>";
        $arg = $_GET['cmd'];
        if ($arg) {
            system("ping -c 4  $arg");
        }
        echo "</pre>";
    ?>

    可以用kali的apache2来搭建。

    拼接符介绍:

    ;:分号是前面的语句执行完后,才会执行后面的语句

    |:管道符,显示后面的语句的执行结果

    ||:前面的语句为假,才执行后面的

    &和&&也是同Windows的。

    0x06 命令执行自动化工具commix

    1.Commix是一个使用Python开发的漏洞测试工具,这个工具是为了方便的检测一个请求是否存在命令注入漏洞,并且对其进行测试,在其作者发布的最新版本中支持直接直接导入burp的历史记录进行检测,大大提高了易用性。

    项目地址:https://github.com/stasinopoulos/commix

    2.帮助信息:

    kali自带commix。

    commix -h获取帮助信息。

    3.基本使用:

    commix -u "url"

  • 相关阅读:
    js中const,var,let区别与用法
    poi excel 导出
    spring 实体类 date类型字段处理
    mysql 1449 : The user specified as a definer ('root'@'%') does not exist
    pjax学习
    上传文件 connection reset
    mysql连接问题
    Scala Actor Model
    Scala 隐式转换
    Scala Trait+Match+Case class+偏函数
  • 原文地址:https://www.cnblogs.com/-an-/p/12732578.html
Copyright © 2011-2022 走看看