需要注意的几个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 header()函数使用说明
Jul 10 PHP
PHP 中执行排序与 MySQL 中排序
Apr 21 PHP
9个PHP开发常用功能函数小结
Jul 15 PHP
php不允许用户提交空表单(php空值判断)
Nov 12 PHP
PHP类中的魔术方法(Magic Method)简明总结
Jul 08 PHP
跟我学Laravel之请求与输入
Oct 15 PHP
PHP的数组中提高元素查找与元素去重的效率的技巧解析
Mar 03 PHP
PHP随机数 C扩展随机数
May 04 PHP
PHPCMS2008广告模板SQL注入漏洞修复
Oct 11 PHP
PHP面向对象程序设计之类与反射API详解
Dec 02 PHP
php实现微信企业转账功能
Oct 02 PHP
解决laravel 表单提交-POST 异常的问题
Oct 15 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数据库调用类调用实例(详细注释)
2012/07/12 PHP
PHP可变函数学习小结
2015/11/29 PHP
PHP随机数 C扩展随机数
2016/05/04 PHP
PHP实现基本留言板功能原理与步骤详解
2020/03/26 PHP
php 利用socket发送GET,POST请求的实例代码
2020/07/04 PHP
showModelessDialog()使用详解
2006/09/07 Javascript
DOM 脚本编程中的兄弟节点
2009/10/31 Javascript
jQuery学习笔记 更改jQuery对象
2012/09/19 Javascript
JS模式之简单的订阅者和发布者模式完整实例
2015/06/30 Javascript
JavaScript人脸识别技术及脸部识别JavaScript类库Tracking.js
2015/09/14 Javascript
D3.js封装文本实现自动换行和旋转平移等功能
2016/10/14 Javascript
jQuery加载及解析XML文件的方法实例分析
2017/01/22 Javascript
jQuery EasyUI Panel面板组件使用详解
2017/02/28 Javascript
JavaScript事件对象event用法分析
2018/07/27 Javascript
Vue项目中最新用到的一些实用小技巧
2018/11/06 Javascript
js计算两个时间差 天 时 分 秒 毫秒的代码
2019/05/21 Javascript
js图数据结构处理 迪杰斯特拉算法代码实例
2019/09/11 Javascript
vue+elementUI实现简单日历功能
2020/09/24 Javascript
[39:11]DOTA2上海特级锦标赛C组资格赛#2 LGD VS Newbee第二局
2016/02/28 DOTA
python实现向ppt文件里插入新幻灯片页面的方法
2015/04/28 Python
python发送HTTP请求的方法小结
2015/07/08 Python
使用python 打开文件并做匹配处理的实例
2019/01/02 Python
Python 简单计算要求形状面积的实例
2020/01/18 Python
Python批量处理csv并保存过程解析
2020/05/16 Python
python opencv把一张图片嵌入(叠加)到另一张图片上的实现代码
2020/06/11 Python
递归计算如下递归函数的值(斐波拉契)
2012/02/04 面试题
公司营业员的工作总结自我评价
2013/10/05 职场文书
应届生学校辅导员求职信
2013/11/07 职场文书
技术总监的工作职责
2013/11/13 职场文书
《雕塑之美》教学反思
2014/04/24 职场文书
法人代表证明书范本
2015/06/18 职场文书
欠条样本
2015/07/03 职场文书
2016元旦晚会主持词开场白和结束语
2015/12/04 职场文书
Python趣味实战之手把手教你实现举牌小人生成器
2021/06/07 Python
Java中PriorityQueue实现最小堆和最大堆的用法
2021/06/27 Java/Android
Linux、ubuntu系统下查看显卡型号、显卡信息详解
2022/04/07 Servers