命令执行漏洞
2016-04-20 16:18
176 查看
命令执行是指攻击者通过浏览器或者其他客户端软件提交一些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等等也是一样。
原理:
由于开发人员在编写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等等也是一样。
相关文章推荐
- bbs网站 models
- ThinkPHP 利用.htaccess文件的 Rewrite 规则隐藏URL中的 index.php
- 反射奥秘
- Web前端初步——札记0
- Hive的适用场景
- 图片缓存 - SDWebImage
- poj 2397(二分+dp)
- 应用系统外部接口数据稽核问题分析经历及经验分析
- ABAP 向上取整和向下取整 CEIL & FLOOR
- JavaScript方法总结
- Context总结
- C++位运算符及逻辑运算符
- block,inline和inline-block概念和区别
- zlib剖析(二)
- 乘积中只含1和0
- JDBC笔记
- Java中过滤字符串前后的空格
- Retrofit框架基本使用
- iOS-利用Block二次封装AFNetworking 3.0
- JAVA抓取页面图片