白帽子(5)- 命令注入与代码注入区别

  1. 命令注入
    当应用程序需要调用一些外部程序去处理内容的情况下,就会用到一些执行系统命令的函数,如php中的system, exec, shell_exec, passthru()等,当用户可以控制名利执行函数中的参数是,将可注入系统名利到正常名利中,造成命令注入攻击,如system(args), args= ‘cat /etc/passwd’;
  2. 代码注入
    应用程序在刁永杰一些能够将字符串转为代码的函数(如php中的eval, create_function(), call_user_func(),call_user_func_array())时, 没有考虑用户是否可以控制这个字符串,将造成代码执行漏洞,如(eval(“args”)); args=‘system(‘cat /etc/passwd’)’, 获取http://ip/?func=phpinfo();

总结: 代码注入一般包含带有执行系统命令的函数或者引发漏洞的函数不同。

猜你喜欢

转载自blog.csdn.net/CPriLuke/article/details/111434193