需要注意的几个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 相关文章推荐
建立文件交换功能的脚本(一)
Oct 09 PHP
PHP strtotime函数详解
Dec 18 PHP
php的一些小问题
Jul 03 PHP
SWFUpload与CI不能正确上传识别文件MIME类型解决方法分享
Apr 18 PHP
php对mongodb的扩展(初出茅庐)
Nov 11 PHP
php中实现xml与mysql数据相互转换的方法
Dec 25 PHP
thinkphp微信开发(消息加密解密)
Dec 02 PHP
详解PHP的Yii框架中组件行为的属性注入和方法注入
Mar 18 PHP
php使用ffmpeg获取视频信息并截图的实现方法
May 03 PHP
centos下file_put_contents()无法写入文件的原因及解决方法
Apr 01 PHP
php实现支持中文的文件下载功能示例
Aug 30 PHP
php记录搜索引擎爬行记录的实现代码
Mar 02 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执行速度全攻略(下)
2006/10/09 PHP
PHP实现文件安全下载
2006/10/09 PHP
15个小时----从修改程序到自己些程序
2006/10/09 PHP
深入理解PHP JSON数组与对象
2016/07/19 PHP
PHP微信API接口类
2016/08/22 PHP
Yii框架批量插入数据扩展类的简单实现方法
2017/05/23 PHP
PHP5.0~5.6 各版本兼容性cURL文件上传功能实例分析
2018/05/11 PHP
说明你的Javascript技术很烂的五个原因
2011/04/26 Javascript
基于jquery的代码显示区域自动拉长效果
2011/12/07 Javascript
JQuery+DIV自定义滚动条样式的具体实现
2013/06/25 Javascript
在Mac OS下使用Node.js的简单教程
2015/06/24 Javascript
jQuery+Ajax+PHP+Mysql实现分页显示数据实例讲解
2015/09/27 Javascript
JavaScript数据推送Comet技术详解
2016/04/07 Javascript
基于jquery实现二级联动效果
2017/03/30 jQuery
Angular设置别名alias的方法
2018/11/08 Javascript
JS/HTML5游戏常用算法之碰撞检测 像素检测算法实例详解
2018/12/12 Javascript
利用JS判断元素是否为数组的方法示例
2021/01/08 Javascript
[00:21]DOTA2亚洲邀请赛 Logo演绎
2015/02/07 DOTA
Python中断言Assertion的一些改进方案
2016/10/27 Python
Python中对数组集进行按行打乱shuffle的方法
2018/11/08 Python
Python设计模式之组合模式原理与用法实例分析
2019/01/11 Python
Python Web框架之Django框架文件上传功能详解
2019/08/16 Python
python实现人机猜拳小游戏
2020/02/03 Python
Django Serializer HiddenField隐藏字段实例
2020/03/31 Python
python如何实现递归转非递归
2021/02/25 Python
python爬取youtube视频的示例代码
2021/03/03 Python
N.Peal官网:来自伦敦的高档羊绒品牌
2018/10/29 全球购物
在c#中using和new这两个关键字有什么意义
2013/05/19 面试题
大学自我鉴定
2013/12/20 职场文书
护理毕业生自我鉴定
2014/02/11 职场文书
写字楼租赁意向书
2014/07/30 职场文书
小学教师师德师风演讲稿
2014/08/22 职场文书
团日活动总结格式
2015/05/11 职场文书
2019思想汇报范文
2019/05/21 职场文书
MySQL 全文索引使用指南
2021/05/25 MySQL
SQLServer权限之只开启创建表权限
2022/04/12 SQL Server