zoukankan      html  css  js  c++  java
  • 11.13命令执行和代码执行

    Phpmyadmin任意文件包含漏洞[CVE-2014-8959]

    漏洞范围:4.0.1-4.0.1.6  4.1.1-4.1.14.7  4.2.1-4.2.12

    文件包含漏洞防御

    1、修改php的配置文件,将open_basedir的值设置为可包含特定目录,后面要加/,例如:open_basedir=/var/www/html

    2、关闭allow_url_fopen可以防止本地文件包含和远程文件包含

    3、关闭allow_url_include可以防止远程文件包含

    4、对可以包含的文件进行限制,可以使用白名单的方式,或者设置可以包含的目录,如open_basedir

    5、进行严格的检查,参数中不允许出现../之类的目录跳转符号

    命令执行和代码执行

    命令执行漏洞产生原因:

    1、参数用户可控

    2、用户输入的数据被当做命令来执行,没有过滤或过滤不严谨

    用作命令执行的函数:

     

    shell_exec()

    exec()

    passthru()

    popen()

    proc_open()

    命令执行:

    简单分类:

    Web层命令执行system(‘whoami’)

    第三方组件命令执行漏洞:Wordpress中用来处理图片的ImageMagickstruts2ElasticsearchGroovy

    系统层面的命令执行(上面shell_exec()等等)

    命令执行漏洞的危害性和当前web中间件的权限有关,如果web中间件是以管理员权限运行,则漏洞可以以管理员权限运行

    代码执行:

    当应用在调用一些能将字符串转化成代码的函数时,没有考虑用户是否能够控制这个字符串,将造成代码注入漏洞

    Php中:evalassertpreg_replace(‘/*/e’,’$ret=”\1”;’,$data);

    asp中:evalexecuteexecuteglobal

    Jsp中:jsp中没有phpeval函数,但是可以使用反射机制,使用基于反射机制的表达式引擎,如OGNLSpELMVEL.

    1

     

    2urly Syntax 漏洞利用
    关于{${}}这种形式涉及到了php Complex (curly) syntax
    <?php
    $a=$_GET["id"];
    @eval("@$sql_a=$a;");
    ?>

    之后http://127.0.0.1/test.php?id=${phpinfo()}

  • 相关阅读:
    [apue] FIFO:不是文件的文件
    [apue] 等待子进程的那些事儿
    [apue] popen/pclose 疑点解惑
    [apue] 使用 popen/pclose 的一点疑问
    [apue] 使用 poll 检测管道断开
    [apue] dup2的正确打开方式
    [apue] 管道原子写入量的一个疑问
    [apue] 测试管道容量的一些疑问
    【新阁教育】再也不用担心我的PLC通信不上了
    【新阁教育】三菱PLC的这个功能,真的很强大
  • 原文地址:https://www.cnblogs.com/x98339/p/11851188.html
Copyright © 2011-2022 走看看