《Kali渗透基础》15. WEB 渗透

news2024/11/15 21:24:17

kali渗透

  • 1:WEB 技术
    • 1.1:WEB 攻击面
    • 1.2:HTTP 协议基础
    • 1.3:AJAX
    • 1.4:WEB Service
  • 2:扫描工具
    • 2.1:HTTrack
    • 2.2:Nikto
    • 2.3:Skipfish
    • 2.4:Arachni
    • 2.5:OWASP-ZAP
    • 2.6:BurpSuite
    • 2.7:AWVS
    • 2.8:AppScan
  • 3:其他工具
    • 3.1:SQLmap
    • 3.2:XSSer
    • 3.3:BeEF
    • 3.4:Weevely
    • 3.5:OpenSSL
    • 3.6:SSLscan
    • 3.7:SSLyze
    • 3.8:SSLsplit
    • 3.9:MitMproxy
    • 3.10:IPtables
  • 4:WEB 攻击
    • 4.1:漏洞简述
    • 4.2:SSL/TLS 攻击
      • 4.2.1:HTTPS 攻击
      • 4.2.2:中间人攻击
      • 4.2.3:拒绝服务攻击


本系列侧重方法论,各工具只是实现目标的载体。
命令与工具只做简单介绍,其使用另见《安全工具录》。

本文以 kali-linux-2023.2-vmware-amd64 为例。

1:WEB 技术

静态 WEB

  • 无交互

动态 WEB

  • 应用程序
  • 数据库
  • 每人看到的内容不同
  • 根据用户输入返回不同结果

1.1:WEB 攻击面

  • Network
  • OS
  • Web Server
  • App Server
  • web Application
  • Database
  • Browser

1.2:HTTP 协议基础

明文传输

  • 无内建的机密性安全机制
  • 嗅探或代理截断可查看全部明文信息
  • https 只能提高传输层安全

无状态

  • 每一次客户端和服务器端的通信都是独立的过程
  • WEB应用需要跟踪客户端会话(多步通信)
  • 若不使用 Cookie 技术,客户端每次请求都要重新身份验证
  • Session 用于跟踪用户行为轨迹
  • Session ID 本质上是 Cookie
  • Session 与 Cookie 提高用户体验,但增加了攻击向量

重要的 Header

  • Set-Cookie
    服务器发给客户端的信息(有被窃取的风险)
  • Content-Length
    响应 body 部分的字节长度
  • Location
    重定向到另一个页面(可识别身份认证后允许访问的页面)
  • Cookie
    客户端发回给服务器证明用户状态的信息
  • Referrer
    发起请求之前用户位于的页面(基于此头的安全限制容易被绕过)

状态码

  • 服务端响应的状态码表示响应的结果类型(5 大类,数十个具体响应码)
  • 1xx:服务器响应的信息,通常表示服务器还有后续处理,很少出现
  • 2xx:客户端请求被服务器成功接受并处理后返回的响应结果
  • 3xx:重定向,通常在身份认证成功后重定向到一个安全页面
  • 4xx:表示客户端请求错误
    • 401:需要身份验证
    • 403:拒绝访问
    • 404:目标未发现
  • 5xx:服务器内部错误

1.3:AJAX

AJAX(Asynchronous JavaScript and XML),用于在 Web 页面中进行异步数据交换。它允许在不刷新整个页面的情况下与服务器进行数据交互,更新部分页面内容。

  • 是一组技术的组合,而非一种新的编程语言
  • 通过客户端脚本动态更新页面部分内容,而非整个页面
  • 降低带宽使用,提高速度
  • 后台异步访问

现在 Web 开发倾向使用更先进的技术,如 SPA(单页面应用)框架(React、Vue 和 Angular)。

AJAX 的安全问题

  • 多种技术混合,增加了攻击面,每个参数都可能形成独立的攻击过程
  • AJAX 引擎是个全功能的脚本解释器,访问恶意站点后果严重,虽然浏览器有沙箱和 SOP,但可被绕过
  • 暴露应用程序逻辑

AJAX 对渗透测试的挑战

  • 异步请求数量多且隐蔽
  • 触发 AJAX 请求的条件无规律
  • 手动和截断代理爬网可能产生大量遗漏

1.4:WEB Service

WEB Service,这里指各种 API,面向服务的架构(service oriented architecture),便于不同系统集成共享数据和功能。

  • 适合不想暴露数据模型和程序逻辑而访问数据的场景
  • 无页面

两种类型的 WEB Service

  • SOAP(Simple Object Access Protocol)
    • 传统的 Web service 开发方法,xml 是唯一的数据交换格式
    • 要求安全性的应用更多采用此类型
  • RESTful(Representational State Transfer architecture)
    • 目前更多采用的轻量 web service
    • JSON 是首选数据交换格式

WEB Service 安全考虑

  • 使用 APl key 或 session token 实现身份认证
  • 身份认证由服务器完成,而非客户端
  • API key、用户名、Session token 永远不要通过 URL 发送
  • RESTful 默认不提供任何安全机制,需要使用 SSL/TLS 保护传输数据安全
  • SOAP 提供强于 HTTPS 的 wS-security 机制
  • RESTful 应只允许身份认证用户使用 PUT、DELETE 方法
  • 使用随机 token 防止 CSRF 攻击
  • 对用户提交参数进行过滤,建议布署基于严格白名单的方法
  • 报错信息消毒

2:扫描工具

2.1:HTTrack

HTTrack(HTTrack Website Copier)用于将整个网站以及其内容下载到本地,以便在离线情况下浏览。

  • 某些情况下可以减少与目标系统的交互

可以直接使用命令 httrack 进行交互式操作。

在这里插入图片描述

2.2:Nikto

Nikto,Perl 语言开发的开源 web 安全扫描器。

  • 可交互
  • 扫描服务器软件版本
  • 搜索存在安全隐患的文件
  • 服务器配置漏洞
  • WEB Application 层面的安全隐患
  • 避免 404 误判(很多服务器不遵守 RFC 标准,对于不存在的对象返回200响应码)

部分命令:

查看插件
nikto -list-plugins

扫描网站
nikto -host <目标>

在这里插入图片描述

扫描主机端口
nikto -host <目标> -port <端口> [-ssl]

在这里插入图片描述

在这里插入图片描述

配合 nmap 使用
nmap -p <端口> <target> -oG - | nikto -host -

在这里插入图片描述

Nikto 支持交互。扫描过程中按相应按键可以显示不同的信息。

例如,按【v】可显示扫描的详细信息。

2.3:Skipfish

Skipfish 是由谷歌创建的 Web 安全扫描程序。

  • 递归爬网
  • 基于字典的探针
  • 纯 C 代码,高度优化的 HTTP 处理
  • 误报较低

部分命令:

扫描网站
skipfish -o <项目名> <url>

扫描指定网站目录
skipfish -o <项目名> -I <子目录> <url>

skipfish -o test -I /dvwa/ http://192.168.8.104/dvwa/

在这里插入图片描述

2.4:Arachni

Arachni 是开源的 Web 安全测试工具。

  • 可在终端执行命令扫描
  • 可在终端开启图形化扫描(BS 架构)
  • 支持分布式扫描

Windows 端运行 Arachni:

在这里插入图片描述

在这里插入图片描述

kali 并没有自带 Arachni,可以到 github 下载。Arachni 支持 Windows。

官网:https://ecsypno.com/pages/arachni-web-application-security-scanner-framework
项目&下载:https://github.com/Arachni/arachni

根据官网信息,Arachni 将被 Codename SCNR 取代。
“The Arachni Web Application Security Scanner Framework is passing its torch to Codename SCNR, so please be sure to try it and plan your migration soon.”

参考文章:arachni的安装和使用

2.5:OWASP-ZAP

OWASP ZAP(OWASP Zed Attack Proxy),免费开源跨平台的 web application 集成渗透测试和漏洞工具。

与 BurpSuite 相似,但功能与排版较复杂。

标准扫描工作流程:

  1. 设置代理
  2. 手动爬网
  3. 自动爬网
  4. 主动扫描

在这里插入图片描述

官网:https://www.zaproxy.org

参考文章:
网络安全工具篇之OWASP_ZAP
Web安全—Web漏扫工具OWASP-ZAP安装与使用

2.6:BurpSuite

BurpSuite,统一的集成工具,可以发现并利用现代 Web 安全漏洞,Web 安全工具中的瑞士军刀。

  • 所有模块共享能处理并显示 HTTP 消息的可扩展框架,模块之间无缝交换信息。
  • 代理截断。

在这里插入图片描述

官网:https://portswigger.net

参考文章:
BurpSuite安装及常用功能介绍
BurpSuite全套使用教程(超实用超详细介绍)

2.7:AWVS

AWVS(Acunetix Web Vulnerability Scanner),用于检测和扫描 Web 应用程序中潜在的漏洞和安全风险。

  • 自动化扫描
  • 漏洞报告
  • 扫描策略
  • 验证和确认

在这里插入图片描述

官网:https://www.acunetix.com

参考文章:
AWVS安装与使用(最新版2022.12.27更新)

2.8:AppScan

AppScan(Watchfire AppScan),用于检测和修复 Web 应用程序中的安全漏洞和风险。

  • 自动化扫描
  • 第一个扫描过程发现新的 URL 地址,自动开始下一个扫描过程
  • 漏洞报告
  • 定制扫描策略

在这里插入图片描述

在这里插入图片描述

官网:https://www.hcl-software.com/appscan

参考文章:
漏扫工具Appscan使用简介

3:其他工具

3.1:SQLmap

SQLmap(SQL Injection and Database Takeover Tool),开源的自动化 SQL 注入工具,用于检测和利用 SQL 注入漏洞。

  • 数据榨取
  • 文件系统访问
  • 操作系统命令执行
  • 引擎强大、特性丰富
  • 支持多种数据库注入

五种漏洞检测技术:

  • 基于布尔的盲注检测
  • 基于时间的盲注检测
  • 基于联合查询的检测
  • 基于堆叠查询的检测
  • 基于错误回显的检测

在这里插入图片描述

参考文章:
sqlmap使用教程大全命令大全(图文)
【工具使用】SqlMap

3.2:XSSer

XSSer,用于测试和利用跨站脚本(XSS)漏洞的工具。

  • 自动化检测
  • 多种攻击向量(反射型、存储型、DOM 型)
  • Payload 生成
  • 漏洞利用

在这里插入图片描述

参考文章:
XSS渗透与防御——(三)XSSER语法

3.3:BeEF

BeEF(Browser Exploitation Framework),用于探测、利用 Web 浏览器中的漏洞和弱点。

  • 利用 XSS 漏洞进行攻击
  • Ruby 语言编写

在这里插入图片描述

在这里插入图片描述

官网:https://beefproject.com

参考文章:
XSS渗透测试工具beef如何安装使用?
BEEF的简介与使用

3.4:Weevely

Weevely,基于 python 编写的 webshell 管理利用工具。

  • 跨平台
  • 多个模块扩展
  • 隐蔽性不错
  • 参数随机生成并加密
  • 只支持 PHP shell

在这里插入图片描述

参考文章:
weevely工具使用

3.5:OpenSSL

OpenSSL,用于实现 SSL(安全套接层)和 TLS(传输层安全)协议,以及进行加解密、数字证书管理和其他加密相关的操作。

  • 加密和解密
  • 数字证书管理
  • SSL/TLS 协议支持
  • 散列和摘要算法
  • 公钥和私钥操作
  • 密码学工具

示例:

识别目标服务器支持的 cipher suite

openssl s_client -connect www.baidu.com:443

在这里插入图片描述

参考文章:
openssl安装与使用

3.6:SSLscan

SSLscan,用于评估和测试 SSL/TLS 配置,自动识别配置错误、过期协议、过时 cipher suite 等。

示例:

识别目标服务器支持的 cipher suite

sslscan --tlsall www.taobao.com

在这里插入图片描述

参考文章:
sslscan工具在密评中的使用

3.7:SSLyze

SSLyze ,用于分析和评估服务器端的 SSL/TLS 配置和安全性。

  • Python 语言编写
  • 检查 SSL / TLS 过时版本
  • 检查存在弱点的 cipher suite
  • 检查是否支持会话恢复

在这里插入图片描述

官方文档:
https://nabla-c0d3.github.io/sslyze/documentation/index.html

3.8:SSLsplit

SSLsplit,用于中间人攻击(Man-in-the-Middle,MitM)和分析 SSL/TLS 通信。

  • 透明 SSL/TLS 中间人攻击工具
  • 对客户端伪装成服务器,对服务器伪装成普通客户端
  • 伪装服务器需要伪造证书
  • 支持 SSL/TLS 加密的 SMTP、POP3、FTP 等通信中间人攻击

在这里插入图片描述

官网:https://www.roe.ch/SSLsplit

3.9:MitMproxy

MitMproxy(Man-in-the-Middle Proxy),开源的中间人代理工具,用于截取、检查、修改和记录网络通信流量。

在这里插入图片描述

参考文章:
Kali Linux 基于HTTPS的中间人攻击

3.10:IPtables

IPtables,是一个 Linux 上的工具,它是 Linux 内核提供的防火墙功能的用户空间接口,用于保护计算机。可用于配置、管理和控制网络数据包的过滤和转发规则。

在这里插入图片描述

参考文章:
iptables基础知识详解

4:WEB 攻击

技术型漏洞的本质

  • 数据与指令的混淆
  • 对用户输入信息过滤不严,判断失误

漏洞挖掘原则

  • 所有变量
  • 所有 http 头
  • 逐个变量测试

4.1:漏洞简述

这一部分与 WEB 安全相关。详情参见《WEB安全基础》。

默认配置漏洞

  • 中间件、Windows、Linux 默认配置造成的漏洞

身份认证漏洞

  • 弱口令
  • Session / Cookie

命令执行漏洞

API 接口漏洞

越权漏洞

目录遍历漏洞(Directory traversal)

文件包含漏洞(File include)

  • LFI(Local File Inclusion),本地文件包含
  • RFI(Remote File Inclusion),远程文件包含

文件上传漏洞

SQL 注入

XSS 漏洞(Cross-Site Scripting)

  • 通过 web 站点漏洞,向客户端交付恶意代码,实现对客户端的攻击
  • 根源:
    • 服务器对用户提交数据过滤不严
    • 提交给服务器的恶意脚本被直接返回给其他客户端执行
    • 脚本在客户端执行恶意操作
  • 类型:
    • 反射型(非持久)
    • DOM 型
    • 存储型(持久型)

CSRF 漏洞(Cross-Site Request Forgery)

  • 可以认为是逻辑漏洞。
  • 在用户已登录的情况下,攻击者诱使用户访问链接,从而利用其身份向目标网站发送恶意请求。
  • 漏洞利用条件:
    • 被害用户已经完成身份认证
    • 新请求的提交不需要重新身份认证或确认
    • 诱使用户触发攻击(社工)

从信任的角度区分 XSS 与 CSRF:

  • XSS:利用用户对站点的信任
  • CSRF:利用站点对已经身份认证用户的信任

4.2:SSL/TLS 攻击

SSL(Secure Socket Layer)和 TLS(Transport Layer Security)用于在网络通信中提供加密和数据完整性。

SSL/TLS 被用于很多场景的传输通道加密。

4.2.1:HTTPS 攻击

HTTPS 攻击方法:

  • 降级攻击
    攻击者迫使本应使用安全的通信方式(如 HTTPS),转而使用不安全的通信方式(如 HTTP)
  • 解密攻击(证书伪造)
  • 漏洞(协议漏洞、实现方法的漏洞、配置不严格)

TLS/SSL、HTTPS、HTTP over SSL 通俗上表示同意含义。

工具使用:

除了 OpenSSL、SSLscan、SSLyze 几个工具,Nmap 也有相应脚本用来攻击。

nmap --script=ssl-enum-ciphers.nse www.baidu.com

4.2.2:中间人攻击

中间人攻击(Man-in-the-Middle Attack,MitM),攻击者在通信的两端之间插入自己的恶意节点来窃取、篡改或监听传输的数据。

中间人攻击的前提(满足其中一个即可):

  • 客户端已经信任伪造证书
  • 攻击者控制了证书颁发机构
  • 客户端程序禁止了显示证书错误告警信息
  • 攻击者已经控制客户端,并强制其信任伪造证书

参考文章:
HTTPS攻击原理与防御

4.2.3:拒绝服务攻击

拒绝服务攻击有很多种,这里只介绍 SSL/TLS 拒绝服务攻击。

SSL/TLS 拒绝服务攻击,主要原理是利用 SSL/TLS 握手过程中的资源消耗来耗尽服务器的资源,导致服务器无法响应其他合法用户的请求。

常见的攻击方式:

  • SSL/TLS 握手暴力攻击
    攻击者通过大量的恶意 SSL/TLS 握手请求消耗服务器的计算和内存资源。

  • SSL/TLS 版本协商攻击
    攻击者通过发送恶意的 SSL/TLS 版本协商请求来混淆服务器,迫使其进行大量额外的计算和资源分配。

  • SSL/TLS 握手放大攻击
    攻击者伪造大量的虚假握手请求,使服务器产生大量响应数据。

  • SSL/TLS 会话重放攻击
    攻击者截获合法用户的 SSL/TLS 通信,然后将通信内容重新发送给服务器。

减轻攻击影响的措施:

  • 资源限制
    限制单个 IP 地址或会话的握手频率。
  • 负载均衡和缓存
  • 更新协议和配置

参考文章:
SSL_TLS 攻击原理解析


别后相思人似月,云间水上到层城。

——《明月夜留别》(唐)李冶

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

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

相关文章

YOLOv5 7.0添加ACmix

ACmix 论文地址&#xff1a;On the Integration of Self-Attention and Convolution ACmix探讨了卷积和自注意力这两种强大技术之间的关系&#xff0c;并将两者整合在一起&#xff0c;同时享有双份好处&#xff0c;并显著降低计算开销&#xff0c;可助力现有主干涨点&#xff…

php对接AWS S3云存储,上传S3及访问权限问题

首先先下载sdk包 https://docs.aws.amazon.com/zh_cn/sdk-for-php/v3/developer-guide/getting-started_installation.html S3创建存储桶 去安全凭证-》创建访问秘钥 创建的时候会提示&#xff0c;主账号创建不安全&#xff0c;这个时候我们需要创建一个IAM账号来创建秘钥 创…

ES6中的箭头函数(arrow function)与普通函数的不同之处

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 语法简洁⭐ 没有自己的this⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅&#xff01;这个专栏是为那些对Web开发感兴趣、…

可以翻页的电子画册制作指南

​电子画册是一种创新的方式&#xff0c;可以将传统的纸质画册转化为数字化的形式&#xff0c;并且具备翻页的功能。它不仅可以提供更好的阅读体验&#xff0c;还可以方便地分享给他人。 1.选择制作工具&#xff1a; 有许多在线平台和软件可以帮助你制作电子画册&#xff0c;比…

小程序数据导出文件

小程序josn数据生成excel文件 先从下载传送门将xlsx.mini.min.js拷贝下来&#xff0c;新建xlsx.js文件放入小程序项目文件夹下。 const XLSX require(./xlsx)//在需要用的页面中引入// 定义导出 Excel 报表的方法exportData() {const that thislet newData [{time:2021,val…

全球领先、柔性低功耗?京东方独家供应OPPO折叠屏,首发值得一试

京东方作为全球领先的显示技术创新企业&#xff0c;为OPPO提供的折叠屏手机和智能手表屏幕&#xff0c;拥有先进的技术和优质的显示效果。京东方的柔性折叠低功耗解决方案不仅能够实现屏幕的弯折&#xff0c;还能在折叠状态下保持低功耗&#xff0c;使设备的续航时间得到极大增…

windows10上搭建caffe以及踩到的坑

对动作捕捉的几篇论文感兴趣&#xff0c;想复现一下&#xff0c;需要caffe环境就折腾了下&#xff01;转模型需要python 2.7环境&#xff0c;我顺便也弄了&#xff01;&#xff01;&#xff01; 1. 环境 Windows10 RTX2080TI 11G Anaconda Python2.7 visual studio 2013 cuda…

第三方软件检测机构有哪些资质,2023年软件测评公司推荐

软件第三方测试报告 伴随着软件行业的蓬勃发展&#xff0c;软件测试也迎来了热潮&#xff0c;但是国内的软件测试行业存在着测试入行门槛低、测试投入少、测试人员专业性不足等问题&#xff0c;这些问题不但会阻碍软件测试行业的良性发展&#xff0c;而且难以保证软件产品的质…

魏副业而战:开学季,闲鱼卖什么好?

我是魏哥&#xff0c;与其躺平&#xff0c;不如魏副业而战&#xff01; 现在八月底了&#xff0c;意味着暑假结束&#xff0c;新的学期将要开始。 作为闲鱼卖家&#xff0c;可顺势布局一下。 那卖什么好呢&#xff1f; 开学季嘛&#xff0c;卖学习相关的&#xff0c;例如&a…

1.docker打包前后端项目 2.将虚拟机设置为固定ip 3.WARNING: IPv4 forwarding is disabled. Networking will not work

打包后端项目 1.查看防火墙状态 netsh advfirewall show allprofiles 显示防火墙的当前状态和配置信息。您将在输出中看到每个配置文件&#xff08;公用、专用和域&#xff09;的状态。 2.关闭防火墙 netsh advfirewall set allprofiles state off 将关闭所有配置文件&#…

胜券汇:底部显现 三大因素有望助推股市短期内探底回升

胜券汇以为&#xff0c;权益商场的底部特征现已开始闪现&#xff0c;估值触底、危险偏好反弹、盈余逐渐修正三大要素有望助推股市短期内探底上升。不过&#xff0c;中长期而言&#xff0c;A股的核心矛盾在于经济复苏的斜率&#xff0c;从当时经济形势看&#xff0c;方针仍有必要…

【C++进阶(三)】STL大法--vector迭代器失效深浅拷贝问题剖析

&#x1f493;博主CSDN主页:杭电码农-NEO&#x1f493;   ⏩专栏分类:C从入门到精通⏪   &#x1f69a;代码仓库:NEO的学习日记&#x1f69a;   &#x1f339;关注我&#x1faf5;带你学习C   &#x1f51d;&#x1f51d; vector-下 1. 前言2. 什么是迭代器失效?3. 迭代…

【Linux】Linux线程的同步与互斥

前言 如果你对进程/线程中通信的相关概念不太了解的话可以先看这里《进程间通信的基础概念》 Linux线程的同步与互斥 一、Linux线程的互斥1、互斥的相关背景2、互斥量的接口3、互斥量实现原理探究 二、可重入与线程安全1、概念2、常见的线程不安全的情况3、常见的线程安全的情况…

【前端】 Layui点击图片实现放大、关闭效果

实现效果&#xff1a;点击图片实现放大&#xff0c;点击空白处关闭效果。下图。 实现逻辑&#xff1a;二维码是使用JQ插件生成的&#xff0c;点击二维码&#xff0c;获取图片路径&#xff0c;通过Layui的弹窗显示放大后的图片。 Html <div id"qrcode" class&quo…

【JAVA基础】数据类型,逻辑控制

❤️ Author&#xff1a; 老九 ☕️ 个人博客&#xff1a;老九的CSDN博客 &#x1f64f; 个人名言&#xff1a;不可控之事 乐观面对 &#x1f60d; 系列专栏&#xff1a; 文章目录 数据类型整型变量 int长整型变量 long单精度浮点数 float双精度浮点数 double字符类型 char字节…

Mybatis执行getById报错Parameter index out of range

博主使用的Springboot3.0&#xff0c;jdk17&#xff0c;MybatisMybatisFlex的环境 报错&#xff1a; org.mybatis.spring.MyBatisSystemException: null java.lang.RuntimeException: java.sql.SQLException: Parameter index out of range (1 > number of parameters, w…

Android DataBinding 基础入门(学习记录)

目录 一、DataBinding简介二、findViewById 和 DataBinding 原理及优缺点1. findViewById的优缺点2. DataBinding的优缺点 三、Android mvvm 之 databinding 原理1. 简介和三个主要的实体DataViewViewDataBinding 2.三个功能2.1. rebind 行为2.2 observe data 行为2.3 observe …

基于MQTT协议的物联网网关实现远程数据采集及监控

在数字化时代的浪潮中&#xff0c;工业界正面临着前所未有的变革与机遇。而在这场变革中&#xff0c;基于MQTT协议的物联网网关崭露头角&#xff0c;成为连接工业设备、实现远程数据采集与监控的利器。其中&#xff0c;HiWoo Box作为一款出色的工业边缘网关&#xff0c;引领着这…

搜索算法之内容质量评估:如何对作者和文章进行质量评价

paperClubIP属地: 江苏 编辑文章 对于搜索引擎而言&#xff0c;用户算法的核心价值是用户体验&#xff0c;包括搜索内容的相关性、内容质量及时效性等&#xff0c;其中内容质量是前置步骤&#xff0c;既可以用于优质内容源筛选&#xff0c;又可以作为搜索召回结果排序因素&am…

Leetcode.100 相同的树

给你两棵二叉树的根节点 p 和 q &#xff0c;编写一个函数来检验这两棵树是否相同。 如果两个树在结构上相同&#xff0c;并且节点具有相同的值&#xff0c;则认为它们是相同的。 力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 代码如下&#xff1a;…