注入篇――代码注入

匿名 (未验证) 提交于 2019-12-03 00:11:01
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Fly_hps/article/details/79430985

代码注入

对于代码注入(Code ingection)OWASP将其定义为在客户端提交的代码在服务器端接收后当做动态代码或嵌入文件处理,而Wikipedia将其定义为客户端所提交的数据未经过检查就让web服务器去执行,这个范围比OWASP定义的代码注入的范围要广。

代码注入比较特殊的一点就是代码注入与命令注入往往是由一些不安全的函数或者方法引起的,其中的典型代表就是eval()、system()、include()等。

OS命令执行

  1. <?php
  2. $command=$_REQUEST("command");
  3. system($command);
  4. ?>

动态函数调用

  1. <?php
  2. function A(){
  3. echo“A”;
  4. }
  5. function B(){
  6. echo “B”;
  7. }
  8. $func=$_REQUEST("fun");
  9. $func();
  10. ?>

代码执行

  1. <?php
  2. $myvar="varname";
  3. $x=$_GET['arg'];
  4. eval("\$myvar=\$x;");
  5. ?>

文件包含

  1. <?php
  2. $page=$_REQUSET["page"];
  3. include[$page];
  4. ?>

以上的实例都是采用PHP代码进行的演示,但是对于JSP、ASP等而言其动态“include”函数同样会存在代码执行漏洞。甚至是JAVA,C语言、C++等其内部都会由于函数、动态调用等等引起注入漏洞的存在,在编程时需要特别注意,特别留心!

安全建议:要对用户的输入进行严格的过滤操作,避免引起的各种问题!只要有输入的地方就会有漏洞存在的可能!

代码注入

对于代码注入(Code ingection)OWASP将其定义为在客户端提交的代码在服务器端接收后当做动态代码或嵌入文件处理,而Wikipedia将其定义为客户端所提交的数据未经过检查就让web服务器去执行,这个范围比OWASP定义的代码注入的范围要广。

代码注入比较特殊的一点就是代码注入与命令注入往往是由一些不安全的函数或者方法引起的,其中的典型代表就是eval()、system()、include()等。

OS命令执行

  1. <?php
  2. $command=$_REQUEST("command");
  3. system($command);
  4. ?>

动态函数调用

  1. <?php
  2. function A(){
  3. echo“A”;
  4. }
  5. function B(){
  6. echo “B”;
  7. }
  8. $func=$_REQUEST("fun");
  9. $func();
  10. ?>

代码执行

  1. <?php
  2. $myvar="varname";
  3. $x=$_GET['arg'];
  4. eval("\$myvar=\$x;");
  5. ?>

文件包含

  1. <?php
  2. $page=$_REQUSET["page"];
  3. include[$page];
  4. ?>

以上的实例都是采用PHP代码进行的演示,但是对于JSP、ASP等而言其动态“include”函数同样会存在代码执行漏洞。甚至是JAVA,C语言、C++等其内部都会由于函数、动态调用等等引起注入漏洞的存在,在编程时需要特别注意,特别留心!

安全建议:要对用户的输入进行严格的过滤操作,避免引起的各种问题!只要有输入的地方就会有漏洞存在的可能!

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!