标签:
命令执行是指攻击者通过浏览器或者其他客户端软件提交一些cmd命令(或者bash命令)至服务器程序,服务器程序通过system、eval、exec等函数直接或者间接地调用cmd.exe执行攻击者提交的命令。
原理:
由于开发人员在编写php源代码时,没有对源代码中可执行的特殊函数入口做过滤,导致客户端可以提交一些cmd命令,并交由服务器程序执行。
WEB服务器没有过滤类似system、eval、exec等函数是该漏洞攻击成功最主要原因。
测试代码:
<?php
$a = $_GET[‘a‘];
system($a);
?>
开启Firefox,输入:http://localhost:81/code_exec.php?a=ver
Webserver返回如下信息:
Microsoft Windows [版本 6.1.7601]
如今很多开源的php代码或者CMS几乎都存命令执行的漏洞,如:w3cschool、w3school,github,discuz,dedecms,phpcms,drupal。
而且很多php开发人员基本上都不重视代码编写的安全性,直接copy一些网上的开源代码,在自己的项目中使用,这样会产生很多安全隐患,开发人员一定得重视这个问题。不单是php,java,asp.net,Python等等也是一样。
标签:
原文地址:http://www.cnblogs.com/windclouds/p/5413224.html