RCE与SQL漏洞的复现

ops/2024/9/19 8:38:11/ 标签: sql, 数据库

eval长度限制突破


php eval函数参数限制在16个字符的情况下,如何拿到webshell呢

首先,我们还是先把环境搭好(此次的所有漏洞环境我都部署在Ubuntu下,我的Ubuntu下的环境是nginx+php,至于Ubuntu下的nginx+php环境我也有博客也写到,希望可以帮助到到家。在这里,我建议nginx下的html文件夹最好的用户组和用户都设置为www-data,否则之后的创建一句话木马可能不能创建,我的环境在最开始的时候用户组和用户为root,所以我在这吃了点亏,望大家引以为戒。)

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

在这里,我们分析代码,这个PHP代码片段存在严重的安全漏洞。它接收用户输入,通过eval()函数执行输入的代码。尽管代码对输入进行了部分过滤,但这种保护并不完全有效,可能导致代码执行攻击(例如,代码注入或远程代码执行)。

这个语句从用户的请求中获取 param 参数。$_REQUEST 包含了 $_GET, $_POST, 和 $_COOKIE 的混合数据。

if
strlen($param)<17 && stripos($param,=== false && stripos($param,'eval')'assert')
false
  • 这个条件语句检查 $param 的长度是否小于17个字符,并且 $param 中不包含 "eval" 和 "assert" 字符串。
  • 通过这种方式,它试图阻止一些明显的危险输入,如包含 eval 或 assert 关键字的代码。
{
eval($param);
}

 eval() 函数会将传入的字符串当作PHP代码执行。
这意味着如果用户的输入通过了上述条件检查,输入的内容会直接在服务器上执行。

第一种方法
尽管代码中试图过滤掉 "eval" 和 "assert",以及限制了输入的长度,但这并不能阻止所有可能的攻击。例如,攻击者可以尝试绕过这些过滤条件,输入一些看似无害但实际上可以执行任意代码的内容。例如 phpinfo();

但是我们该如何生成一句话木马呢,由于他限制了eval和assert,突发奇想,因为这个环境部署在linux下,那我们可以使用``包裹代码执行啊

echo `$_GET=[1]`;&1=id

数一下16个字符,刚好限制在了17个字符以内,而我们可以传参给1,那么问题不就解决了吗

试试吧

 

这个时候,我们看了之后权限只是www-data,那我们可以创建文件

echo `$_GET=[1]`;&1=touch /tmp/111.txt

 

 

我们既然可以创建这个,那么webshell不也可以吗,只做到这里,剩下的一句话木马的生成可以自行研究下。


http://www.ppmy.cn/ops/97240.html

相关文章

02_React面向组件编程--基本使用与理解、组件实例的三大核心属性与事件处理

基本使用与理解、组件实例的三大核心属性与事件处理 一、基本理解与使用1、函数式组件2、类的复习3、类式组件4、简单组件和复杂组件 二、组件实例的三大核心属性 1&#xff1a;state1、例子&#xff0c;点击文字切换 凉爽和炎热1.1 复习--原生事件绑定方式1.2 复习--类中的方法…

Qt鼠标键盘事件监听

普通的程序中. 鼠标事件监听 要监听鼠标事件&#xff0c;你可以使用QMouseEvent类&#xff0c;它提供了多种类型的鼠标事件&#xff0c;如QMouseEvent::MouseButtonPress、QMouseEvent::MouseButtonRelease、QMouseEvent::MouseMove等。 但是离开程序后就很难监听到&#xff0c…

x264 编码器 AArch64汇编系列:帧内预测函数

x264 汇编介绍 关于 x264 汇编介绍可以参考:x264 编码器汇编模块介绍关于 x264 AArch64汇编函数介绍可以参考:x264 编码器 AArch64 汇编函数模块关系分析帧内预测AArch64 汇编函数 在进行帧内预测编码过程,需要对各种分块模式进行模式预测。汇编函数关系和原理图:【Plane 模…

如何在Spring Boot应用中加载和使用TensorFlow模型

在Spring Boot应用中加载和使用TensorFlow模型&#xff0c;‌可以通过以下步骤实现&#xff1a;‌ ‌创建Spring Boot项目‌&#xff1a;‌首先&#xff0c;‌使用Spring Initializr创建一个新的Spring Boot项目&#xff0c;‌并添加Spring Web依赖。‌‌添加TensorFlow依赖‌…

asp.net MVC 根据菜单树类别不同,动态加载视图

在 ASP.NET MVC 中&#xff0c;根据菜单树的类别动态加载不同的视图&#xff0c;可以通过以下步骤实现&#xff1a; 目录 1. 创建菜单模型 2. 构建菜单树 3. 动态加载视图 4. 创建部分视图 5. 根据类别动态加载部分视图 6. 使用 Ajax 动态加载&#xff08;可选&#xff…

【从问题中去学习k8s】k8s中的常见面试题(夯实理论基础)(十四)

本站以分享各种运维经验和运维所需要的技能为主 《python零基础入门》&#xff1a;python零基础入门学习 《python运维脚本》&#xff1a; python运维脚本实践 《shell》&#xff1a;shell学习 《terraform》持续更新中&#xff1a;terraform_Aws学习零基础入门到最佳实战 《k8…

算法的学习笔记—栈的压入、弹出序列(牛客JZ31)

&#x1f600;前言 栈&#xff08;Stack&#xff09;是一种常见的数据结构&#xff0c;具有“后进先出”的特性。在实际应用中&#xff0c;我们常常需要验证一组操作是否符合栈的特性。本文将探讨如何通过编程判断一个给定的弹出序列是否可以由另一个给定的压入序列生成&#x…

如何将 Windows 11/10/8/7 克隆到另一台计算机

为什么需要将 Windows克隆到新计算机 “我有一台新笔记本电脑来替换我的旧电脑&#xff0c;因为它运行几年后变得越来越慢。我现在面临的问题是如何让 Windows 10、程序和文件与旧 PC 保持相同。我不想重新安装 Windows 和应用程序。有没有快速简便的方法可以做到这一点&#…

PyTorch 基础学习

文章索引&#xff1a; PyTorch 基础学习&#xff08;1&#xff09; - 快速入门 PyTorch 基础学习&#xff08;2&#xff09;- 张量 Tensors PyTorch 基础学习&#xff08;3&#xff09; - 张量的数学操作 PyTorch 基础学习&#xff08;4&#xff09;- 张量的类型 PyTorch 基础学…

汽车EDI: NAVISTAR EDI对接

Navistar International Corporation 是一家美国商用车辆制造公司&#xff0c;总部位于伊利诺伊州的Lisle。公司以生产中型和重型卡车、公共汽车、柴油发动机和底盘闻名&#xff0c;其产品广泛应用于运输、建筑、和农业等行业。Navistar 的历史可以追溯到1831年&#xff0c;由国…

初识spring security (一),一文弄懂默认配置

一、简单导入依赖 1、导入pom <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.6.2</version></parent><modelVersion>4.0.0</modelVersion&g…

定制开发AI智能名片商城小程序:融合销售策略与个人魅力的营销新路径

摘要&#xff1a;在数字化时代&#xff0c;营销策略的创新与个性化成为企业脱颖而出的关键。本文探讨了如何通过定制开发AI智能名片商城小程序&#xff0c;结合销售策略与个人魅力&#xff0c;实现用户心甘情愿购买产品的目标。通过分析用户行为、心理需求及市场趋势&#xff0…

django之反向关系查询<related_model>_set/related_name

假设有两个模型&#xff1a;Author和Post&#xff0c;其中Post模型通过ForeignKey字段与Author模型相关联。 模型定义 from django.db import modelsclass Author(models.Model):first_name models.CharField(max_length30)last_name models.CharField(max_length30)class …

src资产收集心得

src平台的收录公告 ● 有的src平台公告中写着不要哪些站的洞得看清楚不然白忙活 ● 给你的是根域还是业务范围 收集方法/工具 ● oneforall(功能强大你需要配置api能配就配下&#xff0c;比较耗时) ● 灯塔&#xff08;本人不用&#xff09; ● layer ● fofa、quake、hunte…

EmguCV学习笔记 C# 5.2 仿射变换

版权声明&#xff1a;本文为博主原创文章&#xff0c;转载请在显著位置标明本文出处以及作者网名&#xff0c;未经作者允许不得用于商业目的。 EmguCV是一个基于OpenCV的开源免费的跨平台计算机视觉库,它向C#和VB.NET开发者提供了OpenCV库的大部分功能。 教程VB.net版本请访问…

vba自动发送邮件的基础步骤?有哪些流程?

vba自动发送邮件如何设置&#xff1f;vba自动发送邮件的技巧&#xff1f; 如果你想节省时间&#xff0c;提高工作效率&#xff0c;学会如何使用VBA自动发送邮件是一个非常有用的技能。AokSend将为你介绍VBA自动发送邮件的基础步骤&#xff0c;并通过简单的分段来详细讲解。 v…

[数据集][目标检测]夜间老鼠检测数据集VOC+YOLO格式316张1类别+视频文件1个

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;316 标注数量(xml文件个数)&#xff1a;316 标注数量(txt文件个数)&#xff1a;316 标注类别…

精益管理|介绍一本专门研究防错法(Poka-Yoke)的书

在现代制造业中&#xff0c;如何确保产品在每个生产环节中不出现错误是企业追求的目标之一。而实现这一目标的关键技术之一就是防错法&#xff08;Poka-Yoke&#xff09;。作为一种简单而有效的精益管理、六西格玛管理工具&#xff0c;防错法帮助企业避免因人为错误或工艺不当导…

共享打印机修复工具哪个好_2024年共享打印机修复工具推荐

共享打印机修复工具哪个好&#xff1f;最近几年使用过共享打印机的小伙伴遇到各种共享错误&#xff0c;出现0x00000709和0x0000011b访问共享打印机问题&#xff0c;各种打印机修复工具也有&#xff0c;下面小编就给大家介绍共享打印机修复工具哪个好用分析。 共享打印机修复工具…

用Python实现生信分析——序列搜索和比对工具详解

1. 什么是序列搜索和比对工具&#xff1f; 序列搜索和比对工具在生物信息学中用于在大型序列数据库中搜索与查询序列相似的序列&#xff0c;并进行比对分析。这些工具可以帮助研究人员识别与目标序列相关的已知序列&#xff0c;从而推测其功能、结构和进化关系。 常见的序列搜…