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

【安全测试】0基础新手学Web安全测试笔记(一)

文章目录

  • 一、关于账号密码的漏洞
  • 二、关于验证码的漏洞
  • 三、Burp工具的使用
  • 四、渗透测试
    • 1. 渗透测试类型
    • 2. 脆弱性评估
  • 五、常见的应用安全风险
    • 1. 注入
    • 2. 失效的身份认证
    • 3. 敏感数据泄露
    • 4. XML外部实体(XXE)
    • 5. 失效的访问控制
    • 6. 安全配置错误
    • 7. 跨站脚本:(XSS)
    • 8. 不安全的反序列化
    • 9. 使用含有已知漏洞的组件
    • 10. 不足的日志记录和监控
  • 六、实操
    • 1. 安全测试b站教程
    • 2. 在浏览器中安装SwitchOmega代理管理插件
    • 3. Burp中NEW_xp_CAPTCHA插件的下载安装和导入
    • 4. 常见的弱口令和密码字典下载地址
    • 5. pikachu初始化
    • 6. 常见漏洞
      • (1)基于表单的暴力拆解
      • (2)4位/6位数字验证码爆破
      • (3)短信验证码回显漏洞挖掘
      • (4)验证码与手机未绑定认证关系
      • (5)验证码转发漏洞
      • (6)短信轰炸
      • (7)常见的FUZZ姿势和工具
        • 1)目录FUZZ
        • 2)末知文件FUZZ
        • 3)未知参数FUZZ
        • 4)SQL漏洞中的FUZZ
        • 5)FUZZ参数到远程RCE漏洞控制电脑


一、关于账号密码的漏洞

1、用户枚举漏洞
2、弱口令漏洞
3、信息密码泄露漏洞

举例
这些网站都存在有信息密码泄露的漏洞
https://admin.alilinet.com/
https://www.sipmanor.com/seller.php?s=/Public/login

二、关于验证码的漏洞

漏洞原理:
短信验证码,报务端未对验证时间、次数作出限制,存在爆破的可能性。简单的系统存在可以直接爆破的可能性,但做过一些防护的系统还得进行一些绕过才能进行爆破,一般验证码分为4位或者6位。
对于4位纯数字验证码:从0000~9999的10000种,5分钟之内。
对于6位纯数字验证码:六位数的验证码1000000位,5分钟之内跑不完

1、验证码爆破
2、验证码回显
3、验证码与手机未绑定认证关系
4、修改返回包绕过验证码
5、验证码转发
6、任意验证码登录
7、验证码为空登录
8、固定验证码登录
9、验证码轰炸(10种方式)

三、Burp工具的使用

主要使用的模块是Proxy、Inturder、Repeater

1、Proxy 代理:拦截HTTP/S的代理服务器,作为一个在浏览器和目标应用程序之间的中间人,允许你拦截,查看,修改在两个方向上的原始数据流。

1.Forward:用于发送数据。当把所需要的HTTP请求编辑完成后,手动发送数据。
2.Drop:将该请求包丢弃。
3.Intercept is off/on:拦截开关。当处于off状态下时,会自动转发所拦截的所有请求;当处于on状态下时,会将所有拦截所有符合规则的请求并将它显示出来等待编辑或其他操作。
4.Aclion:将请求发送到其它模块进行交互。

2、Intruder 入侵:用于自动对Web应用程序自定义的攻击。它可以用来自动执行测试过程中可能出现的所有类型的任务。例如目录爆破,注入,密码爆破(弱口令爆破)等。

1.Target:用于配置目标服务器进行攻击的详细信息
2.Positions:设置Payloads的插入点以及攻击类型(攻击模式)
攻击模式有四种:
Sniper :狙击手模式,将一组攻击载荷分别在每一个位置上逐个放入单个payload测试。
Battering ram:攻城锤模式,遍历一组有效载荷,在所有定义的位置上放入同一个载荷。
Pitchfork:草叉模式,每一个变量对应一个字典。特点:爆破次数取决于变量少的字典。使用多组有效载荷,每个定义的位置使用一组不同的有效载荷
Cluster bomb:集束炸弹模式,组合爆破,每个变量对应一个字典,并交集爆破。特点:爆破次数为字典1×字典2。
3.Payload:配置Positions设置的标记位的字典。
4.Option:
Request Headers:UPdate content-Length header是必选的,因为payload的长度是变化的,所以勾选上这个选项更新或添加每一次请求的content-Length请求头,否则就是错误的请求。Set-Connection为close,这是为了避免和服务器进行长连接,在得到一次响应后就自动关闭连接,这样可以加快攻击速度。

3、Repeater 回放:一个靠手动操作来触发单独的HTTP 请求,并分析应用程序响应的工具。可以修改请求包重新请求。

四、渗透测试

针对网络、应用、系统三类基础设施进行测试。

1. 渗透测试类型

渗透黑盒测试: 安全审计员在不清楚被测单位的内部技术构造的情况下,从外部评估网络基础设施的安全性。在渗透测试的各个阶段,黑盒测试借助真实世界的黑客技术,暴露出目标的安全问题,甚至可以揭露尚未被他人利用的安全弱点。渗透测试人员应能理解安全弱点,将之分类并按照风险等级(高危、中危、低危)对其排序。通常来说,风险级别取决于相关弱点可能形成危害的大小。渗透测试专家应能够确定可引发安全事故的所有攻击模式。当测试人员完成黑盒测试的所有测试工作之后,他们会把与测试对象安全状况有关的必要信息进行整理,并使用业务的语言描述这些被识别出来的风险,继而将之汇总为书面报告。黑盒测试的市场报价通常会高于白盒测试。

渗透白盒测试:审计员可以获取被测单位的各种内部资料甚至不公开资料,所以渗透测试人员的视野更为开阔。若以白盒测试的方法评估安全漏洞,测试人员可以以最小的工作量达到最高的评估精确度。白盒测试从被测系统环境自身出发,全面消除内部安全问题。从而增加了从单位外部渗透系统的难度。黑盒测试起不到这样的作用。白盒测试所需要的步骤数目与黑盒测试不相上下。另外,若能将白盒测试与常规的研发生命周期相结合,就可以在入侵者发现并利用安全弱点之前,尽可能最早地消除全部安全隐患。这使得白盒测试的时间、成本,以及发现、解决安全弱点的技术门槛都全面低于黑盒测试。

2. 脆弱性评估

脆弱性评估通过分析企业资产面临安全威胁的情况和程度评估内部和外部的的安全控制的安全性。这种技术上的信息系统评估,不仅揭露现有防范措施里存在的风险,而且要提出多重备选的补救策略,并将这些策略进行比较。内部的脆弱性评估可保证内部系统的安全性,而外部的脆弱性评估则是验证边界防护(perimeterdefenses)的有效性。无论进行内部脆弱性评估还是进行外部脆弱性评估,评估人员都会采用各种攻击模式来严格测试网络资产的安全性,从而验证信息系统处理安全威胁的能力,进而确定应对措施的有效性。不同类型的脆弱性评估需要的测试流程、测试工具和自动化测试技术也不相同。这可以通过一体化的安全弱点管控(vulnerability management)平台来实现。现在的安全弱点管理平台带有可自动更新的漏洞数据库,能够测试不同类型的网络设备,而且不会影响配置管理和变更管理的完整性。

与渗透测试的区别:渗透测试不仅要识别目标的弱点,它还设计在目标系统上进行漏洞利用、权限提升和访问维护。换句话说,脆弱性评估虽然可以充分发现系统里的缺陷,但是不会考虑去衡量这些缺陷对系统造成的危害。另外,相比脆弱性评估,渗透测试更倾向于入侵,会刻意使用各种技术手段利用安全漏洞;所以渗透测试可能对生产环境带来实际的破坏性影响。而脆弱性评估以非入侵的方式,定性、定量的识别已知安全弱点。

五、常见的应用安全风险

1. 注入

将不受信任的数据作为命令或查询的一部分发送到解析器时,会产生诸如SQL注入、NOSQL注入、OS注入和LDAP注入的注入缺陷。攻击者的恶意数据可以诱使解析器在没有适当授权的情况下执行非预期命令或访问数据。

2. 失效的身份认证

通过错误使用应用程序的身份认证和会话管理功能,攻击者能够破译密码、密钥或会话令牌,或者利用其它开发缺陷来暂时性或永久性冒充其他用户的身份。

3. 敏感数据泄露

许多Web应用程序和API都无法正确保护敏感数据,例如:财务数据、医疗数据和PII数据。攻击者可以通过窃取或修改未加密的数据来实施信用卡诈骗、身份盗窃或其他犯罪行为。未加密的敏感数据容易受到破坏,因此,我们需要对敏感数据加密,这些数据包括:传输过程中的数据、存储的数据以及浏览器的交互数据。

4. XML外部实体(XXE)

许多较早的或配置错误的XML处理器评估了XML文件中的外部实体引用。攻击者可以利用外部实体窃取使用URI文件处理器的内部文件和共享文件、监听内部扫描端口、执行远程代码和实施拒绝服务攻击。

5. 失效的访问控制

未对通过身份验证的用户实施恰当的访问控制。攻击者可以利用这些缺陷访问未经授权的功能或数据,例如:访问其他用户的帐户、查看敏感文件、修改其他用户的数据、更改访问权限等。

6. 安全配置错误

安全配置错误是最常见的安全问题,这通常是由于不安全的默认配置、不完整的临时配置、开源云存储、错误的 HTTP 标头配置以及包含敏感信息的详细错误信息所造成的。因此,我们不仅需要对所有的操作系统、框架、库和应用程序进行安全配置,而且必须及时修补和升级它们。

7. 跨站脚本:(XSS)

当应用程序的新网页中包含不受信任的、未经恰当验证或转义的数据时,或者使用可以创建 HTML或JavaScript的浏览器API更新现有的网页时,就会出现xSS缺陷。xss让攻击者能够在受害者的浏览器中执行脚本,并劫持用户会话、破坏网站或将用户重定向到恶意站点。

8. 不安全的反序列化

不安全的反序列化会导致远程代码执行。即使反序列化缺陷不会导致远程代码执行,攻击者也可以利用它们来执行攻击,包括:重播攻击、注入攻击和特权升级攻击。

9. 使用含有已知漏洞的组件

组件(例如:库、框架和其他软件模块)拥有和应用程序相同的权限。如果应用程序中含有已知漏洞的组件被攻击者利用,可能会造成严重的数据丢失或服务器接管。同时,使用含有已知漏洞的组件的应用程序和API可能会破坏应用程序防御、造成各种攻击并产生严重影响。

10. 不足的日志记录和监控

不足的日志记录和监控,以及事件响应缺失或无效的集成,使攻击者能够进一步攻击系统、保持持续性或转向更多系统,以及篡改、提取或销毁数据。大多数缺陷研究显示,缺陷被检测出的时间超过200天,且通常通过外部检测方检测,而不是通过内部流程或监控检测。

六、实操

Pikachu 漏洞练习平台
Pikachu 漏洞练习平台下载地址
资源:https://blog.csdn.net/m0_74087268/article/details/131704072

1. 安全测试b站教程

https://www.bilibili.com/video/BV1MMqGY2EP1?spm_id_from=333.788.player.switch&vd_source=f01064c075ca23a2e8ed8286c8b3f20f&p=6

2. 在浏览器中安装SwitchOmega代理管理插件

火狐浏览器和谷歌浏览器中均可安装该插件,便于切换和管理多个代理。
在这里插入图片描述

3. Burp中NEW_xp_CAPTCHA插件的下载安装和导入

Burp中NEW_xp_CAPTCHA插件的下载安装和导入教程

4. 常见的弱口令和密码字典下载地址

https://weakpass.com/
https://github.com/danielmiessler/SecLists/tree/master/Passwords

5. pikachu初始化

未初始化时,输入账号和密码登录,报错!!!
在这里插入图片描述

打开网页localhost/install.php
在这里插入图片描述
点击安装初始化,初始化完成!!
在这里插入图片描述

6. 常见漏洞

(1)基于表单的暴力拆解

在这里插入图片描述

查看它的响应数据-渲染页面
在这里插入图片描述


测试第二个账号

在这里插入图片描述
在这里插入图片描述


登录失败响应数据-渲染页面

在这里插入图片描述

(2)4位/6位数字验证码爆破

在bp-Intruder-payload中选择payload类型为数值—4位验证码
在这里插入图片描述

若是6位验证码,使用10个bp分批跑。

(3)短信验证码回显漏洞挖掘

漏洞原理:指验证码在发送的时候会存在数据包中,通过观察回显的数据包中的数据,找到验证码。

使用Repeater回放功能查看响应数据,查看验证码是否回显。

(4)验证码与手机未绑定认证关系

漏洞原理:手机验证码的短信一般来说只能用一次,如果手机验证码和手机号没有绑定认证关系,就会存在以下的情况【 A手机收到的验证码B手机可以使用】。

(5)验证码转发漏洞

漏洞原理:有些开发人员在接收手机号的时候采用的是数组接收,或者是遍历手机号,没有对手机号进行校验,我们就可以同时发送验证码到两个手机,从而达到绕过。

使用Repeater回放功能修改手机号的字段,输入多个手机号字段,查看响应数据,是否发送成功。

"mobile":"19386963121.19386963122"
"mobile":"19386963121 19386963122"
"mobile":"19386963121&mobile=19386963122"
"mobile":"19386963121"
"mobile":"19386963122"

(6)短信轰炸

漏洞原理:在一些身份校验处,有的时候需要输入手机号,接受验证码,比如登录、忘记密码、注册、绑定、活动领取、反馈处等,如果没有对发送短信进行约束,可以达到5秒发送10条短信,甚至更多的短信,对业务造成影响。
短信轰炸漏洞分为两种:

1、横向轰炸:对单个手机号码做了接收验证次数,但是可以对不同手机号发送短信无次数限制
2、纵向轰炸:对一个手机号码轰炸多次

(7)常见的FUZZ姿势和工具

Fuzz:模糊测试。在平时漏洞挖掘中,如果没有成果或者是【空白页面】,【目录扫描不出来结果】,【发现更多资产】的时候就需要用到FUZZ技术。

好用的FUZZ字典下载地址

FUZZ可用于:

1、破解密码
2、扫描目录
3、扫描参数
4、测试漏洞

1)目录FUZZ

目录FUZZ是针对网站上存在的文件夹进行FUZZ,看看是否存在可以访问的文件夹让我们更好的了解网站的目录结构。可以逐级FUZZ,查看目录下有那些文件夹,文件夹下有哪些文件/文件夹…

2)末知文件FUZZ

末知文件FUZZ是我们知道存在的文件夹之后,对文件夹下面的文件进行测试,文件后缀类型有【PHP)【JSP】【ASP】【ZIP】【PNG】【JPG】【RAR】【7Z】【MP4】等等。

3)未知参数FUZZ

当我们找到一个页面的时候,如果测试后没有任何的结果。可以使用FUZZ,未知参数,参数值,隐藏的变量等。

4)SQL漏洞中的FUZZ

在这里插入图片描述

5)FUZZ参数到远程RCE漏洞控制电脑

相关文章:

【安全测试】0基础新手学Web安全测试笔记(一)

文章目录 一、关于账号密码的漏洞二、关于验证码的漏洞三、Burp工具的使用四、渗透测试1. 渗透测试类型2. 脆弱性评估 五、常见的应用安全风险1. 注入2. 失效的身份认证3. 敏感数据泄露4. XML外部实体(XXE)5. 失效的访问控制6. 安全配置错误7. 跨站脚本:(XSS)8. 不安全的反序列…...

初窥强大,AI识别技术实现图像转文字(OCR技术)

⭐️⭐️⭐️⭐️⭐️欢迎来到我的博客⭐️⭐️⭐️⭐️⭐️ 🐴作者:秋无之地 🐴简介:CSDN爬虫、后端、大数据、人工智能领域创作者。目前从事python全栈、爬虫和人工智能等相关工作,主要擅长领域有:python…...

JDK 14,15,17的一些新特性(部分常用)

1:instanceof(后,使用不再需要墙转) 2:switch语句增强 1:支持lmbda,自动防击穿,有返回值 2:支持case多个值,复杂逻辑结果支持yield返回 3:字符串…...

架构设计系列(二):CI/CD

一、概述 CI/CD 是 持续集成(Continuous Integration) 和 持续交付/持续部署(Continuous Delivery/Continuous Deployment) 的缩写,是现代软件开发中的一套核心实践和工具链,旨在提高软件交付的效率、质量…...

二十六、使用docsify搭建文档管理平台

特性 无需构建,写完文档直接发布容易使用并且轻量 (~19kB gzipped)智能的全文搜索提供多套主题丰富的 API...

SpringMVC学习使用

一、SpringMVC简单理解 1.1 Spring与Web环境集成 1.1.1 ApplicationContext应用上下文获取方式 应用上下文对象是通过new ClasspathXmlApplicationContext(spring配置文件) 方式获取的,但是每次从容器中获得Bean时都要编写new ClasspathXmlApplicationContext(sp…...

MySQL | MySQL安装教程

MySQL | MySQL安装教程(压缩包(ZIP)安装-详细版) 🪄个人博客:https://vite.xingji.fun MySQL概述 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,MySQL AB公司被Sun公司收购,Sun公…...

Vite入门指南

一、什么是Vite? Vite(法语意为"快速")是由Vue作者尤雨溪开发的新型前端构建工具。它基于原生ES模块(ESM)实现,具有以下核心优势: 极速启动:冷启动时间比Webpack快10-10…...

DeepSeek 助力 Vue 开发:打造丝滑的进度条

前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 Deep…...

左移架构 -- 从攒批,湖仓到使用数据流的实时数据产品

编辑导读: 这篇文章翻译自 Kai Waehner的 《The Shift Left Architecture – From Batch and Lakehouse to Real-Time Data Products with Data Streaming》。文章通过数据产品的概念引出了如何创建可重复使用的数据产品使企业能够从当前和未来的数据中获得价值。基于构建数据产…...

用java实现word(docx)转换为pdf格式文档(简单版)

导入依赖 <dependency> <groupId>com.documents4j</groupId> <artifactId>documents4j-local</artifactId> <version>1.0.3</version> </dependency> <dependency>…...

【云安全】云原生- K8S etcd 未授权访问

什么是etcd&#xff1f; etcd 是一个开源的分布式键值存储系统&#xff0c;主要用于存储和管理配置信息、状态数据以及服务发现信息。它采用 Raft 共识算法&#xff0c;确保数据的一致性和高可用性&#xff0c;能够在多个节点上运行&#xff0c;保证在部分节点故障时仍能继续提…...

【Elasticsearch】字符过滤器Character Filters

在 Elasticsearch 中&#xff0c;字符过滤器&#xff08;Character Filters&#xff09;是文本分析器的重要组成部分&#xff0c;用于在分词之前对原始文本进行预处理。它们可以对字符流进行转换&#xff0c;例如添加、删除或更改字符。Elasticsearch 提供了三种内置的字符过滤…...

网络工程师 (35)以太网通道

一、概念与原理 以太网通道&#xff0c;也称为以太端口捆绑、端口聚集或以太链路聚集&#xff0c;是一种将多个物理以太网端口组合成一个逻辑通道的技术。这一技术使得多个端口能够并行工作&#xff0c;共同承担数据传输任务&#xff0c;从而提高了网络的传输能力和可靠性。 二…...

浏览器网络请求全流程深度解析

一、核心流程概述 现代浏览器的网络请求过程是一个分层协作的精密系统&#xff0c;涉及应用层协议、传输层协议、操作系统内核及网络基础设施的协同工作。整个过程可抽象为以下关键阶段&#xff1a; 请求构建与初始化DNS解析与寻址TCP连接建立HTTP协议交互响应处理与资源解析…...

arduino扩展:Arduino Mega 控制 32 个舵机(参考表情机器人)

参考&#xff1a;表情机器人中使用22个舵机的案例 引言 在电子制作与自动化控制领域&#xff0c;Arduino 凭借其易用性和强大的扩展性备受青睐。Arduino Mega 作为其中功能较为强大的一款开发板&#xff0c;具备丰富的引脚资源&#xff0c;能够实现复杂的控制任务。舵机作为常…...

时间盲注,Boolean盲注

什么是SQL注入&#xff08;SQL Injection&#xff09; SQL注入是指攻击者通过构造恶意SQL语句来操控数据库&#xff0c;通常发生在Web应用程序未对用户输入进行充分验证的情况下。 什么是盲注&#xff08;Blind SQL Injection&#xff09; 盲注就是通过使用巧妙的SQL语句&am…...

小程序canvas2d实现横版全屏和竖版逐字的签名组件(字帖式米字格签名组件)

文章标题 01 功能说明02 效果预览2.1 横版2.2 竖版 03 使用方式04 横向签名组件源码4.1 html 代码4.2 业务 Js4.3 样式 Css 05 竖向签名组件源码5.1 布局 Html5.2 业务 Js5.3 样式 Css 01 功能说明 技术栈&#xff1a;uniapp、vue、canvas 2d 需求&#xff1a; 实现横版的全…...

wireshark网络抓包

由于图片和格式解析问题&#xff0c;可前往 阅读原文 到这里已经讲了两个抓包工具的使用了&#xff0c;大家应该对抓包不是很陌生了。而wireshark相对于fiddler和charles更加偏向于网络层面的抓包或者说是一个网络封包分析工具。使用对象更适合于网络相关人员(网络管理员/相关运…...

jenkins备份还原配置文件

下载ThinBackup插件 方式1 从插件市场直接下载 Manage Jenkins->Manage Plugins->可选插件搜索 注意&#xff1a;有时可能因为网络或者版本问题下载不了&#xff0c;好像是默认下载最新版本&#xff0c;可选择手动安装&#xff01; 方式二 手动安装插件 点击查看手…...

C# 两种方案实现调用 DeepSeek API

目录 序 开发运行环境 访问API的一个通用方法 原生官网实现 申请 API key 调用实现 调用示例 腾讯云知识引擎原子调用 申请 API key 调用示例 小结 序 DeepSeek&#xff08;深度求索&#xff09; 最近可谓火爆的一塌糊涂&#xff0c;具体的介绍这里不再赘述&#x…...

Kimi杨植麟该为“重投放”反思吗?

Kimi原本验证的市场规律被撕裂了。 作者|文昌龙 编辑|杨舟 “没有人提杨植麟了&#xff0c;Kimi花了这么多钱买用户也买不过豆包&#xff0c;到头来都敌不过界面简陋、功能单一的DeepSeek。还是应该把精力和资源集中在做出更好的基础模型才是王道。” 这番话&#xff0c;来自…...

25农村发展研究生复试面试问题汇总 农村发展专业知识问题很全! 农村发展复试全流程攻略 农村发展考研复试真题汇总

农村发展复试当然有好的建议&#xff01;前提是复试重点面试题背好&#xff01; 你是不是也在为农村发展考研复试发愁&#xff1f;担心自己准备不充分、表现不好&#xff1f;别急&#xff01;今天&#xff0c;学姐——复试面试拿下90分成功上岸的学姐&#xff0c;来给大家分享…...

JavaScript函数与方法详解

目录 一、函数的定义 1. 函数声明 2. 函数表达式 3. 箭头函数 二、函数的调用 1. 调用方式 2. 参数数量的灵活性 三、arguments 对象 1. 基本概念 2. 属性 3. 应用场景 4. 转换为真数组 5. 总结 四、Rest参数 1. 基本概念 2. 特点 3. 应用场景 4. 总结 五、变…...

AI 网关对决:Higress 与 OneAPI 的功能对比

什么是 AI 网关&#xff1f; AI 网关旨在统一管理与各种大型语言模型&#xff08;LLMs&#xff09;的交互。通过提供单一入口点&#xff0c;它解决了使用来自不同供应商的多个 AI 模型所带来的复杂性问题。这不仅简化了访问流程&#xff0c;提高了系统稳定性&#xff0c;还降低…...

封装一个sqlite3动态库

作者&#xff1a;小蜗牛向前冲 名言&#xff1a;我可以接受失败&#xff0c;但我不能接受放弃 如果觉的博主的文章还不错的话&#xff0c;还请点赞&#xff0c;收藏&#xff0c;关注&#x1f440;支持博主。如果发现有问题的地方欢迎❀大家在评论区指正 目录 一、项目案例 二…...

1.攻防世界 unserialize3(wakeup()魔术方法、反序列化工作原理)

进入题目页面如下 直接开审 <?php // 定义一个名为 xctf 的类 class xctf {// 声明一个公共属性 $flag&#xff0c;初始值为字符串 111public $flag 111;// 定义一个魔术方法 __wakeup()// 当对象被反序列化时&#xff0c;__wakeup() 方法会自动调用public function __wa…...

DeepSeek能做分析吗?从需求规约到分析类图的实验

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 今天我们来尝试DeepSeek能不能帮我们从需求转到分析。 给定一个用例规约&#xff0c;我们让它按照面向对象分析设计方法&#xff0c;出一个分析类图。过程如下&#xff1a; 可以帮助提…...

九.Spring Boot使用 ShardingSphere + MyBatis + Druid 进行分库分表

文章目录 前言一、引入依赖二、创建一个light-db_1备用数据库三、配置文件 application-dev.yml四、创建shardingsphere-config.yml完整项目结构 五、测试总结 前言 在现代化微服务架构中&#xff0c;随着数据量的不断增长&#xff0c;单一数据库已难以满足高可用性、扩展性和…...

RNN复兴!性能反超Transformer,训练速度提升1300倍!

在最新的顶会论文中&#xff0c;RNN的改进创新更是层出不穷。Bengio团队提出的minLSTM和minGRU&#xff0c;通过去除隐藏状态的依赖和简化门控机制&#xff0c;显著减少了参数量和计算量。这些模型可以使用并行扫描算法进行训练&#xff0c;大大加快了训练速度。例如&#xff0…...

C语言第18节:自定义类型——联合和枚举

1. 联合体 C语言中的联合体&#xff08;Union&#xff09;是一种数据结构&#xff0c;它允许在同一内存位置存储不同类型的数据。不同于结构体&#xff08;struct&#xff09;&#xff0c;结构体的成员各自占有独立的内存空间&#xff0c;而联合体的所有成员共享同一块内存区域…...

2025年二级建造师报名流程图解

2025年二级建造师报名时间&#xff01;附报名流程&#xff01; ⏰️已公布25年二建考试时间的省份如下&#xff1a; ️4月19日、20日考试的城市有&#xff1a;贵州 ️5月10日、11日考试的城市有&#xff1a;湖北、陕西、宁夏、甘肃、福建、浙江、江西、黑龙江、河南、湖南、…...

AWTK fscript 中的 TCP/UDP 客户端扩展函数

fscript 是 AWTK 内置的脚本引擎&#xff0c;开发者可以在 UI XML 文件中直接嵌入 fscript 脚本&#xff0c;提高开发效率。本文介绍一下 fscript 中的 TCP/UDP 客户端扩展函数。 1.iostream_tcp_create 创建 TCP 客户端输入输出流对象。 原型 iostream_tcp_create(host, por…...

用php tp6对接钉钉审批流的 table 表格 明细控件 旧版sdk

核心代码 foreach ($flows[product_list] as $k>$gift) {$items_list[] [[name > 商品名称, value > $gift[product_name] ?? ],[name > 规格, value > $gift[product_name] ?? ],[name > 数量, value > $gift[quantity] ?? ],[name > 单位, v…...

【DuodooBMS】给PDF附件加“受控”水印的完整Python实现

给PDF附件加“受控”水印的完整Python实现 功能需求 在实际工作中&#xff0c;许多文件需要添加水印以标识其状态&#xff0c;例如“受控”“机密”等。对于PDF文件&#xff0c;添加水印不仅可以增强文件的可识别性&#xff0c;还可以防止未经授权的使用。本代码的功能需求是…...

前缀和算法篇:解决子数组累加和问题

前缀和算法篇&#xff1a;解决子数组累加和问题 1.前缀和原理 那么在介绍前缀和的原理之前&#xff0c;那么我们先来说下前缀和最基本的一个应用场景&#xff0c;那么就是如我们标题所说的子数组累加和问题&#xff0c;那么假设我们现在有一个区间为[L,R]的数组&#xff0c;那…...

大语言模型多代理协作(MACNET)

大语言模型多代理协作(MACNET) Scaling Large-Language-Model-based Multi-Agent Collaboration 提出多智能体协作网络(MACNET),以探究多智能体协作中增加智能体数量是否存在类似神经缩放定律的规律。研究发现了小世界协作现象和协作缩放定律,为LLM系统资源预测和优化…...

vue项目使用vite和vue-router实现history路由模式空白页以及404问题

开发项目的时候&#xff0c;我们一般都会使用路由&#xff0c;但是使用hash路由还是history路由成为了两种选择&#xff0c;因为hash路由在url中带有#号&#xff0c;history没有带#号&#xff0c;看起来更加自然美观。但是hash速度更快而且更通用&#xff0c;history需要配置很…...

【Linux】从一台windows电脑访问局域网下另一台linux电脑详细操作步骤

以下是在Windows电脑B上访问Linux电脑A的文件并使用bash终端的详细步骤&#xff1a; 一、在Linux电脑A上配置SSH服务&#xff08;用于终端操作&#xff09; 安装SSH服务 sudo apt update && sudo apt install openssh-server启动SSH服务并设置开机自启 sudo systemctl …...

Makefile的用法及算法应用

编译的过程 算法&#xff1a;解决特定问题的求解步骤 算法的设计 1.正确性 语法正确合法的输入能得到合理的结果对非法的输入&#xff0c;给出满足要求的规格说明对精心选择&#xff0c;甚至刁难的测试都能正常运行&#xff0c;结果正确 2.可读性&#xff0c;便于交流&…...

Elasticsearch:15 年来致力于索引一切,找到重要内容

作者&#xff1a;来自 Elastic Shay Banon 及 Philipp Krenn Elasticsearch 刚刚 15 岁了&#xff01;回顾过去 15 年的索引和搜索&#xff0c;并展望未来 15 年的相关内容。 Elasticsearch 刚刚成立 15 周年。一切始于 2010 年 2 月的一篇公告博客文章&#xff08;带有标志性的…...

MongoDB 扩缩容实战:涵盖节点配置、服务启动与移除操作

#作者&#xff1a;任少近 文章目录 一、扩容在245节点上配置配置config server&#xff1a;配置mongos启动config server安装工具mongosh添加245新节点到副本集配置分片副本集启动路由并分片 二、缩容Conf server上去掉server4shard上去掉server4mongos上去掉server4 一、扩容…...

Bitmap在数仓中的应用

一、背景 在数据仓库的日常工作中&#xff0c;我们经常需要面对海量数据的存储和高效查询问题。尤其是&#xff0c;当业务对性能的要求越来越高、数据量持续增长时&#xff0c;传统的处理方式往往显得笨拙而低效。而这时候&#xff0c;Bitmap&#xff08;位图&#xff09;作为…...

C++病毒(^_^|)(2)

第二期 声明&#xff1a; 仅供损害电脑&#xff0c;不得用于非法。损坏电脑&#xff0c;作者一律不负责。此作为作者原创&#xff0c;转载请经过同意。 直接上代码 #include <bits/stdc.h> #include <windows.h> using namespace std; HHOOK g_hHook;void lrud(…...

Linux 内核架构入门:从基础概念到面试指南*

1. 引言 Linux 内核是现代操作系统的核心&#xff0c;负责管理硬件资源、提供系统调用、处理进程调度等功能。对于初学者来说&#xff0c;理解 Linux 内核的架构是深入操作系统开发的第一步。本篇博文将详细介绍 Linux 内核的架构体系&#xff0c;结合硬件、子系统及软件支持的…...

leetcode-495.提莫攻击

leetcode-495.提莫攻击 文章目录 leetcode-495.提莫攻击一.题目描述二.代码提交三.解释 一.题目描述 二.代码提交 #include <vector> using namespace std;int findPoisonedDuration(vector<int>& timeSeries, int duration) {int total 0;for (int i 0; i …...

mysql 参数max_connect_errors研究

1.在server端设置max_connect_errors3&#xff0c;超过3次连接错误就block mysql> set global max_connect_errors3; Query OK, 0 rows affected (0.00 sec) mysql> show variables like max_connect_errors; --------------------------- | Variable_name | Value…...

vscode无法ssh连接远程机器解决方案

远程服务器配置问题 原因&#xff1a;远程服务器的 SSH 服务配置可能禁止了 TCP 端口转发功能&#xff0c;或者 VS Code Server 在远程服务器上崩溃。 解决办法 检查 SSH 服务配置&#xff1a;登录到远程服务器&#xff0c;打开 /etc/ssh/sshd_config 文件&#xff0c;确保以下…...

sql盲注获取数据库的表名、列名和具体数据

1.时间盲注 获取表名 sql id1 AND IF(ASCII(SUBSTRING((SELECT table_name FROM information_schema.tables WHERE table_schemaDATABASE() LIMIT 1),1,1))97, SLEEP(5), 0) 获取列名 sql id1 AND IF(ASCII(SUBSTRING((SELECT column_name FROM information_schema.col…...

清华大学新闻与传播学院沈阳团队出品的《DeepSeek:从入门到精通》104页PDF

前言 本机运行DeepSeek R1大模型文章如下&#xff1a; Windows电脑本地部署运行DeepSeek R1大模型&#xff08;基于Ollama和Chatbox&#xff09;【保姆级万字教程】在Windows计算机部署DeepSeek大模型&#xff0c;给在实验室无外网的同事们用&#xff08;基于Ollama和OpenWebUI…...