本次是phplimit这道题,本篇文章提供了3种解法,即如何利用无参数函数进行RCE/任意文件读取
代码会将$_GET[code]中满足正则/[^W]+((?R)?)/的部分,替换为空,然后查看是否剩下的部分强等于;
那么有没有办法通过无参数函数,达到RCE的目的呢?答案显然是不可能的,没有参数,怎么传递我们需要执行的指令呢?
所以我们的目标也变得很明确:通过某种无参数函数获取指定的变量value,达到RCE的目的。
那么思又变得清晰了,http header就是我们的突破口。我们可以更改header中的各项属性,以及其value。
这里我们可以转换一下思,之间获取http headers,我们能获取非常多的属性,也就是说我们的可修改非常多,相当于一个面。但其实我们只要能够获取,并修改1条属性就够了,例如cookie或是X-Forward-For等等……
文件会话管理器仅允许会话 ID 中使用以下字符:a-z A-Z 0-9 ,(逗号)和 - 减号)
此函数返回一个包含所有已定义变量列表的数组,这些变量包括变量、服务器变量和用户定义的变量。
之前的方法都基于可以进行RCE,可以说我们是把题目难度又延安特大凶杀案加大了,实际上,我们只进行任意文件读取即可
即可发现flag文件,那么问题又回到之前,如果取数组指定的值,我们需要取的是第3个,我们有的方法如下
这种式的题目非常有趣,可以帮助我们了解许多php黑魔法和各种组合,我相信方法远不止这3种,欢迎各位讨论!