需要注意的几个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 和 XML: 使用expat函数(三)
Oct 09 PHP
mysql_fetch_row,mysql_fetch_array,mysql_fetch_assoc的区别
Apr 24 PHP
php发送post请求函数分享
Mar 06 PHP
php动态绑定变量的用法
Jun 16 PHP
php防止网站被攻击的应急代码
Oct 21 PHP
如何使用php脚本给html中引用的js和css路径打上版本号
Nov 18 PHP
Joomla实现组件中弹出一个模式(modal)窗口的方法
May 04 PHP
Zend Framework前端控制器用法示例
Dec 11 PHP
PHP插件PHPMailer发送邮件功能
Feb 28 PHP
在PHP 7下安装Swoole与Yar,Yaf的方法教程
Jun 02 PHP
php实现解析xml并生成sql语句的方法
Feb 03 PHP
laravel与thinkphp之间的区别与优缺点
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中处理模拟rewrite 效果
2006/12/09 PHP
ThinkPHP的Widget扩展实例
2014/06/19 PHP
Javascript日期对象的dateAdd与dateDiff方法
2008/11/18 Javascript
随鼠标上下滚动的jquery代码
2013/12/05 Javascript
js调试系列 源码定位与调试[基础篇]
2014/06/18 Javascript
JavaScript中的fontsize()方法使用详解
2015/06/08 Javascript
jQuery基本选择器之标签名选择器
2016/09/03 Javascript
jQuery用FormData实现文件上传的方法
2016/11/21 Javascript
js实现5秒倒计时重新发送短信功能
2017/02/05 Javascript
JS中将多个逗号替换为一个逗号的实现代码
2017/06/23 Javascript
微信小程序 POST请求的实例详解
2017/09/29 Javascript
解决LayUI数据表格复选框不居中显示的问题
2019/09/25 Javascript
如何基于filter实现网站整体变灰功能
2020/04/17 Javascript
React组件设计模式之组合组件应用实例分析
2020/04/29 Javascript
[04:52]第二届DOTA2亚洲邀请赛主赛事第一天比赛集锦:OG娜迦海妖放大配合谜团大中3人
2017/04/02 DOTA
简单实现python爬虫功能
2015/12/31 Python
python爬虫_微信公众号推送信息爬取的实例
2017/10/23 Python
AI人工智能 Python实现人机对话
2017/11/13 Python
使用python 3实现发送邮件功能
2018/06/15 Python
解决python 无法加载downsample模型的问题
2018/10/25 Python
opencv python图像梯度实例详解
2020/02/04 Python
TensorFlow实现checkpoint文件转换为pb文件
2020/02/10 Python
python为什么会环境变量设置不成功
2020/06/23 Python
Python如何实现机器人聊天
2020/09/10 Python
浅析HTML5中的 History 模式
2017/06/22 HTML / CSS
《花的勇气》教后反思
2014/02/12 职场文书
关于元旦的广播稿
2014/02/16 职场文书
演讲主持词
2014/03/18 职场文书
应届大专生自荐书
2014/06/16 职场文书
放弃继承权公证书
2015/01/23 职场文书
幼儿园小朋友毕业感言
2015/07/30 职场文书
婚礼答谢词范文
2015/09/29 职场文书
如何制定一份可行的计划!
2019/06/21 职场文书
windows安装python超详细图文教程
2021/05/21 Python
win11怎么用快捷键锁屏? windows11锁屏的几种方法
2021/11/21 数码科技
本地搭建minio文件服务器(使用bat脚本启动)的方法
2022/07/15 Servers