渗透测试【一】:渗透测试常见问题

渗透测试【一】:渗透测试常见问题

  • 1、问题清单
  • 2、问题现象及解决办法
    • 2.1、点击劫持
    • 2.2、用户枚举
    • 2.3、Springboot未授权访问
    • 2.4、Swagger未授权访问
    • 2.5、Host头注入
    • 2.6、任意文件上传
    • 2.7、敏感路径泄露
    • 2.8、跨域资源共享
    • 2.9、Spring Cloud Gateway RCE
    • 2.10、Content-Security-Policy 头缺失漏洞
    • 2.11、内网IP信息泄露
    • 2.12、Nacos身份认证绕过(QVD-2023-6271)漏洞
    • 2.13、Nacos未授权(CVE-2021-29441)漏洞

1、问题清单

渗透测试碰到的问题清单汇总

序号漏洞名称危险等级
1点击劫持低危
2用户枚举低危
3Springboot未授权访问高危
4Swagger未授权访问中危
5Host头注入中危
6任意文件上传高危
7敏感路径泄露低危
8跨域资源共享中危
9Spring Cloud Gateway RCE高危
10Content-Security-Policy 头缺失漏洞中危
11内网IP信息泄露低危
12Nacos身份认证绕过漏洞高危
13Nacos未授权-cve-2021-29441漏洞高危

2、问题现象及解决办法

2.1、点击劫持

  • 现象:通过点击劫持payload进行检测,看是否可以在页面上覆盖标签。
    • 漏洞URL:http://xxx.xxx.xxx.xxx:8080/login
      <!DOCTYPE html>
      <html>
      <head>
      <meta charset="utf-8">
      <title>劫持测试</title>
      </head>
      <body><iframe src="http://xxx.xxx.xxx.xxx:8080/login" width="500" height="500" frameborder="10" ></iframe>
      </body>
      </html>
      
  • 漏洞危害:攻击者利用该漏洞精心构造web页面引诱客户端增删改查自己的系统信息,点击劫持技术如果结合其他漏洞进行攻击,将突破某些安全措施,实现更大范围的攻击。
    • 安全建议:
      • 1、添加X-Frame-Options机制或使用FrameBusting代码。
  • 处理:
    • 修改nginx配置文件,在http部分添加【add_header X-Frame-Options sameorigin always;】

2.2、用户枚举

  • 现象:攻击者可以通过Burp爆破模块或者web弱口令爆破脚本实施爆破,从而得出用户名密码,完成系统登陆。
    • 漏洞URL:http://xxx.xxx.xxx.xxx:8080/test/auth/login
      • 1、提示用户名存在,密码错误
      • 2、提示用户名不存在
  • 漏洞危害:
    攻击者可以通过尝试登陆网页回复信息判断用户名/账户是否存在,如果网页回复信息如下:
    • • 客户端请求:输入“有效的用户名/错误的密码”-“服务器回答:“密码不正确”
    • • 客户端请求:输入“错误的用户名/错误的密码”-“服务器回答:“用户名不存在”
      通过上述答复,攻击者就能知道第一次请求的是一个有效的用户名,利用该漏洞枚举有效用户列表,通过暴力破解、社工等方式对有效用户进行攻击。
    • 安全建议:在系统登录认证失败时,服务器回复内容统一使用“用户名或密码错误”,而不是直接返回“用户不存在”,“密码错误”等信息。
  • 处理:
    • 统一返回用户名或密码错误

2.3、Springboot未授权访问

  • 现象:攻击者可以通过Springboot未授权界面获取敏感信息从而进行渗透,特别是heapdump文件,下载以后利用解密工具可获取数据库账户密码等敏感信息。
    • 漏洞URL:http://xxx.xxx.xxx.xxx:8080/test/actuator/
  • 漏洞危害:可以获取敏感信息进行深入渗透。
    • 安全建议:建议对该页面进行访问权限设置。
  • 处理:
    • 网关中关闭未授权的url

2.4、Swagger未授权访问

  • 现象:攻击者可以通过Swagger未授权访问页面获取敏感信息从而深入渗透。
    • 漏洞URL:http://xxx.xxx.xxx.xxx:8080/test/v2/api-docs
    • 利用Springboot插件进行扫描,成功获取Springboot未授权页面URL
  • 漏洞危害:可以获取敏感信息进行深入渗透。
    • 安全建议:建议对该页面进行访问权限设置。
  • 处理:
    • 网关中关闭未授权的url

2.5、Host头注入

  • 现象:攻击者通过伪造HTTP请求的Host头信息,来欺骗服务器,让服务器误以为请求来自攻击者指定的合法网站,从而达到攻击的目的。

    • 漏洞URL:http://xxx.xxx.xxx.xxx:8080/test/auth/login
      • 存在Host头注入漏洞(通过修改host头为X.X.X.X,仍然正常回显)
      • 在这里插入图片描述
  • 漏洞危害:攻击者通过伪造HTTP请求的Host头信息,来欺骗服务器,让服务器误以为请求来自攻击者指定的合法网站,从而达到攻击的目的。。

    • 安全建议:
      1、更新注入检查规则
      需要对网站服务器进行漏洞检测,及时更新注入检查规则。可以使用安全扫描工具对网站的防护技术进行评估,在发现风险之后及时补全,并对Web应用程序代码进行深入分析。平时需要及时关注最新的漏洞信息,将反黑客技术应用到实际工作中。
      2、禁止空主机头请求
      检测到攻击者用这种方式开始攻击您的服务器,处理的方法之一是在 Web 服务器级别拒绝所有空主机名请求。当处理空主机头的请求时,Web 服务器就可以完成了根据请求内容进行针对性验证。
      3、采用反向代理
      采用具有 Web 特征的反向代理,这种方法能够限制入侵者使用受感染的 HTTP 包伪造主机名连接到前端Web服务。反向代理可以识别非正常HTTP流量,并将其纠正为正常HTTP流量。
      4、集中化实行访问控制
      使用集中化访问控制造成的巨大的风险是不太可能避免的。使用集中化客户端访问控制方案显然可以大大减少 Web 服务器要像递归扫描,缓存或服务器负载平衡器等组件 proxy(代理服务器),这些操作通常只能在特殊的条件下完成。
      5、安装合适的安全工具和软件
      最重要的是,必须安装合适的安全工具和软件来完善安全机制,以保证服务器的稳定性和安全性,免受 host 主机头攻击的危害。安装web应用防火墙、网络防火墙、安全漏洞扫描、入侵检测等安全工具和软件,对系统进行全面的安全检测,及时发现潜在的风险。
  • 处理:nginx.conf增加如下内容

# host头注入漏洞修复 start
if ($http_Host !~* "(xxx.xxx.xxx.xx1:8080|xxx.xxx.xxx.xx2:8080)"){return 403;}# host头注入漏洞修复 end

2.6、任意文件上传

  • 现象:攻击者可以文件上传接口,构造恶意shell完成木马文件上传,从而完成对服务器的控制。
    • 漏洞URL:http://xxx.xxx.xxx.xxx:8080/test/auth/login
  • 漏洞危害:攻击者可以文件上传接口,构造恶意shell完成木马文件上传,从而完成对服务器的控制。
    • 安全建议:
      1)服务器端将文件上传目录直接设置为不可执行。
      2)文件类型检查:建议使用白名单方式(比黑名单更可靠),并结合MIME Type、后缀检查等方式(文件类型做白名单限制)。此外对于图片的处理可以使用压缩函数或resize函数,处理图片的同时破坏其包含的HTML代码。
      3)使用随机数改写文件名和文件路径,使得用户不能轻易访问自己上传的文件。
      4)单独设置文件服务器的域名。
      5)验证文件内容,使用正则匹配恶意代码(过滤恶意代码各种绕过方式,如大小写、BASE64编码)限制上传。
      6)修复服务器可能存在的解析漏洞。
      7)严格限制可以修改服务器配置的文件上传如:.htaccess。
      8)隐藏上传文件路径。
      9)升级Web Server。
      10)及时修复Web上传代码。
      11)不能有本地文件包含漏洞。
      12)注意0x00截断攻击(PHP更新到最新版本)
  • 处理:后台校验文件类型。

2.7、敏感路径泄露

  • 现象:攻击者可以通过上传任意文件,从而获取上传根目录路径,进而进行深入渗透。
    • 漏洞URL:http://xxx.xxx.xxx.xxx:8080/test/auth/login
  • 漏洞危害:攻击者精心构造报错页面,通过详细报错信息提取敏感数据包内容,从而有针对性的进行利用。例如报错页面泄露系统信息,中间件版本为攻击者提供更多的攻击途径和方法,攻击者利用报错页面泄露的敏感文件物理路径,执行文件包含、读取任意文件等。
    • 安全建议:
      1、编码时增加异常处理模块。
      2、错误及异常的统一收集并处理,禁止直接抛出详细报错信息。
      举例:关闭PHP页面中的错误提示:
      如果有修改php.ini的权限,则在php.ini中找到display_errors
      设置display_errors=On开启PHP错误提示
      设置display_errors=Off关闭PHP错误提示
      如果没有修改php.ini的权限,可以在php页面中增加如下代码
      //关闭PHP错误提示
      ini_set(“display_errors”, “Off”);
      //开启PHP错误提示
      ini_set(“display_errors”, “On”);
      3、报错页面隐藏服务器、中间件指纹信息。
  • 处理:后台返回信息隐藏敏感路径相关信息

2.8、跨域资源共享

  • 现象:目标存在CORS跨资源共享漏洞,对方管理员在没有退出自己所管理的网站的情况下,点击恶意攻击者已经构造好的恶意网站,攻击者可以修改Origin字段为任意指定的值,实现绕过浏览器同源策略的限制,基于CORS漏洞发起恶意请求,实现对目标资源的恶意跨域访问,并读取服务器的响应结果,从而造成服务器的信息泄露

    • 漏洞URL:http://xxx.xxx.xxx.xxx:8080/test/auth/login
    • 在这里插入图片描述
  • 漏洞危害:目标存在CORS跨资源共享漏洞,对方管理员在没有退出自己所管理的网站的情况下,点击恶意攻击者已经构造好的恶意网站,攻击者可以修改Origin字段为任意指定的值,实现绕过浏览器同源策略的限制,基于CORS漏洞发起恶意请求,实现对目标资源的恶意跨域访问,并读取服务器的响应结果,从而造成服务器的信息泄露。

    • 安全建议:
      1、正确配置跨域请求,如果Web资源包含敏感信息,则应在Access-Control-Allow-Origin标头中正确指定来源。
      2、只允许信任的网站。
      3、避免将null列入白名单,避免使用标题Access-Control-Allow-Origin: null。
  • 处理:nginx.conf增加如下内容

# cors 跨域漏洞修复 start
set $allow_cors 0;
if ($http_origin)
{set $allow_cors 1;
}
if ($http_origin !~* "(xxx.xxx.xxx.xx1|xxx.xxx.xxx.xx2)")
{set $allow_cors "${allow_cors}1";
}
if ($allow_cors = "11"){return 403;
}
# cors 跨域漏洞修复 end

2.9、Spring Cloud Gateway RCE

  • 现象:Spring Cloud Gateway是Spring中的一个API网关。其3.1.0及3.0.6版本(包含)以前存在一处SpEL表达式注入漏洞,当攻击者可以访问Actuator API的情况下,将可以利用该漏洞执行任意命令。

    • 漏洞URL:http://xxx.xxx.xxx.xxx:8080/test/actuator/gateway/routes
  • 漏洞危害:Spring Cloud Gateway是Spring中的一个API网关。其3.1.0及3.0.6版本(包含)以前存在一处SpEL表达式注入漏洞,当攻击者可以访问Actuator API的情况下,将可以利用该漏洞执行任意命令。

    • 安全建议:
      1、更新升级Spring Cloud Gateway版本
      2、在不考虑影响业务的情况下禁用actuator接口
      management.endpoint.gateway.enable=false
      
  • 处理:网关关闭actuator接口

2.10、Content-Security-Policy 头缺失漏洞

  • 现象:缺少Content-Security-Policy头会增加网站遭受XSS攻击、数据泄露、点击劫持和恶意内容加载等安全风险的可能性。使用该头可以帮助保护网站免受这些攻击和风险。
    • 漏洞URL:http://xxx.xxx.xxx.xxx:8080/test/auth/login
  • 漏洞危害:缺少Content-Security-Policy头会增加网站遭受XSS攻击、数据泄露、点击劫持和恶意内容加载等安全风险的可能性。使用该头可以帮助保护网站免受这些攻击和风险。
  • 安全建议:
    1、第一种:修改 nginx 配置文件
    在nginx.conf 配置文件中,增加如下配置内容:
    add_header Content-Security-Policy "default-src 'self' localhost:8080 'unsafe-inline' 'unsafe-eval' blob: data: ;";
    

2、第二种:通过网页的meta标签
<meta http-equiv=“Content-Security-Policy” content=“style-src ‘self’ ‘unsafe-inline’;script-src ‘self’ ‘unsafe-inline’ ‘unsafe-eval’ https://webapi.amap.com https://restapi.amap.com https://vdata.amap.com https://appx/web-view.min.js;worker-src blob:”>
该指令说明:允许自身css、js和高德地图api、地图数据。
CSP 指令说明:
default-src : 定义针对所有类型(js/image/css/font/ajax/iframe/多媒体等)资源的默认加载策略,如果某类型资源没有单独定义策略,就使用默认的。
script-src : 定义针对 JavaScript 的加载策略。
style-src : 定义针对样式的加载策略。
worker-src:worker脚本。
img-src : 定义针对图片的加载策略。
font-src : 定义针对字体的加载策略。
media-src : 定义针对多媒体的加载策略,例如:音频标签<audio>和视频标签<video>。
object-src : 定义针对插件的加载策略,例如:<object>、<embed>、<applet>。
child-src : 定义针对框架的加载策略,例如: <frame>,<iframe>。
connect-src : 定义针对 Ajax/WebSocket 等请求的加载策略。不允许的情况下,浏览器会模拟一个状态为400的响应。
sandbox : 定义针对 sandbox 的限制,相当于 <iframe>的sandbox属性。
report-uri : 告诉浏览器如果请求的资源不被策略允许时,往哪个地址提交日志信息。
form-action : 定义针对提交的 form 到特定来源的加载策略。
referrer : 定义针对 referrer 的加载策略。
reflected-xss : 定义针对 XSS 过滤器使用策略。

  • 处理:修改nginx配置文件,在http部分添加【Content-Security-Policy “default-src ‘self’ localhost:8080 ‘unsafe-inline’ ‘unsafe-eval’ blob: data: ;”;】

2.11、内网IP信息泄露

  • 现象:对攻击者而言,泄露内部 IP 非常有价值,因为它显示了内部网络的 IP 地址方案。知道内部网络的 IP 地址方案,可以辅助攻击者策划出对内部网络进一步的攻击。比如:攻击者获取边界机shell权限后,利用泄露的内部IP可以刺探企业内网。
    • 漏洞URL:http://xxx.xxx.xxx.xxx:8080/test/druid/basic.json
    • 在这里插入图片描述
  • 漏洞危害:对攻击者而言,泄露内部 IP 非常有价值,因为它显示了内部网络的 IP 地址方案。知道内部网络的 IP 地址方案,可以辅助攻击者策划出对内部网络进一步的攻击。比如:攻击者获取边界机shell权限后,利用泄露的内部IP可以刺探企业内网。
    • 安全建议:
      1、关闭Web 应用程序/服务器中有问题的详细错误消息。
      2、确保内部 IP 信息未留在 HTML/JavaScript 注释中。
      3)、禁止cookie中携带内网IP 。
      4)、限制IP直接访问项目本身。
  • 处理:网关关闭druid接口

2.12、Nacos身份认证绕过(QVD-2023-6271)漏洞

  • 现象:漏洞原理为开源服务管理平台 Nacos在默认配置下未对 token.secret.key 进行修改,导致远程攻击者可以绕过密钥认证进入后台造成系统受控等后果。

  • 处理:修改配置文件application.properties

    • application.config,nacos.core.auth.plugin.nacos.token.secret.key=
    • 将默认值修改为自定义key【自定义key要求:原始密钥长度不低于32字符,推荐配置项设置为base64编码的字符串】
    • Linux上对字符串进行base64编码命令
      • echo "SecretKey_FUCK_XXXXXXXX012345678"|base64
    • 自定义key的原始密钥:
      • SecretKey_FUCK_XXXXXXXX012345678
    • Base64编码之后的字符串
      • U2VjcmV0S2V5X0ZVQ0tfWFhYWFhYWFgwMTIzNDU2NzgK
    • 修改后
      • application.config,nacos.core.auth.plugin.nacos.token.secret.key=U2VjcmV0S2V5X0ZVQ0tfWFhYWFhYWFgwMTIzNDU2NzgK
  • 特别注意

    • application.conf修改完后不要重启nacos,直接在nacos页面修改一次密码。
    • 如果未修改密码重启nacos,会导致登录户名密码错误。

2.13、Nacos未授权(CVE-2021-29441)漏洞

  • 现象:利用上述漏洞添加用户

    • http://xxx.xxx.xxx.xxx:8848/nacos/v1/auth/users?username=crow&password=crow
    • curl -XPOST -d “username=crow&password=crow” “http://xxx.xxx.xxx.xxx:8848/nacos/v1/auth/users”
  • 处理:修改配置文件application.properties

    1、 将nacos.core.auth.enabled=false改为true
    2、将nacos.core.auth.enable.userAgentAuthWhite=true 改为false
    3、nacos.core.auth.server.identity.key=自定义的值nacos.core.auth.server.identity.value=自定义的值
    

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

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

相关文章

【挑战业余一周拿证】CSDN官方课程目录

一、亚马逊云科技简介 二、在云中计算 三、全球基础设施和可靠性 四、联网 五、存储和数据库 六、安全性 七、监控和分析 八、定价和支持 九、迁移和创新 十、云之旅 关注订阅号 CSDN 官方中文视频&#xff08;免费&#xff09;&#xff1a;点击进入 一、亚马逊云科…

女生儿童房装修:原木上下铺搭配粉色调。福州中宅装饰,福州装修

你是否正在为女生儿童房的装修而发愁呢&#xff1f;该如何让房间既适合孩子生活&#xff0c;又能够满足日常学习的需要呢&#xff1f;这里有一个精美的装修案例&#xff0c;或许能够为你提供一些灵感。 1️⃣ 原木上下铺 房间的上下铺采用了原木色调&#xff0c;带来了自然、温…

STM32 F1 串口空闲中断 + DMA实现数据发送

DMA实现数据发送 文章目录 DMA实现数据发送前言一、DMA二、代码编写1.DMA2.USART3.main 前言 当你遇到通信数据量大的时候&#xff0c;可以使用 空闲中断 DMA 的方案来减轻 CPU 的压力。 或者 在进行stm32开发时&#xff0c;有时会遇到这种情况&#xff1a;需要在设备间进行数…

1.1 C语言之入门:使用Visual Studio Community 2022运行hello world

1.1 使用Visual Studio Community 2022运行c语言的hello world 一、下载安装Visual Studio Community 2022 与 新建项目二、编写c helloworld三、编译、链接、运行 c helloworld1. 问题记录&#xff1a;无法打开源文件"stdio.h"2. 问题记录&#xff1a;调试和执行按钮…

【Linux】bash 终端指令

进程 $ ps aux | grep pwd work 63317 0.0 0.0 51192 612 pts/9 S 14:22 0:00 grep /home/work/search/1000000.dyenv-user-diaoyan-baiseCliPlus-baisePlus-195522.diaoyan.yq/ala-ac/output_root端口 查看本机端口开放情况 netstat -tln | grep :31 tcp …

Unsupervised Skill Discovery via Recurrent Skill Training论文笔记

Zheyuan Jiang, Jingyue Gao, Jianyu Chen (2022). Unsupervised Skill Discovery via Recurrent Skill Training. In Conference on Neural Information Processing Systems (NeurIPS), 2022. 通过循环技能训练发现无监督技能 1、Motivation 以往的无监督技能发现方法主要使…

可燃气体监测仪助力燃气管网安全监测,效果一览

城市地下管线是指城市范围内供应水、排放水、燃气等各类管线及其附属设施&#xff0c;它们是保障城市正常运转的重要基础设施且影响着城市生命线。其中燃气引发的事故近些年不断增加&#xff0c;由于燃气管线深埋地下环境复杂&#xff0c;所以仅仅依赖人工巡查难以全面有效地防…

17. Python 数据库操作之MySQL和SQLite实例

目录 1. 简介2. 使用PyMySQL2. 使用SQLite 1. 简介 数据库种类繁多&#xff0c;每种数据库的对外接口实现各不相同&#xff0c;为了方便对数据库进行统一的操作&#xff0c;大部分编程语言都提供了标准化的数据库接口&#xff0c;用户不需要了解每种数据的接口实现细节&#x…

【每日一题】1457. 二叉树中的伪回文路径-2023.11.25

题目&#xff1a; 1457. 二叉树中的伪回文路径 给你一棵二叉树&#xff0c;每个节点的值为 1 到 9 。我们称二叉树中的一条路径是 「伪回文」的&#xff0c;当它满足&#xff1a;路径经过的所有节点值的排列中&#xff0c;存在一个回文序列。 请你返回从根到叶子节点的所有路…

Re55:读论文 Entities as Experts: Sparse Memory Access with Entity Supervision

诸神缄默不语-个人CSDN博文目录 诸神缄默不语的论文阅读笔记和分类 论文名称&#xff1a;Entities as Experts: Sparse Memory Access with Entity Supervision 模型名称&#xff1a;Entities as Experts (EaE) ArXiv网址&#xff1a;https://arxiv.org/abs/2004.07202 本文…

人工智能基础_机器学习050_对比sigmoid函数和softmax函数的区别_两种分类器算法的区别---人工智能工作笔记0090

可以看到最上面是softmax的函数对吧,但是如果当k = 2 那么这个时候softmax的函数就可以退化为sigmoid函数,也就是 逻辑斯蒂回归了对吧 我们来看一下推导过程,可以看到上面是softmax的函数 可以看到k=2 表示,只有两个类别对吧,两个类别的分类不就是sigmoid函数嘛对吧,所以说 …

ubuntu 安装 jetbrains-toolbox

ubuntu 安装 jetbrains-toolbox 官网下载 jetbrains-toolbox jetbrains 官网 jetbrains 官网&#xff1a;https://www.jetbrains.com/ jetbrains-toolbox 官网下载页面 在下载页面点击 Download 安装 jetbrains-toolbox 解压 jetbrains-toolbox 安装包 到指定目录 本案例将…

STM32 默认时钟更改 +debug调试

STM32时钟 文章目录 STM32时钟前言一、修改系统时钟二、DEBUG 前言 为什么我们要改STM32的时钟呢&#xff0c;打个比方在做SPI驱动的时候&#xff0c;需要16M的时钟&#xff0c;但是stm32默认是72的分频分不出来&#xff0c;这个时候我们就要改系统时钟了&#xff0c;那么怎么…

[科普] 无刷直流电机驱动控制原理图解

Title: [科普] 无刷直流电机驱动控制原理图解 文章目录 I. 引言II. 直流电机的原理1. 有刷直流电机和无刷直流电机的区别2. 有刷直流电机的运行原理3. 既是电动机又是发电机 III. 无刷直流电机的原理1. 无刷直流电机与永磁同步电机的区别2. 无刷直流电机的换向控制原理3. 无刷直…

python 笔记 根据用户轨迹+基站位置,估计基站轨迹+RSRP

1 问题描述 已知用户实际的轨迹&#xff0c;和基站的位置&#xff0c;能不能得到用户所连接的基站&#xff0c;以及基站的信号强度RSRP&#xff1f; 1.1 几个假设 这里我们做几个假设&#xff1a; 每个用户有80%的概率连接最近的基站&#xff0c;有20%的概率选择其他的基站连…

4/5G互操作 EPSFB讲解

今天我们来讲一下4/5G之间之间互操作&#xff0c;以及5G的EPSFB是基于什么实现的~ 目录 4/5G互操作 重选 切换 基于覆盖的切换 基于业务的切换 两个面试问题 想要加快4G切换5G的速度&#xff0c;调哪个参数怎么调高效&#xff1f; 想要减慢5G切换4G的速度调哪个参数怎…

2018年5月23日 Go生态洞察:更新Go行为准则

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

knime 中没有column expressions,怎么下载

knime 中没有column expressions&#xff0c;怎么下载 1、打开view&#xff0c;然后找到knime hub&#xff0c;column expression 2、往里面拖动&#xff0c;就可以安装了 3、然后会出现重启&#xff0c;搜索就可以出现啦

【SpringCloud】从单体架构到微服务架构

今天来看看架构的演变过程 一、单体架构 从图中可以看到&#xff0c;所有服务耦合在一起&#xff0c;数据库存在单点&#xff0c;一旦其中一个服务出现问题时&#xff0c;整个工程都需要重新发布&#xff0c;从而导致整个业务不能提供响应 这种架构对于小项目而言是没有什么…

OSG编程指南<十二>:OSG二三维文字创建及文字特效

1、字体基础知识 适当的文字信息对于显示场景信息是非常重要的。在 OSG 中&#xff0c;osgText提供了向场景中添加文字的强大功能&#xff0c;由于有第三方插件 FreeType 的支持&#xff0c;它完全支持TrueType 字体。很多人可能对 FreeType 和 TrueType 还不太了解&#xff0c…