Bugku---web---eval

题目出处:首页 - Bugku CTF


✨打开链接会看到如下所示界面!!!

✨先对这段代码进行详解的解析!!!

<?php
  include "flag.php";   //包含一个名为flag.php的文件
  $a = @$_REQUEST['hello'];  //从请求中获取一个名为hello的参数值并赋值给变量a。
  eval( "var_dump($a);");   //输出变量a的相关信息
  show_source(__FILE__);    //显示当前文件的源码
?>

✨读完后一脸茫然,那就来拓展一下知识点!!!

$_REQUEST 函数是一个用于访问 GETPOSTCOOKIE 三个数组的超全局变量。它可以用于从客户端收集用户提交的数据,可以访问 GETPOSTCOOKIE 三个数组中的数据。

需要注意的是,$_REQUEST 函数是不安全的,因为它无法确定用户的输入值是来自于哪个数组。因此,为了确保安全性,建议仅使用 $_GET$_POST $_COOKIE 函数。

✨所以,我了解到,此题是给你一个flag.php的文件,让你对它进行读取,找找里面的hello参数,所以用到强大的超全局变量$GLOBALS去看看flag是否在这个文件中!!!

✨可见,并无flag出现,那就考虑到flag成为了此文件的注释,所以现在找不到,那我们就用文件去读取这个函数!!!

✨于是乎,读取到了里面的flag,此题就被破解啦!!!

✨拓展:file()把整个文件读入一个数组中。格式为 file('文件名')。

✨此题还有另外一种解法,我也是看了该篇文章了解到还有一种构造闭合的方法,但是我觉得比这个方法难,感兴趣的伙伴可以去研究一下,我在这就不做详细的介绍了!!!【愚公系列】2023年06月 Bugku-Web(eval)_bugku 原型链污染-CSDN博客

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-30 18:12:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-30 18:12:01       101 阅读
  3. 在Django里面运行非项目文件

    2024-04-30 18:12:01       82 阅读
  4. Python语言-面向对象

    2024-04-30 18:12:01       91 阅读

热门阅读

  1. web server apache tomcat11-24-Virtual Hosting and Tomcat

    2024-04-30 18:12:01       31 阅读
  2. 使用std::copy_n 对std::vector 拷贝数据时需要注意

    2024-04-30 18:12:01       34 阅读
  3. GPU系列(一):GPU 与 CPU异同

    2024-04-30 18:12:01       31 阅读
  4. 设计模式(三)、模板方法设计模式

    2024-04-30 18:12:01       35 阅读
  5. 网络安全SQL注入

    2024-04-30 18:12:01       24 阅读
  6. Web安全测试实战:SQL注入与XSS攻击的检测与防御

    2024-04-30 18:12:01       40 阅读