美文网首页
【PHP代码审计】Null字符问题

【PHP代码审计】Null字符问题

作者: 红色火苗 | 来源:发表于2017-09-29 18:55 被阅读0次

PHP基于C语言编写,所以可能对于某些字符的处理,在实际运行中可能会有意想不到的结果

漏洞代码:

<?php
$file  =  $_GET [ 'file' ];  // "../../etc/passwd\0"
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
}
?>

防御方法:


<?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' ;
}
?>

版权归原作者所有.仅供学习交流使用。

相关文章

  • 【PHP代码审计】Null字符问题

    PHP基于C语言编写,所以可能对于某些字符的处理,在实际运行中可能会有意想不到的结果 漏洞代码: 防御方法: 版权...

  • 代码审计

    代码审计工具 1、三款自动化代码审计工具教程2、seay源代码审计系统 PHP核心配置详解 注意PHP各个版本中配...

  • 【代码审计】PHP代码审计

    1. 概述 代码审核,是对应用程序源代码进行系统性检查的工作。它的目的是为了找到并且修复应用程序在开发阶段存在的一...

  • 攻防世界(进阶)--WEB--8.Web_php_unseria

    考察点:php代码审计 1.进入场景,得到php代码 2.化简代码,审计 3.写脚本 得到参数:TzorNDoiR...

  • 2019-07-28-php代码审计

    一、PHP代码执行代码审计首先讲一下PHP代码执行漏洞和命令执行漏洞的区别,PHP代码执行指的是将php代码植入到...

  • Php代码审计

    Challenge show_source(__FILE__); $flag="xxxx"; if(isset($...

  • php代码审计

    审计初审 判断审计对象的架构,是否套了开源的框架,若是开源框架,直接利用框架的漏洞进行验证利用;若是原生代码则进行...

  • PHP代码审计

    PHP:include()``include_once()``require()``require_once() ...

  • php代码审计

    触发漏洞点:$_SERVER['PHP_SELF'] $_SERVER['PHP_SELF']一般用来引用当前网页...

  • php代码审计常见问题

    1.取反导致的逻辑问题0的取反是1,false的取反也是1例如strpos 2.in_array 3.filter...

网友评论

      本文标题:【PHP代码审计】Null字符问题

      本文链接:https://www.haomeiwen.com/subject/ojqwextx.html