需要注意的几个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获取网卡地址的代码
Apr 09 PHP
PHP生成自适应大小的缩略图类及使用方法分享
May 06 PHP
php修改指定文件后缀的方法
Sep 11 PHP
ThinkPHP提交表单时默认自动转义的解决方法
Nov 25 PHP
php批量添加数据与批量更新数据的实现方法
Dec 16 PHP
php+mysqli预处理技术实现添加、修改及删除多条数据的方法
Jan 30 PHP
PHP文件缓存类示例分享
Jan 30 PHP
PHP传参之传值与传址的区别
Apr 24 PHP
PHP快速推送微信模板消息
Apr 14 PHP
PHP实现超简单的SSL加密解密、验证及签名的方法示例
Aug 28 PHP
php实现统计二进制中1的个数算法示例
Jan 23 PHP
PHP 实现手机端APP支付宝支付功能
Jun 07 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
libmysql.dll与php.ini是否真的要拷贝到c:\windows目录下呢
2010/03/15 PHP
19个Android常用工具类汇总
2014/12/30 PHP
ECSHOP完美解决Deprecated: preg_replace()报错的问题
2016/05/17 PHP
PHP使用HTML5 FileApi实现Ajax上传文件功能示例
2019/07/01 PHP
jquery简单的拖动效果实现原理及示例
2013/07/26 Javascript
jQuery实现类似滑动门切换效果的层切换
2013/09/23 Javascript
我的Node.js学习之路(二)NPM模块管理
2014/07/06 Javascript
javascript模拟map输出与去除重复项的方法
2015/02/09 Javascript
浅谈javascript获取元素transform参数
2015/07/24 Javascript
跟我学习javascript的定时器
2015/11/19 Javascript
关于安卓手机微信浏览器中使用XMLHttpRequest 2上传图片显示字节数为0的解决办法
2016/05/17 Javascript
将angular-ui的分页组件封装成指令的方法详解
2017/05/10 Javascript
Flask中获取小程序Request数据的两种方法
2017/05/12 Javascript
bootstrap+jQuery 实现下拉菜单中复选框全选和全不选效果
2017/06/12 jQuery
vue实现表格数据的增删改查
2017/07/10 Javascript
vue使用mint-ui实现下拉刷新和无限滚动的示例代码
2017/11/06 Javascript
vue 表单输入格式化中文输入法异常问题
2018/05/30 Javascript
js滚轮事件 js自定义滚动条的实现
2020/01/18 Javascript
uniapp与webview之间的相互传值的实现
2020/06/29 Javascript
echarts饼图各个板块之间的空隙如何实现
2020/12/01 Javascript
[04:22]DOTA2上海特级锦标赛主赛事第四日TOP10
2016/03/06 DOTA
Python求解平方根的方法
2015/03/11 Python
python使用xmlrpclib模块实现对百度google的ping功能
2015/06/02 Python
Python实现单词翻译功能
2017/06/06 Python
Python使用回溯法子集树模板获取最长公共子序列(LCS)的方法
2017/09/08 Python
python sys.argv[]用法实例详解
2018/05/25 Python
利用pandas合并多个excel的方法示例
2019/10/10 Python
PyQt5高级界面控件之QTableWidget的具体使用方法
2020/02/23 Python
python logging模块的使用详解
2020/10/23 Python
JD Sports丹麦:英国领先的运动时尚零售商
2020/11/24 全球购物
提高EJB性能都有哪些技巧
2012/03/25 面试题
领导班子四风问题对照检查材料
2014/09/27 职场文书
运动会加油稿30字
2015/07/21 职场文书
养成教育工作总结
2015/08/13 职场文书
正确的理解和使用Django信号(Signals)
2021/04/14 Python
Nginx跨域问题解析与解决
2022/08/05 Servers