我希望有人可以为我回答这个问题,因为我已经相当长时间地对此感到好奇,但似乎无法获得答案.但是,我相信这里有人能够,因为这里有一些非常聪明的人.
现在,问题.我将使用远程命令执行漏洞作为示例.
<?php echo preg_replace('/(.*)/e', 'strtoupper("\\1")', $argv[1]); ?>
Run Code Online (Sandbox Code Playgroud)
为了利用这一点,攻击者只需输入{${phpinfo()}}例如.我的问题如下:
{},为什么它看起来像变量?谢谢!
我一直想知道是否可以在PHP中执行以下操作:
for($x = 1; $x <= 50; $x++)
echo $x;
Run Code Online (Sandbox Code Playgroud)
这将输出:
1234 etc...
Run Code Online (Sandbox Code Playgroud)
显然它不是特定的代码,因为它几乎是瞬间的,你甚至无法看到增量发生.现在问我的问题:是否有可能echo删除它,重复一遍?简单地说输出应该从头到尾在同一条线上.我不知道如何解释它或显示,但这是一个例子(有点):
1 (backspace) 2 (backspace) etc...
Run Code Online (Sandbox Code Playgroud)
我希望你能理解它,我不知道怎么解释它.-.
感谢您的帮助!
编辑:这是控制台顺便说一句,抱歉,我忘了包含它.这不适合网络!
我正在尝试使用$HTTP_RAW_POST_DATA将原始 POST 数据发送到页面,但我的尝试失败并给出了未定义的索引通知。
我尝试了以下方法:
curl_setopt($handle, CURLOPT_POSTFIELDS, 'Raw POST data'); // Doesn't seem to work at all.
curl_setopt($handle, CURLOPT_POSTFIELDS, array('Raw POST data')); // 0 => Raw POST data
Run Code Online (Sandbox Code Playgroud)
我做了一些研究,有些人建议在请求中发送一个标头(Content-Type: text/plain),这似乎没有任何影响。
如果有人能够为此问题提供解决方案,我将不胜感激。谢谢!