• 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()}

  • 相关阅读:
    解决Shiro在Tomcat重启之后丢失登录信息
    代码安全审计大全
    解决Spring Boot打包war部署到Tomcat出现Could not open ServletContext resource
    weblogic12 重装记录
    【Spring】事物和锁及回滚异常类型
    【Spring】thymeleaf + SpringMVC局部刷新
    【Spring】@ModelAttribute三种使用场景
    Java Optional
    JAVA lambda
    最短时间(最短路+思维)
  • 原文地址:https://www.cnblogs.com/x98339/p/11851188.html
Copyright © 2020-2023  润新知