本文主要是介绍CTF之eval,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
首先我们先了解一下eval()函数
什么是eval()?
eval() 函数把字符串按照 PHP 代码来计算。
该字符串必须是合法的 PHP 代码,且必须以分号结尾。
如果没有在代码字符串中调用 return 语句,则返回 NULL。如果代码中存在解析错误,则 eval() 函数返回 false。
所以在这个题中会执行var_dump($a),而var_dump()就是一个输出函数,相当于print_r(),只是输出格式不同
接着便来了解另一个函数 $_REQUEST[]
在PHP中,$_REQUEST是一个超全局变量,用于收集HTML表单提交的数据。它可以获取通过GET、POST或COOKIE方法提交的数据。
$_REQUEST变量是一个关联数组,它的键是表单元素的名称,值是用户输入的数据。通过$_REQUEST变量,可以访问表单中所有输入字段的值,不论它们是使用GET、POST还是COOKIE方法提交的。
所以我们可以通过 ?hello= 来进行传参
可以用?hello=show_source('flag.php')
也可以用?hello=file('flag.php')
flag{516c19dc90802e80dc6e3747f5f338b0}
这篇关于CTF之eval的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!