Null 字符问题


Null 字符问题

由于 PHP 的文件系统操作是基于 C 语言的函数的,所以它可能会以您意想不到的方式处理 Null 字符。 Null字符在 C 语言中用于标识字符串结束,一个完整的字符串是从其开头到遇见 Null 字符为止。 以下代码演示了类似的攻击:

Example #1 会被 Null 字符问题攻击的代码

<?php
$file 
$_GET['file']; // "../../etc/passwd"
if (file_exists('/home/wwwrun/'.$file.'.php')) {
    
// file_exists will return true as the file /home/wwwrun/../../etc/passwd exists
    
include '/home/wwwrun/'.$file.'.php';
    
// the file /etc/passwd will be included
}
?>

因此,任何用于操作文件系统的字符串(译注:特别是程序外部输入的字符串)都必须经过适当的检查。以下是上述例子的改进版本:

Example #2 验证输入的正确做法

<?php
$file 
$_GET['file']; 

// 对字符串进行白名单检查
switch ($file) {
    case 
'main':
    case 
'foo':
    case 
'bar':
        include 
'/home/wwwrun/include/'.$file.'.php';
        break;
    default:
        include 
'/home/wwwrun/include/main.php';
}
?>

«  预定义变量
» 使用 Register Globals
快速导航
PHP MySQL HTML CSS JavaScript MSSQL AJAX .NET JSP Linux Mac ASP 服务器 SQL jQuery C# C++ java Android IOS oracle MongoDB SQLite wamp 交通频道 作文范文 200字我喜欢的新年作文:我喜欢过新年 朋友的温暖 我用回忆记住您 论中国人的奴性 部门工作总结 范文 朗诵《母亲的赞歌》主持人串词,《母亲的赞歌》朗诵词 小学六年级作文650字:累,并快乐着 毕业赠言:毕业赠言集 小学六年级作文550字:这堂课改变了我 描写向日葵的作文300字 早安心语:路再长再远,夜再黑再暗,也得独自默默地走下去 厚道善良,沉淀心窗 小灰有一只毛毛虫 小学二年级作文500字:小树哭了 记忆里的那一抹童真 墨香书 补给妈妈的节日礼物作文250字 婚礼,是一个男孩能给女孩最美的馈赠 《青山处处埋忠骨》读后感作文400字 班组长个人年终总结 未来作文500字 生活这杯水 永远都是好闺蜜作文600字 小学四年级作文400字:哦,太阳花 2016工作计划怎么写销售员 国庆节的天安门 如此焦急的心情 小学六年级作文400字:可爱的妹妹 那一片艾 夕辉 财务部工作计划书 我的童年作文1400字 我还在这里,等你 去外企面试五大忌讳 开讲啦蔡澜演讲稿:人生真好玩儿 珠宝店情人节活动方案 正能量早安心语:假如大事小事,都不懂得放下,累的不仅仅是自己 云南江川农民养石蛙创业,年产值破百万 人生照片作文500字 《自己去吧》读书笔记150字 围着火炕的冬天 人生中最苍凉的背景 幼儿园大班语言教案:皮鞋车 忘掉过去,重头再来,不留遗憾 心窗打开,让阳光进来作文1600字 流年里,请允许我低声吟唱一曲尘埃落定。 关于外婆的作文500字 描写回忆的句子 国庆爱国征文演讲 2015幼儿家庭教育心得体会

Copyright © 2016 phpStudy |