我是靠谱客的博主 开心花瓣,这篇文章主要介绍任意代码命令执行漏洞,现在分享给大家,希望可以做个参考。

代码执行:

  • 原理:
  • 当应用在调用一些能将字符串转化成代码的函数时,没有考虑用户是否能够控制这个字符串,将造成代码注入漏洞。
  • 在php中:
  • eval
  • assert
  • preg_replace(‘/*/e', '$ret = "\1";',$data);
  • 在asp中:
  • eval
  • exevute
  • executeglobal
  • 在jsp中:
  • jsp中没有php中的eval函数,但是可以使用反射机制,使用基于反射机制的表达式引擎,如0GNL,SpEL,MVEL等。

代码执行漏洞:

  • 1、由于thinkphp存在代码执行漏洞,我们可以使用谷歌语法来搜索这类网站。
  • 2、学习代码审计,自己找一些代码执行漏洞。

简单的代码执行:

  • <?php
  •     $data = $_GET[‘data’];
  •     eval("$ret = strtolower("$data");");
  •     echo $ret;
  • ?>

利用方式:

  • http://localhost/?data=${phpinfo();}

代码执行的防御方法:

  • 1、使用json保存数组,当读取时就不需要使用eval了。
  • 2、对于必须使用eval的地方,一定严格处理用户数据(白名单、黑名单)。
  • 3、字符串使用单引号包括可控代码,插入前使用addslashes转义(addslashes、魔数引号、htmlspecialchars、 htmlentities、mysql_real_escape_string)。
  • 4、放弃使用preg_replace的e修饰符,使用preg_replace_callback()替换(preg_replace_callback())。
  • 5、若必须使用preg_replace的e修饰符,则必用单引号包裹正则匹配出的对象(preg_replace+正则)。

最后

以上就是开心花瓣最近收集整理的关于任意代码命令执行漏洞的全部内容,更多相关任意代码命令执行漏洞内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(113)

评论列表共有 0 条评论

立即
投稿
返回
顶部