繁体   English   中英

$ {$“ \\ x47L”…在PHP中的语法是什么意思?

[英]What is the meaning of ${$“\x47L”… this syntax in PHP?

我在php页面中发现了一些恶意代码,并且我知道正在使用混淆处理,但是我从未在PHP中看到过这样的语法。

例子1)

${"\x47LOB\x41\x4c\x53"}["\x76\x72vw\x65y\x70\x7an\x69\x70\x75"]="a";

示例2)

${${"\x47\x4c\x4f\x42\x41LS"}["\x64\x77\x65\x6dbj\x63"]}="\x23d\x665";

因此,问题是该代码的含义是什么,PHP如何处理它。 我对行开头的“ $ {”大为好奇。

谢谢。

那是十六进制的转义序列

\\x47对应于G\\x41对应于A\\x41

您发布的代码可转换为:

${"GLOBALS"}["vrvweypznipu"]="a";

${${"GLOBALS"}["dwembjc"]}="#df5";

${}表示法通常用于变量variable 它允许您使用字符串访问命名变量。

扩展Llama先生的答案,这些序列基本上是指PHP中的$ GLOBALS数组: http : //php.net/manual/en/reserved.variables.globals.php

编辑:拉玛先生现在已经扩大了答案,以包括上述内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM