[英]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.