首页 > 其他分享 >#渗透测试#SRC漏洞挖掘#蓝队基础之网络七层杀伤链04 终章

#渗透测试#SRC漏洞挖掘#蓝队基础之网络七层杀伤链04 终章

时间:2024-11-15 09:15:01浏览次数:3  
标签:SRC 架构 04 收集 蓝队 网络 监控 日志 信任

网络杀伤链模型(Kill Chain Model)是一种用于描述和分析网络攻击各个阶段的框架。这个模型最初由洛克希德·马丁公司提出,用于帮助企业和组织识别和防御网络攻击。网络杀伤链模型将网络攻击过程分解为多个阶段,每个阶段都有特定的活动和目标。通过理解和监控这些阶段,防御者可以更有效地识别和阻止攻击。

 

目录

一、网络杀伤链模型的阶段

一、简介

二、防御措施

二、如何检测网络杀伤链

三、日志收集

一、日志收集的方法

二、日志收集的工具

三、日志收集的最佳实践

四、日志搜索

一、日志搜索与分析的方法

二、日志搜索与分析的工具

三、日志搜索与分析的最佳实践

五、监控告警

 一、监控告警系统

 六、网络狩猎

 七、威胁情报

 八、零信任

一、零信任架构的核心原则

二、零信任架构的优势

三、实施零信任架构的步骤

四、相关技术和工具

五、零信任架构的核心

六、零信任架构对企业安全的影响

九、零信任架构的实施步骤

1. 确定实施目标和范围

2. 建立身份和访问管理框架

3. 实施网络分段和微隔离

4. 部署持续监控和日志记录

5. 制定和实施安全策略

6. 持续培训和教育


一、网络杀伤链模型的阶段

一、简介

网络杀伤链模型通常包括以下几个阶段:

  1. 侦察(Reconnaissance)

    • 攻击者收集目标系统的信息,如IP地址、操作系统类型、漏洞信息、人员组织结构等。

    • 目标是了解目标系统的环境,以便更好地策划攻击。

  2. 漏洞扫描和利用(Vulnerability Scanning and Exploitation)

    • 攻击者利用收集到的漏洞信息,对目标系统进行漏洞扫描。

    • 利用已知的漏洞进行攻击,尝试侵入系统。

  3. 系统访问和权限提升(System Access and Privilege Escalation)

    • 攻击者在成功利用漏洞后,尝试访问目标系统。

    • 通过各种手段(如暴力破解、社会工程学、恶意软件等)获取更高的权限,以更好地控制目标系统。

  4. 数据窃取和篡改(Data Exfiltration and Manipulation)

    • 攻击者在成功访问系统后,尝试窃取敏感数据,如个人信息、信用卡信息等。

    • 可能会篡改数据,植入木马、病毒等恶意软件,以控制系统、窃取信息或破坏数据完整性。

  5. 命令和控制(Command and Control)

    • 攻击者在成功窃取数据或控制系统后,通过远程控制工具对目标系统进行远程控制。

    • 可以通过命令和控制进行各种恶意活动,如远程操控、发起DDoS攻击等。

二、防御措施

1. 安全意识教育

企业应定期开展安全意识教育,让员工了解网络攻击的危害性和防范知识,提高员工的安全意识和防范能力。这有助于减少因人为疏忽导致的安全事件。

2. 安全漏洞修复

企业需要定期对系统进行安全漏洞扫描和修复,及时补充最新的安全补丁,防止攻击者利用已知漏洞进行攻击。保持系统的更新和补丁管理是防御的基础。

3. 访问控制和权限管理

实行访问控制和权限管理机制,确保只有授权人员能够访问系统,从而避免未经授权的访问和恶意活动。最小权限原则(Least Privilege Principle)是这一策略的核心。

4. 安全监测和响应

部署安全监测和响应机制,及时发现和响应安全事件,包括异常登录、异常访问、恶意软件感染等,从而遏制攻击的扩散。使用入侵检测系统(IDS)和入侵防御系统(IPS)可以增强这一能力。

5. 数据备份和恢复

定期备份重要数据,确保在攻击发生后能够及时恢复数据,减少数据丢失和损失。备份应该存储在安全的地方,并定期进行恢复演练以确保其有效性。

6. 情报收集和共享

收集和共享威胁情报,可以帮助企业提前识别潜在的攻击者和攻击手段,从而采取预防措施。参与行业内的信息共享组织可以获得更多的威胁情报。

7. 多层防御

采用多层次的防御策略,包括网络防火墙、应用防火墙、端点保护、邮件安全网关等,形成全面的防御体系。每一层都应有自己的防御措施,以防止攻击者突破某一层防线。

8. 持续监控和改进

持续监控网络和系统的安全状况,定期进行安全评估和渗透测试,发现潜在的安全隐患并及时改进。安全是一个持续的过程,需要不断地评估和调整策略。

9. 应急预案和演练

制定详细的应急预案,并定期进行演练,以确保在发生安全事件时能够迅速有效地应对。应急预案应包括事故响应团队的职责分工、应急处置流程、对外沟通策略等内容。

10. 合规和审计

遵守相关的法律法规和行业标准,定期进行安全审计,确保各项安全措施得到有效实施。合规不仅是法律要求,也是保障企业安全的重要手段。

通过以上策略,企业可以构建一个全面、有效的防御体系,降低遭受网络杀伤链模型攻击的风险。

为了防止网络杀伤链模型的攻击,企业可以采取以下措施:

网络杀伤链模型是一种非常危险的攻击模型,因为它允许攻击者在每个环节上不断扩大攻击范围和影响,从而使攻击变得更加复杂和难以控制。因此,企业需要采取多种防范措施,从不同的环节进行防范,以确保系统的安全性和可靠性。

二、如何检测网络杀伤链

检测网络杀伤链通常涉及监控和分析网络流量、系统行为以及日志文件等,以识别潜在的攻击活动。以下是一些常见的方法和工具,可以帮助检测网络杀伤链的不同阶段:

  1. 入侵检测系统(IDS)和入侵防御系统(IPS):这些系统可以监控网络流量,识别异常行为或已知的攻击模式。例如,Snort和Suricata是开源的IDS/IPS工具,可以用于检测网络攻击。

  2. 端点检测和响应(EDR):EDR解决方案专注于监控和分析端点设备(如计算机和服务器)的行为,以识别恶意活动。例如,Carbon Black和CrowdStrike提供EDR服务,可以帮助检测和响应端点上的威胁。

  3. 日志管理和分析:集中管理和分析日志文件可以帮助识别异常行为和潜在的攻击活动。例如,ELK Stack(Elasticsearch、Logstash、Kibana)是一个开源的日志分析平台,可以帮助收集和分析日志数据。

  4. 行为分析和异常检测:使用机器学习和人工智能技术,可以识别正常行为模式,并检测异常行为。例如,Darktrace和Vectra使用AI技术来检测网络中的异常行为。

  5. 威胁情报:利用威胁情报信息,可以识别已知的攻击者、工具和技术。例如, Recorded Future 和 ThreatConnect 提供威胁情报平台,可以帮助识别和跟踪已知的威胁。

  6. 沙箱分析:沙箱技术可以隔离和执行可疑文件或程序,以观察其行为并识别潜在的恶意活动。例如,FireEye和Cylance提供沙箱分析解决方案,可以帮助检测复杂的威胁。

  7. 网络分段和微分段:通过将网络划分为不同的段,并实施严格的访问控制,可以限制攻击者的移动范围,并更容易检测异常行为。例如,Palo Alto Networks和Cisco提供网络分段和微分段解决方案,可以帮助保护网络。

总之,检测网络杀伤链需要综合使用多种工具和技术,并且需要持续监控和分析网络和系统的活动,以识别潜在的攻击活动。

三、日志收集

日志收集是指将系统、应用程序或其他设备产生的日志数据收集到一个中心位置的过程。日志数据通常包含有关系统运行状态、错误信息、用户操作等信息,对于系统监控、故障排除和安全审计等方面具有重要意义。

一、日志收集的方法

日志收集的方法有很多种,以下是几种常见的方法:

  1. 基于代理的日志收集

    • 在每个需要收集日志的设备上安装代理软件,代理软件负责收集日志数据并将其发送到中心日志服务器。

    • 优点是可以收集到详细的日志数据,缺点是需要在每个设备上安装代理软件,可能会增加系统负担。

  2. 基于消息队列的日志收集

    • 使用消息队列(如Kafka、RabbitMQ等)来收集和传输日志数据。

    • 优点是可以实现高并发、高可靠性的日志收集,缺点是需要额外的消息队列基础设施。

  3. 基于文件传输的日志收集

    • 将日志数据写入文件,然后通过文件传输协议(如FTP、SFTP等)将日志文件传输到中心日志服务器。

    • 优点是实现简单,缺点是可能会导致日志数据的延迟和丢失。

  4. 基于API接口的日志收集

    • 通过API接口将日志数据发送到中心日志服务器。

    • 优点是可以实现灵活的日志收集,缺点是需要开发和维护API接口。

二、日志收集的工具

有许多工具可以帮助您进行日志收集,以下是一些常见的工具:

  1. Fluentd

    • 开源的数据收集工具,可以收集各种来源的日志数据,并将其发送到各种目的地(如Elasticsearch、HDFS等)。

  2. Logstash

    • 开源的数据管道工具,可以收集、过滤和发送日志数据。

  3. Beats

    • 轻量级的日志收集工具,可以收集各种来源的日志数据,并将其发送到Logstash或Elasticsearch。

  4. Syslog-ng

    • 开源的系统日志守护进程,可以收集和转发系统日志。

  5. Flume

    • 开源的日志收集工具,可以收集各种来源的日志数据,并将其发送到各种目的地(如HDFS、HBase等)。

三、日志收集的最佳实践
  1. 确定日志收集的目标和范围

    • 确定需要收集哪些系统的日志数据,以及需要收集哪些类型的日志数据。

  2. 选择合适的日志收集工具

    • 根据您的需求和技术栈选择合适的日志收集工具。

  3. 配置日志收集工具

    • 配置日志收集工具以收集所需的日志数据,并将其发送到中心日志服务器。

  4. 监控日志收集过程

    • 监控日志收集过程,确保日志数据的完整性和准确性。

  5. 定期审查和优化日志收集策略

    • 定期审查和优化日志收集策略,以确保其有效性和效率。

通过以上方法和最佳实践,您可以有效地收集和管理日志数据,从而提高系统的可观察性和可靠性。

四、日志搜索

日志搜索与分析是指通过对收集到的日志数据进行查询和分析,以提取有价值的信息和洞察。日志数据通常包含有关系统运行状态、错误信息、用户操作等信息,对于系统监控、故障排除和安全审计等方面具有重要意义。

一、日志搜索与分析的方法

日志搜索与分析的方法有很多种,以下是几种常见的方法:

  1. 基于关键词的搜索

    • 使用关键词搜索日志数据,以查找特定的事件或错误信息。

    • 优点是简单易用,缺点是可能会遗漏一些重要的信息。

  2. 基于正则表达式的搜索

    • 使用正则表达式搜索日志数据,以查找特定的模式或格式。

    • 优点是可以实现精确的搜索,缺点是需要具备一定的正则表达式知识。

  3. 基于SQL的查询

    • 使用SQL语言查询日志数据,以提取特定的信息和洞察。

    • 优点是可以实现复杂的查询和分析,缺点是需要具备一定的SQL知识。

  4. 基于机器学习的分析

    • 使用机器学习算法分析日志数据,以发现潜在的模式和异常。

    • 优点是可以实现自动化和智能化的分析,缺点是需要具备一定的机器学习知识。

二、日志搜索与分析的工具

有许多工具可以帮助您进行日志搜索与分析,以下是一些常见的工具:

  1. Elasticsearch

    • 开源的搜索引擎,可以用于存储和查询日志数据。

  2. Kibana

    • 开源的数据可视化工具,可以用于展示和分析日志数据。

  3. Grafana

    • 开源的数据可视化工具,可以用于展示和分析日志数据。

  4. Splunk

    • 商业化的日志管理和分析工具,可以用于收集、存储、查询和分析日志数据。

  5. Loggly

    • 商业化的日志管理和分析工具,可以用于收集、存储、查询和分析日志数据。

三、日志搜索与分析的最佳实践
  1. 确定日志搜索与分析的目标和范围

    • 确定需要搜索和分析哪些系统的日志数据,以及需要提取哪些类型的信息和洞察。

  2. 选择合适的日志搜索与分析工具

    • 根据您的需求和技术栈选择合适的日志搜索与分析工具。

  3. 配置日志搜索与分析工具

    • 配置日志搜索与分析工具以搜索和分析所需的日志数据。

  4. 监控日志搜索与分析过程

    • 监控日志搜索与分析过程,确保提取的信息和洞察的准确性和完整性。

  5. 定期审查和优化日志搜索与分析策略

    • 定期审查和优化日志搜索与分析策略,以确保其有效性和效率。

通过以上方法和最佳实践,您可以有效地搜索和分析日志数据,从而提取有价值的信息和洞察,提高系统的可观察性和可靠性。

五、监控告警

监控告警是一种用于监控系统和应用程序的关键指标并发出告警通知的技术手段。通过设置监控告警系统,可以及时发现和解决系统和应用程序的故障和异常情况,保障业务的连续性和稳定性。

 一、监控告警系统

监控告警系统通常由以下几个部分组成:

  1. 监控代理:监控代理是监控告警系统的核心组件之一,它负责定期或实时监测系统和应用程序的关键指标,并将监测数据发送到监控服务器。

  2. 监控服务器:监控服务器是监控告警系统的控制中心,它负责接收监控代理发送的监测数据,并对数据进行分析和处理,监控服务器还负责设置告警规则、发送告警通知等。

  3. 告警通知渠道:告警通知渠道是监控告警系统用于通知相关人员的方式,如邮件、短信、微信等。

  4. 告警规则:告警规则是监控告警系统用于判断是否发出告警通知的规则,它通常由阈值、告警级别、告警方式等组成。

在设置监控告警系统时,需要根据监控目标的关键指标和性能要求来确定监控工具和告警规则,并进行测试和优化,以确保监控告警系统的有效性和可靠性。

 六、网络狩猎

网络狩猎(Network Hunting)是指在网络中主动寻找潜在威胁和攻击迹象的行为。它是一种网络安全策略,旨在通过主动搜索和分析网络流量、日志和其他数据源,发现并应对那些可能已经绕过传统安全防护措施的高级威胁。

网络狩猎通常涉及以下几个方面:

  1. 主动搜索:与传统的被动防御不同,网络狩猎强调主动出击,通过分析网络流量、日志文件和其他数据源,寻找异常行为和潜在威胁。

  2. 高级威胁检测:网络狩猎的目标是发现那些高级的、复杂的威胁,这些威胁可能已经绕过了传统的安全防护措施,如防火墙、入侵检测系统等。

  3. 数据分析:网络狩猎依赖于对大量数据的分析,包括网络流量、系统日志、应用程序日志等。通过使用机器学习、统计分析和其他技术手段,可以从海量数据中提取出有价值的信息。

  4. 响应和修复:一旦发现潜在威胁,网络狩猎团队需要迅速采取行动,隔离受影响的系统,修复漏洞,并更新安全策略以防止未来的攻击。

网络狩猎的重要性在于,随着网络攻击的复杂性和频率不断增加,传统的被动防御措施已经不足以应对高级威胁。通过主动搜索和分析,网络狩猎可以帮助企业更早地发现潜在威胁,减少攻击对企业造成的影响。

在实施网络狩猎时,企业需要具备一定的技术和资源,包括专业的安全团队、先进的分析工具和全面的数据源。同时,企业还需要不断更新和优化狩猎策略,以应对不断变化的威胁环境。

 七、威胁情报

威胁情报(Threat Intelligence)是指关于网络威胁的信息和知识,这些信息和知识可以帮助企业和组织识别、预防和应对网络攻击。威胁情报通常包括有关攻击者、攻击手段、攻击目标、恶意软件、漏洞等方面的数据和分析。

威胁情报在网络安全中的应用非常广泛,主要包括以下几个方面:

  1. 威胁识别和预警:通过收集和分析威胁情报,可以提前识别潜在的网络威胁,并发出预警通知,帮助企业采取预防措施,避免遭受攻击。

  2. 攻击溯源和分析:威胁情报可以帮助企业了解攻击者的身份、动机和攻击路径,从而更好地理解攻击的本质和目的,为后续的安全防护和应对提供指导。

  3. 安全策略优化:通过对威胁情报的分析,企业可以发现现有安全防护措施的不足之处,并据此优化安全策略,提高整体的安全水平。

  4. 自动化响应和修复:一些高级的威胁情报平台可以实现自动化响应和修复,即在发现威胁后,自动采取相应的措施,如隔离受影响的系统、修复漏洞等,以减少攻击对企业造成的影响。

威胁情报的获取途径多种多样,包括但不限于:

  • 公开情报源:如政府机构发布的威胁报告、安全公告和漏洞数据库;

  • 商业安全公司提供的安全研究报告和威胁情报平台;

  • 安全社区和论坛上发布的威胁情报共享和分析;

  • 自行收集和分析网络流量、日志文件等数据。

总的来说,威胁情报在现代网络安全中扮演着越来越重要的角色,它不仅可以帮助企业更好地理解和应对网络威胁,还可以提高企业的整体安全水平。

 八、零信任

零信任架构(Zero Trust Architecture)是一种网络安全理念,它主张不再默认信任任何网络内部或外部的实体,包括用户、设备和应用程序。零信任架构的核心思想是:默认情况下,企业内外部的任何人、事、物均不可信,应在授权前对任何试图接入网络和访问网络资源的实体进行验证。

一、零信任架构的核心原则
  1. 最小权限原则:用户和应用程序只应拥有完成其任务所需的最小权限,以减少潜在的攻击面。

  2. 持续验证:对用户、设备和应用程序进行持续的身份验证和授权,确保只有合法用户才能获得访问权限。

  3. 细粒度访问控制:根据用户的身份、角色和上下文信息设置细粒度的访问控制策略,限制其访问范围和权限。

  4. 零信任网络:构建一个去中心化和分布式的网络架构,将安全策略应用到每个网络节点,防止攻击者在网络中扩散和横向移动。

二、零信任架构的优势
  1. 提高安全性:通过不信任任何人或任何设备,零信任架构可以有效降低安全风险,防止未经授权的访问和数据泄露。

  2. 增强可见性:零信任架构提供了全面的实时监控和日志记录功能,帮助企业更好地识别和响应安全威胁。

  3. 降低损失:通过最小化权限和实施持续验证,零信任架构可以减少潜在的安全漏洞和数据泄露,降低安全事件造成的损失。

  4. 适应性强:零信任架构可以灵活适应不断变化的安全威胁和业务需求,为企业提供持久的安全保护。

三、实施零信任架构的步骤
  1. 定义保护范围:明确需要保护的资产和安全等级要求。

  2. 映射业务流程:详细梳理业务流程和数据流动,以便更好地实施零信任策略。

  3. 构建零信任网络:购买和部署相关的安全设备和技术,构建零信任网络架构。

  4. 创建零信任策略:制定和实施详细的零信任访问控制策略。

  5. 持续监管和运维:定期审查和更新安全策略,确保系统的健康稳定运行。

四、相关技术和工具
  • 身份验证和授权:如多因素认证(MFA)、单点登录(SSO)等。

  • 网络分隔:如微分隔(Micro-Segmentation)、虚拟局域网(VLAN)等。

  • 实时监控和日志分析:如安全信息和事件管理(SIEM)系统、入侵检测和防御系统(IDS/IPS)等。

零信任架构的出现标志着网络安全领域的一次深刻变革,它提供了一种全新的安全理念和实践方法,帮助企业在面对日益复杂的网络威胁时,能够更加有效地保护其关键资产和敏感数据。

五、零信任架构的核心

零信任架构的核心在于其四个关键特征:

  1. 最小权限原则:这一原则强调用户和应用程序只应拥有完成其任务所需的最小权限,以减少潜在的攻击面。通过限制权限,可以有效降低内部威胁和横向移动的风险。

  2. 持续验证:零信任架构要求对用户、设备和应用程序进行持续的身份验证和授权。这意味着即使用户已经通过了初始的身份验证,他们的行为和访问请求仍需不断被监控和验证,以确保其合法性。

  3. 细粒度访问控制:这一特征涉及根据用户的身份、角色和上下文信息设置细粒度的访问控制策略。通过这种方式,可以精确地控制谁可以访问哪些资源,从而进一步提高安全性。

  4. 零信任网络:构建一个去中心化和分布式的网络架构,将安全策略应用到每个网络节点。这种架构可以防止攻击者在网络中扩散和横向移动,即使他们已经成功侵入某个节点。

这些特征共同构成了零信任架构的基础,旨在提供一种更加安全和灵活的网络防护方式,以应对现代网络环境中日益复杂的安全威胁。

六、零信任架构对企业安全的影响

零信任架构对企业安全的影响主要体现在以下几个方面:

  1. 提高安全性:零信任架构通过严格的身份验证和授权,确保只有经过验证的用户和设备才能访问企业资源。这可以有效防止未经授权的访问和数据泄露,提高企业的整体安全性。

  2. 降低风险:零信任架构通过持续监控和验证用户的行为,可以及时发现和响应异常行为,降低潜在的安全风险。此外,零信任架构还可以防止攻击者在网络中横向移动,进一步降低风险。

  3. 增强灵活性:零信任架构允许企业根据具体需求和威胁情况灵活调整安全策略。这种灵活性可以帮助企业更好地应对不断变化的安全威胁和挑战。

  4. 简化管理:零信任架构通过集中化的身份验证和授权管理,可以简化企业的安全管理流程。这可以减少管理复杂性,提高管理效率。

  5. 提高合规性:零信任架构可以帮助企业更好地遵守各种法规和标准,例如GDPR、HIPAA等。通过实施零信任架构,企业可以确保其安全措施符合相关法规和标准的要求,从而提高合规性。

总的来说,零信任架构对企业安全有着深远的影响。它不仅可以提高企业的整体安全性,还可以降低风险、增强灵活性、简化管理并提高合规性。因此,越来越多的企业开始采用零信任架构来提高其网络安全水平。

九、零信任架构的实施步骤

零信任架构的实施步骤主要包括以下几个方面:

1. 确定实施目标和范围

首先,企业需要明确实施零信任架构的目标和范围。这包括确定需要保护的资产、数据和应用程序,以及确定需要实施零信任架构的网络范围和用户群体。此外,还需要考虑企业的安全需求、业务需求、法规要求等因素,以确保实施零信任架构能够满足企业的实际需求。

2. 建立身份和访问管理框架

零信任架构的核心是身份和访问管理。因此,企业需要建立一个强大的身份和访问管理框架,包括部署身份验证、访问控制和授权管理解决方案。这可以包括使用多因素身份验证、单点登录、角色基于访问控制等技术,以确保只有经过身份验证和授权的用户才能访问企业的资源和数据。

3. 实施网络分段和微隔离

在零信任架构中,网络被划分为多个小的、独立的安全区域,以减少攻击者的攻击面。因此,企业需要实施网络分段和微隔离,将不同的应用程序、数据和服务隔离开来,并在每个安全区域之间建立严格的访问控制策略。这可以包括使用虚拟局域网(VLAN)、安全组和防火墙等技术,以确保只有经过授权的用户和设备才能访问特定的网络区域。

4. 部署持续监控和日志记录

零信任架构强调持续的验证和授权,因此企业需要部署持续监控和日志记录解决方案,以实时监控用户、设备和应用程序的行为,并记录所有访问和操作日志。这可以帮助企业及时发现和响应潜在的安全威胁,并提供详细的审计记录,以便在发生安全事件时进行调查和分析。

5. 制定和实施安全策略

企业需要制定和实施一系列安全策略,以确保零信任架构的有效实施。这包括制定访问控制策略、身份验证策略、数据保护策略等,并确保这些策略能够在整个网络中得到一致的执行。此外,还需要定期审查和更新这些策略,以适应不断变化的安全威胁和技术发展。

6. 持续培训和教育

最后,企业需要持续培训和教育员工,以确保他们了解零信任架构的基本原理和实践方法,并能够正确地使用相关的安全工具和解决方案。这可以帮助企业提高整体的安全意识和技能水平,从而更好地保护企业的关键资产和敏感数据。

综上所述,实施零信任架构需要企业从多个方面入手,包括确定实施目标和范围、建立身份和访问管理框架、实施网络分段和微隔离、部署持续监控和日志记录、制定和实施安全策略以及持续培训和教育员工。通过这些步骤,企业可以有效地提高网络的安全性,减少潜在的安全风险和威胁。

标签:SRC,架构,04,收集,蓝队,网络,监控,日志,信任
From: https://blog.csdn.net/m0_62828084/article/details/143751537

相关文章

  • #渗透测试#SRC漏洞挖掘#蓝队基础之网络七层杀伤链03
    免责声明本教程仅为合法的教学目的而准备,严禁用于任何形式的违法犯罪活动及其他商业行为,在使用本教程前,您应确保该行为符合当地的法律法规,继续阅读即表示您需自行承担所有操作的后果,如有异议,请立即停止本文章阅读。                            ......
  • 【洛谷】P1047 [NOIP2005 普及组] 校门外的树
    题目描述某校大门外长度为 l 的马路上有一排树,每两棵相邻的树之间的间隔都是 1 米。我们可以把马路看成一个数轴,马路的一端在数轴 00 的位置,另一端在 l 的位置;数轴上的每个整数点即 0,1,2,…,l都种有一棵树。由于马路上有一些区域要用来建地铁。这些区域用它们在数......
  • 深入浅出学算法044-最大整数
    题目描述设有n个正整数(n≤20),将它们联接成一排,组成一个最大的多位整数。      例如:n=3时,3个整数13,312,343联接成的最大整数为:34331213      又如:n=4时,4个整数7,13,4,246联接成的最大整数为:7424613输入输入分2行第一行是n第2行是n个整数输出连接成的多位数......
  • Vue学习记录04
    计算属性模板中的表达式虽然方便,但也只能用来做简单的操作。如果在模板中写太多逻辑,会让模板变得臃肿,难以维护。比如说,我们有这样一个包含嵌套数组的对象:constauthor=reactive({name:'JohnDoe',books:['Vue2-AdvancedGuide','Vue3-BasicGuide'......
  • 代码随想录算法训练营第一天| 704. 二分查找、35.搜索插入位置、27. 移除元素、977.有
    文档讲解:代码随想录视频讲解:代码随想录状态:完成4道题一、数组理论基础数组:连续内存空间,存储类型相同的元素集合,适合读不适合写注意:Python里可以存储不同类型的元素,但刷题时都是按照相同元素去做的相同元素占用存储的空间大小是一样的,下一个元素的位置就确定了数组时间......
  • 整数二分查找 leetcode35. 搜索插入位置 leetcode704. 二分查找
    这两道题的本质是一样的,都是整数二分查找。题目给出的条件比较强,序列是严格单调递增的。但是我这个即使序列存在重复的元素也可以满足需求35.搜索插入位置classSolution{public:intsearchInsert(vector<int>&nums,inttarget){intsize=nums.size();......
  • 《Django 5 By Example》阅读笔记:p76-p104
    《Django5ByExample》学习第4天,p76-p104总结,总计29页。一、技术总结1.环境变量管理这里作者使用的是:python-decouple,本人在实际项目中使用的是python-dotenv,这里只是简单的使用,感觉两者差不多。2.评论功能评论功能设计的时候主要考虑两个方面:是否需要登录才能发表评论,评论......
  • 【热门主题】000046 探索云原生后端:开启高效开发新时代
    前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏+关注哦......
  • vue项目部署后刷新页面404的原因和解决方案
     一、这是为什么,我们先来了解下vue路由两种模式的区别。newRouter({mode:'hash',//historyroutes:[],...})1.hash模式(默认)的访问URL中有#字符,history模式的URL没有带#,外观上history模式比hash模式好看些;2.hash模式通过监听浏览器的onhashchange()......
  • LeetCode【0046】全排列
    本文目录1中文题目2求解方法:回溯法2.1方法思路2.2Python代码2.3复杂度分析3题目总结1中文题目给定一个不含重复数字的数组nums,返回其所有可能的全排列。可以按任意顺序返回答案。示例:输入:nums=[1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,......