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 交通频道 作文范文 放弃也美丽作文600字 5.12护士节活动方案精选 观看升旗仪式作文600字 2016商场月工作总结 篮球励志名人:姚明个人资料简介 思想作风整顿心得体会(教师版) 工程项目部队长工作总结 女生切记,不要因为小恩惠,而忍受一世的苦。 习惯了你的沉默 轻舞的叛逆 初中入团申请书200字范文 “金秋结硕果”亲子制作大赛总结 企业做网站有什么用 先进性教育党员谈心纪录 雨落川下,闲笔飞花 让伤口代替永久的折磨作文350字 怀念过去 尤静波 农村商业银行关于专项中央票据认购情况的调研报告 游望儿山 只爱看你笑作文2100字 杨老师弄得我哭笑不得作文1600字 描写下雪的诗句大全 童年的钢琴 安岭村创先争优活动汇报 学习说“不”好处多 卢诺米阿玛斯宾作文200字 作文 《伊索寓言》读后感 星星 小猪的减肥计划 我心爱的小宠物350字 小学六年级作文300字:读《圆明圆的毁灭》有感 可爱的小乌龟作文350字 园林培训心得体会 考场随笔作文250字 不带语文书的烦恼 2016销售经理转正申请书范文 傲慢与偏见经典语录 习惯晚睡 小狗灰灰闯红灯 爱情字母诗 25岁女人30条生活必备条款 你的领导方式够艺术吗 冥王星的春天 五十章 决绝坠落曳摇谁 市政工程师年终工作总结 青春,我的爱情在流浪【十一】 把平安记在心,让青春更美丽作文700字 学习胡锦涛同志七一讲话心得体会 小学生读书笔记例文 班主任在小学五年级家长会发言稿 小学四年级作文400字:我一周岁的妹妹

Copyright © 2016 phpStudy |