CTF之eval

本文详细介绍了PHP中的eval()函数,它如何处理字符串作为代码执行,以及$_REQUEST全局变量在收集HTML表单数据的应用。同时提到了如何通过GET、POST和COOKIE方式传递参数给函数。
摘要由CSDN通过智能技术生成

 首先我们先了解一下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}

  • 9
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
CTF中的Miscellaneous(简称Misc)是指一类涵盖了多个领域的题目,常见的包括密码学、网络协议、二进制分析等。 在CTF比赛中,解决这类题目的方法主要有以下几种: 1. 阅读题目描述:首先要仔细阅读题目描述,通常会提供一些线索或提示,例如题目类型、题目背景或所需的技术知识。这些大致的信息能够帮助你确定解题方法的方向。 2. 分析题目附件或源代码:如果题目提供了附件或源代码,要仔细分析其中的内容。有时可能需要进行逆向工程、二进制分析或查找隐藏信息。需要注意的是,不同题目类型可能需要使用不同的分析工具和技术。 3. 猜测和尝试:在整个解题过程中,可能需要多次猜测和尝试。例如,对于密码学类题目,尝试使用不同类型的密码学算法进行解密;对于网络协议类题目,尝试使用Wireshark等工具进行数据包分析。 4. 查找前人的经验:CTF解题是一个积累经验的过程,很多题目类型都有经典解法,可以通过学习前人的经验来提高解题效率。可以参考CTF比赛的writeup、CTF讨论论坛或CTF相关的学习资源等。 5. 团队合作:在解题过程中,可以与队友或其他选手进行合作,分享解题过程中的思路和发现。这样可以锻炼团队合作的能力,也能够快速找到解题思路或解题方法。 综上所述,CTF中Misc题目的解题方法主要包括阅读题目描述、分析附件或源代码、猜测和尝试、查找前人的经验以及团队合作等。通过不断学习和实践,提高解题的技巧和经验,才能更好地应对各种Misc题目的挑战。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值