需要注意的几个PHP漏洞小结


Posted in PHP onFebruary 05, 2012

需要注意的几个PHP漏洞
几个重要的php.ini选项

Register Globals

php>=4.2.0,php.ini的register_globals选项的默认值预设为Off,当register_globals的设定为On时,程序可以接收来自服务器的各种环境变量,包括表单提交的变量,而且由于PHP不必事先初始化变量的值,从而导致很大的安全隐患.

例1:

//check_admin()用于检查当前用户权限,如果是admin设置$is_admin变量为true,然后下面判断此变量是否为true,然后执行管理的一些操作 

//ex1.php 

 

if (check_admin()) 

{ 

$is_admin = true; 

} 

if ($is_admin) 

{ 

do_something(); 

} 

?>

这一段代码没有将$is_admin事先初始化为Flase,如果register_globals为On,那么我们直接提交 http://www.sectop.com/ex1.php?is_admin=true,就可以绕过check_admin()的验证

例2:

//ex2.php 

 

if (isset($_SESSION["username"])) 

{ 

do_something(); 

} 

else 

{ 

echo "您尚未登录!"; 

} 

?>

//ex1.php 

 

$dir = $_GET["dir"]; 

if (isset($dir)) 

{ 

echo ""; 

system("ls -al ".$dir); 

echo ""; 

} 

?>

需要注意的几个PHP漏洞小结 
 mixed eval(string code_str) //eval注入一般发生在攻击者能控制输入的字符串的时候

//ex2.php

$var = "var"; 

if (isset($_GET["arg"])) 

{ 

$arg = $_GET["arg"]; 

eval("$var = $arg;"); 

echo "$var =".$var; 

} 

?>

需要注意的几个PHP漏洞小结

PHP 相关文章推荐
聊天室php&mysql(五)
Oct 09 PHP
PHP+APACHE实现用户论证的方法
Oct 09 PHP
PHP filter_var() 函数 Filter 函数
Apr 25 PHP
PHP文章采集URL补全函数(FormatUrl)
Aug 02 PHP
php图片的二进制转换实现方法
Dec 15 PHP
PHP实现上传文件并存进数据库的方法
Jul 16 PHP
php  PATH_SEPARATOR判断当前服务器系统类型实例
Oct 28 PHP
解决PHP上传非标准格式的图片pjpeg失败的方法
Mar 12 PHP
PHP面向对象之里氏替换原则简单示例
Apr 08 PHP
PHP实现的支付宝支付功能示例
Mar 26 PHP
Yii Framework框架开发微信公众平台示例
Apr 26 PHP
如何用RabbitMQ和Swoole实现一个异步任务系统
May 29 PHP
PHP的可变变量名的使用方法分享
Feb 05 #PHP
PHP中如何判断AJAX提交的数据
Feb 05 #PHP
用PHP书写安全的脚本代码
Feb 05 #PHP
PHP中register_globals参数为OFF和ON的区别(register_globals 使用详解)
Feb 05 #PHP
PHP中使用数组实现堆栈数据结构的代码
Feb 05 #PHP
PHP使用数组实现队列
Feb 05 #PHP
mysql数据库差异比较的PHP代码
Feb 05 #PHP
You might like
PHP 处理图片的类实现代码
2009/10/23 PHP
为PHP安装imagick时出现Cannot locate header file MagickWand.h错误的解决方法
2014/11/03 PHP
php+mysql实现无限分类实例详解
2015/01/15 PHP
PHP操作MySQL的mysql_fetch_* 函数的常见用法教程
2015/12/25 PHP
php使用include 和require引入文件的区别
2017/02/16 PHP
关于Javascript模块化和命名空间管理的问题说明
2010/12/06 Javascript
jquery 插件学习(四)
2012/08/06 Javascript
ExtJS4 动态生成的grid导出为excel示例
2014/05/02 Javascript
js构造函数、索引数组和属性的实现方式和使用
2014/11/16 Javascript
node.js中的path.normalize方法使用说明
2014/12/08 Javascript
jQuery圆形统计图开发实例
2015/01/04 Javascript
特殊日期提示功能的实现方法
2016/06/16 Javascript
vue学习笔记之vue1.0和vue2.0的区别介绍
2017/05/17 Javascript
修改node.js默认的npm安装目录实例
2018/05/15 Javascript
VUE v-model表单数据双向绑定完整示例
2019/01/21 Javascript
微信小程序蓝牙连接小票打印机实例代码详解
2019/06/03 Javascript
解决微信浏览器缓存站点入口文件(IIS部署Vue项目)
2019/06/17 Javascript
深入浅析vue全局环境变量和模式
2020/04/28 Javascript
使用Vue-scroller页面input框不能触发滑动的问题及解决方法
2020/08/08 Javascript
vue使用vue-quill-editor富文本编辑器且将图片上传到服务器的功能
2021/01/13 Vue.js
[40:06]DOTA2亚洲邀请赛 4.3 突围赛 Liquid vs VGJ.T 第一场
2018/04/04 DOTA
Python脚本实现虾米网签到功能
2016/04/12 Python
windows10下安装TensorFlow Object Detection API的步骤
2019/06/13 Python
python如何将两个txt文件内容合并
2019/10/18 Python
Django models filter筛选条件详解
2020/03/16 Python
Python 如何批量更新已安装的库
2020/05/26 Python
python的dict判断key是否存在的方法
2020/12/09 Python
CSS3 画基本图形,圆形、椭圆形、三角形等
2016/09/20 HTML / CSS
Public Desire美国/加拿大:全球性的在线鞋类品牌
2018/12/17 全球购物
出纳的岗位职责
2013/11/09 职场文书
个人纪律作风整改措施思想汇报
2014/10/12 职场文书
大二学生自我检讨书
2014/10/23 职场文书
工伤劳动仲裁代理词
2015/05/25 职场文书
班主任工作总结范文
2015/08/13 职场文书
JavaScript 定时器详情
2021/11/11 Javascript
Java虚拟机内存结构及编码实战分享
2022/04/07 Java/Android