Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >5000+收藏的Spring Boot面试核心总结,关键时刻可以救你一命!

5000+收藏的Spring Boot面试核心总结,关键时刻可以救你一命!

作者头像
博文视点Broadview
发布于 2020-06-10 09:10:34
发布于 2020-06-10 09:10:34
82000
代码可运行
举报
运行总次数:0
代码可运行

技术面试时的你是否会有这样的感受:

面试官问的好多技术我都用到了,但面试官的问题我们时却不能给出准确的答案。

我们平常在项目中主要关注使用,程序run起来就ok了,很少去了解原理、架构、和性能调优。这样在面试问题中总有一种无法直击问题本质的无力感,很难充分表现自己,最终影响面试结果。

其实,这是很多Java研发人员遇到的普遍问题,不清楚原理,虽然用起来没问题,但讲起来有困难!

为了避免此类问题,本文针对面试中涉及到的Spring Boot核心知识点进行了总结,帮助大家查漏补缺,在技术面试中能够一路通关!

图书推荐

本文选自《Offer来了:Java面试核心知识点精讲(框架篇)》一书,本书将Java分布式架构中常用的技术做了梳理和总结,可谓一书在手,Offer我有!(参与文末互动,有机会赢取本书!)

文章略长但干货足,建议大家先收藏~

本文目录


1. Spring Boot的使用

2. Spring Boot Application Starters

3. Spring Boot的常用组件及其使用

  • Spring Boot使用MySQL
  • Spring Boot使用Redis
  • Spring Boot使用MongoDB
  • Spring Boot使用Neo4j
  • Spring Boot使用Solr
  • Spring Boot使用ElasticSearch
  • Spring Boot使用Cassandra
  • Spring Boot使用RabbitMQ
  • Spring Boot使用Kafka

▊ Spring Boot的特点如下

(1)快速创建独立的Spring应用程序。

(2)嵌入Tomcat和Undertow等Web容器,实现快速部署。

(3)自动配置JAR包依赖和版本控制,简化Maven配置。

(4)自动装配Spring实例,不需要XML配置。

(5)提供诸如性能指标、健康检查、外部配置等线上监控和配置功能。

01

Spring Boot的使用

Spring Boot把传统的Spring项目从繁杂的XML配置中解放出来,应用只需要用注解自动扫描即可,同时Spring Boot为应用提供了统一的JAR管理和维护,不需要应用程序管理复杂的JAR依赖和处理多版本冲突问题,只需要在pom.xml文件中加入对应模块的Starter即可。对内部的JAR依赖的管理,Spring Boot会自动维护。具体使用过程如下。

(1)Spring Boot的引入。

Spring Boot项目定义简单,使用方便,第一步需要在pom.xml文件中引入org.springframework.boot及相关依赖。pom.xml文件如下。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
  
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.4.RELEASE</version>
        <relativePath/> 
    </parent>
      
    <groupId>com.alex</groupId>
    <artifactId>springboot</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>springboot</name>
    <description>Demo project for Spring Boot</description>
    
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
      
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
   
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
    <build>
        <plugins>
   
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

(2)配置文件设置。

Spring Boot的配置分为application.properties和application.yml两种,两种配置有语法差别,但其实现的功能相同。下面的配置文件通过server.port=9090设置了服务端口为9090,如果不设置,则默认端口为Tomcat的8080,通过server.name=hello设置了服务名称为hello。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
server.port=9090 #服务端口号
server.name=hello #服务名称
server.tomcat.uri-encoding=UTF-8 #以Tomcat为Web容器时的字符编码为UTF-8
#spring.data.mongodb.uri=mongodb://localhost:27017/mydb #MongoDB连接地址定义
#spring.http.encoding.charset=UTF-8 #HTTP请求的字符编码为UTF-8
#spring.http.multipart.max-file-size=10MB #设置文件上传时单个文件的大小限制
#spring.http.multipart.max-request-size=100MB #设置文件上传时总文件的大小限制
#spring.mvc.static-path-pattern=/** #设置静态资源的请求路径
#spring.resources.static-locations=classpath:/static/,classpath:/public/ 
#设置静态资源的路径,多个用逗号隔开
# MySQL数据库配置
#hibernate.dialect=org.hibernate.dialect.MySQL5Dialect #设置数据库方言为MySQL
#hibernate.show_sql=true #设置是否显示SQL语句
#hibernate.hbm2dll.auto=update #设置使用Hibernate的自动建表
#entitymanager.packagesToScan=com.zslin #设置自动扫描的包路径
#spring.datasource.url=jdbc:mysql://localhost:3306/customer?\
#useUnicode=true&characterEncoding=utf-8&useSSL=true&autoReconnect=true 
#设置MySQL数据库连接
#spring.datasource.username=root #设置数据库用户名
#spring.datasource.password=123 #设置数据库root用户对应的密码
#spring.datasource.driver-class-name=com.mysql.jdbc.Driver #设置数据库驱动名称

(3)定义启动类。

启动类是Spring Boot项目的入口,应用程序通过在类上设置一个@SpringBootApplication注解,声明该类是一个Spring Boot启动类,Spring Boot会扫描启动类所在的包及其子包中的所有类的注解,并将其加载到Spring Boot的容器中进行管理。只需要在main()函数中执行SpringApplication.run(SpringbootApplication.class, args),便完成了启动类的定义。代码如下。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@SpringBootApplication
public class SpringbootApplication {
    public static void main(String[] args) {
        SpringApplication.run(SpringbootApplication.class, args);
    }
}

在定义启动类后,单击右键执行run,便可启动该Spring Boot项目了。

(4)定义控制器

在SpringbootApplication的根目录下定义一个控制器,用于Web接口的访问。控制器的定义方式和在Spring项目中控制器的常规定义方式一样,具体代码如下。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@RestController
public class BaseController {
    @RequestMapping("/hello")
    public  String home() {
        return "Hello World!";
    }
}

(5)项目启动和访问

在SpringbootApplication上单击右键执行run,便可启动该Spring Boot服务;在浏览器地址栏中输入127.0.0.1:9090/hello,便能访问定义好的REST服务。运行结果如下。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v2.1.4.RELEASE)
 ......
 : Tomcat initialized with port(s): 9090 (http)
 : Starting service [Tomcat]
 : Starting Servlet engine: [Apache Tomcat/9.0.17]
 : Tomcat started on port(s): 9090 (http) with context path ''
 : Started SpringbootApplication in 1.671 seconds (JVM running for 2.154)
 ......

02

Spring Boot Application Starters

Starters是一组资源依赖描述,用于为不同的Spring Boot应用提供一站式服务,而不必像传统的Spring项目那样,需要开发人员处理服务和服务之间的复杂依赖关系。例如,如果要使用Spring的JPA功能进行数据库访问,只需要应用程序在项目中加入spring-boot-starter-data-jpa依赖即可,具体的依赖细节由Starters统一处理,不需要应用程序分别处理各个JAR包的依赖关系。常用的Starters下如表所示。

(点击图片查看大图)

03

Spring Boot的常用组件及其使用

Spring Boot的核心特点是通过Starter能快速将各个组件集成到应用中,并提供良好的操作接口。下面将简单介绍常用组件的使用。

1. Spring Boot使用MySQL

Spring Boot基于Starter能够快速将不同的服务组件集成到应用程序中。Spring Boot服务组件的集成过程分为引入Starter、设置application.properties和使用服务组件(组件会根据配置文件自动装配)3步。MySQL的具体使用如下。

(1)引入Starter。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
      <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>

(2)设置application.properties。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
spring.datasource.url=jdbc:mysql://localhost/test#数据库地址
spring.datasource.username=dbuser#数据库用户名
spring.datasource.password=dbpass#数据库密码
spring.datasource.driver-class-name=com.mysql.jdbc.Driver#数据库驱动

(3)使用服务组件。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@Component
public class MyBean {
    private final JdbcTemplate jdbcTemplate;
    @Autowired
    public MyBean(JdbcTemplate jdbcTemplate) {
        this.jdbcTemplate = jdbcTemplate;
     }
}

2. Spring Boot使用Redis

(1)引入Starter。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
      <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>

(2)设置application.properties。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#Redis数据库名称(默认为0)
spring.redis.database=0
#Redis数据库地址
spring.redis.host=172.31.19.222
#Redis数据库端口
spring.redis.port=6379
#Redis数据库密码(默认为空)
spring.redis.password=
#Redis连接池的最大连接数(使用负值表示没有限制)
spring.redis.pool.max-active=8
#Redis连接池的最大阻塞等待时间(使用负值表示没有限制)
spring.redis.pool.max-wait=-1
#Redis连接池中的最大空闲连接
spring.redis.pool.max-idle=8
#Redis连接池中的最小空闲连接
spring.redis.pool.min-idle=0

(3)使用服务组件。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@Component
public class MyBean {
    private StringRedisTemplate template;
    @Autowired
    public MyBean(StringRedisTemplate template) {
        this.template = template;
    }
}

3. Spring Boot使用MongoDB

(1)引入Starter。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId> spring-boot-starter-data-mongodb</artifactId>
</dependency>

(2)设置application.properties。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
spring.data.mongodb.uri=mongodb://user:secret@mongo1.example.com:12345,mongo
2.example.com:23456/test
#数据库的连接地址

(3)使用服务组件。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@Component
public class MyBean {
    private MongoTemplate template;
    @Autowired
    public MyBean(MongoTemplate template) {
        this.template = template;
    }
}

4. Spring Boot使用Neo4j

(1)引入Starter。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
      <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId> spring-boot-starter-data-neo4j</artifactId>
        </dependency>

(2)设置application.properties。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
spring.data.neo4j.uri=bolt://my-server:7687  #Neo4j图数据库地址
spring.data.neo4j.username=neo4j               #Neo4j图数据库用户名
spring.data.neo4j.password=secret              #Neo4j图数据库密码

(3)使用服务组件。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@Component
public class MyBean {
    private final Session session;
    @Autowired
    public MyBean(Session session) {
        this.session = session;
    }
}

5. Spring Boot使用Solr

(1)引入Starter。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
      <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId> spring-boot-starter-data-solr</artifactId>
        </dependency>

(2)设置application.properties。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#Solr数据库地址 
spring.data.solr.host: http://127.0.0.1:8080/solr/ciri_core

(3)使用服务组件。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@Component
public class MyBean {
    private SolrClient solr;
    @Autowired
    public MyBean(SolrClient solr) {
        this.solr = solr;
    }
}

6. Spring Boot使用ElasticSearch

(1)引入Starter。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
      <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId> spring-boot-starter-data-elasticsearch</artifactId>
        </dependency>

(2)设置application.properties。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#ElasticSearch数据库地址
spring.data.elasticsearch.cluster-nodes=localhost:9300

(3)使用服务组件。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@Component
public class MyBean {
    private final ElasticsearchTemplate template;
    public MyBean(ElasticsearchTemplate template) {
        this.template = template;
    }
}

7. Spring Boot使用Cassandra

(1)引入Starter。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
     <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId> spring-boot-starter-data-cassandra</artifactId>
        </dependency>

(2)设置application.properties。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#Cassandra的命名空间
spring.data.cassandra.keyspace-name=mykeyspace 
#Cassandra数据库地址
spring.data.cassandra.contact-points=cassandrahost1,cassandrahost2

(3)使用服务组件。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@Component
public class MyBean {
    private CassandraTemplate template;
    @Autowired
    public MyBean(CassandraTemplate template) {
        this.template = template;
    }
}

8. Spring Boot使用RabbitMQ

(1)引入Starter。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
      <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId> spring-boot-starter-rabbitmq </artifactId>
        </dependency>

(2)设置application.properties。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
spring.rabbitmq.host=localhost   #RabbitMQ服务地址
spring.rabbitmq.port=5672         #RabbitMQ端口号
spring.rabbitmq.username=admin   #RabbitMQ用户名
spring.rabbitmq.password=secret  #RabbitMQ密码

(3)定义服务组件。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@Component
public class MyBean {
    private final AmqpAdmin amqpAdmin;
    private final AmqpTemplate amqpTemplate;
    @Autowired
    public MyBean(AmqpAdmin amqpAdmin, AmqpTemplate amqpTemplate) {
        this.amqpAdmin = amqpAdmin;
        this.amqpTemplate = amqpTemplate;
    }
}

(4)定义队列。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@Configuration
public class QueueConf {
        //1:定义Queue实例对象,队列名称为someQueue
        @Bean(name="message")
        public Queue queueMessage() {
            return new Queue("someQueue");
        }
}

(5)发送消息。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@Component
public class MyBeanSender {
    @Autowired
    private AmqpTemplate template;
    public void send() {
    //向队列someQueue发送一条消息hello,rabbit
    template.convertAndSend("someQueue","hello,rabbit");
    }
}

(6)接收消息。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@Component
public class MyBean {
//监听和接收队列someQueue上的消息
    @RabbitListener(queues = "someQueue")
    public void processMessage(String content) {
    }
}

9. Spring Boot使用Kafka

(1)引入Starter。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
      <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId> spring-boot-starter-kafka </artifactId>
        </dependency>

(2)设置application.properties。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#Kafka服务地址
spring.kafka.bootstrap-servers=localhost:9092
#Kafka消费组
spring.kafka.consumer.group-id=myGroup

(3)发送消息。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@Component
public class MyBean {
    private final KafkaTemplate kafkaTemplate;
    @Autowired
    public MyBean(KafkaTemplate kafkaTemplate) {
        this.kafkaTemplate = kafkaTemplate;
    }
   public Response sendKafka() {
           //向Kafka的someTopic发送一条消息
            kafkaTemplate.send("someTopic", "key", message);
    }
} 

(4)接收消息。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@Component
public class MyBean {
//监听并接收someTopic上的消息
    @KafkaListener(topics = "someTopic")
    public void processMessage(String content) {
        System.out.println("message:"+ content);
    }
}

—— 完——

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-06-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 博文视点Broadview 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
2022-05微软漏洞通告
微软官方发布了2022年05月的安全更新。本月更新公布了75个漏洞,包含26个远程执行代码漏洞、21个特权提升漏洞、17个信息泄露漏洞、6个拒绝服务漏洞、4个功能绕过以及1个身份假冒漏洞,其中8个漏洞级别为“Critical”(高危),66个为“Important”(严重)。建议用户及时使用火绒安全软件(个人/企业)【漏洞修复】功能更新补丁。
火绒安全
2022/05/12
5740
2022-05微软漏洞通告
还在使用TrueCrypt?当心这两个危险漏洞
著名安全专家James Forshaw发现了TrueCrypt中的两个重要漏洞,这两个漏洞存在于TrueCrypt安装在Windows系统上的驱动程序中。此外,如果攻击者能够控制一个受限的用户账户,那么他可以利用这个安全漏洞在系统中进行权限提升。 TrueCrypt中发现两个严重漏洞 对于那些打算使用TrueCrypt软件来加密他们硬盘的Windows用户来说,这是一个很糟糕的坏消息,因为谷歌Zero项目团队的安全研究员James Forshaw在TrueCrypt中发现了两个严重漏洞。 尽管TrueC
FB客服
2018/02/06
2.8K0
还在使用TrueCrypt?当心这两个危险漏洞
深入解读MS14-068漏洞:微软精心策划的后门?
0x0 背景 初次认识该漏洞是在FreeBuf上对该漏洞的预警《漏洞预警:系统权限提升漏洞(CVE-2014-6324)影响全版本Windows服务器》: 微软今天(2014-11-18)发布了一个紧急补丁,修复了一个影响全部版本Windows服务器的严重漏洞。今天发布的MS14-068漏洞补丁用于解决Microsoft Windows Kerberos KDC漏洞(CVE-2014-6324),该漏洞允许黑客提升任意普通用户权限成为域管理员(Domain Admin)身份。也就是说,你在一台普通域用户的机
FB客服
2018/02/05
1.8K0
深入解读MS14-068漏洞:微软精心策划的后门?
最新XSS 0day漏洞来袭,影响最新版本IE浏览器(含POC)
安全研究人员近日发现了一个严重的XSS 0day漏洞,该漏洞可影响最新版本的IE浏览器,将用户暴露在被攻击和身份盗窃的危险之中。 漏洞信息 该漏洞能够影响完全修复过的IE浏览器,黑客可以利用该漏洞盗取用户的敏感数据(例如登录凭证),并能向浏览器会话注入恶意内容。 攻击者利用该XSS漏洞可以绕过同源策略(SOP)。同源策略是web应用中一个基本的安全模型,用来保护用户的浏览体验。 同源策略在维基百科上的解释为: “该策略允许同一站点(系统、主机名和端口号的组合)页面上的脚本访问彼此的DOM,而没有特定的限
FB客服
2018/02/05
6810
最新XSS 0day漏洞来袭,影响最新版本IE浏览器(含POC)
微软竟然上传用户磁盘加密密钥到微软服务器中
如果你是用微软账号登录Windows 10,那你得知道,你的电脑会自动上传你的加密密钥。 新的Windows电脑会默认开启自带的磁盘加密功能,保障用户数据,防止电脑被偷或遗失。 但要警惕的是,这个磁盘加密功能跟BitLocker是有区别的,BitLocker允许用户选择是否要在Windows服务器上备份加密密钥。 这个安全功能从Windows 8.1开始就默认开启了,但是如果用户遗失了加密密钥怎么办呢? 微软会保留一份恢复密钥的副本,这引起了广泛的争议,在许多专家们看来,这会导致隐私问题。 The In
FB客服
2018/02/07
2.5K0
微软竟然上传用户磁盘加密密钥到微软服务器中
腾讯安全推出御界NDR「横移检测版」,全面检测域渗透攻击
由于企业内部资产及用户量庞大,大多数企业选择 AD 域作为用户和主机统一管理的方案,然而由于防护体系不完善,攻击者往往通过攻击域控进而攻击企业内部核心设备,获取企业机密数据。
腾讯安全
2021/11/10
1.5K0
Google发现Windows 8.1 0day漏洞并公布漏洞验证程序(PoC)
Google安全研究人员发现了一枚Windows 8.1权限提升漏洞,攻击者可以借此漏洞修改系统内容甚至完全控制受害者计算机。目前Google已经公布了漏洞验证程序(PoC)。 PoC已经公布,Windows 8.1受影响 Google安全研究人员James Forshaw已经提供了漏洞验证程序(PoC)并称这个漏洞他只在Windows 8.1下此时通过,并不清楚Windows 7等其他低版本Windows是否受到影响。 早在2014年9月30日James就在Google安全团队邮件列表上提交了这个漏
FB客服
2018/02/05
7070
Google发现Windows 8.1 0day漏洞并公布漏洞验证程序(PoC)
微软修复8个安全漏洞,包括谷歌披露的0day漏洞
微软日前发布了最新安全补丁,修复内容包括谷歌90天前提交的0day漏洞(微软本计划2月修复,但迫于谷歌不愿违背其90天公布漏洞详情的策略只好提前发布补丁)等8个安全漏洞。其中Windows Telnet服务远程代码执行漏洞被微软标记为了高危级别,其余7个都是重要级别。 TS WebProxy Windows组件目录追踪漏洞 微软指出MS15-004修复的是TS WebProxy Windows组件上的目录追踪漏洞,它须结合其他安全漏洞才能远程执行代码。 如果攻击者利用其他的一些漏洞通过IE浏览器运行任意
FB客服
2018/02/05
8970
微软修复8个安全漏洞,包括谷歌披露的0day漏洞
所有雷电接口电脑5分钟内即可破解,漏洞无法软件修复,微软Surface笑了
在好莱坞的电影里,无论电脑加密水平多么高,黑客只需几分钟就能拷贝走你电脑里所有的东西,看起来似乎不太现实。
量子位
2020/05/19
6070
所有雷电接口电脑5分钟内即可破解,漏洞无法软件修复,微软Surface笑了
国家发改委对“数据基础制度观点”征集意见、37GB微软源代码遭黑客泄露、戴尔BIOS漏洞影响数百万系统|网络安全周报
2022年3月21日至3月25日共收录全球网络安全热点9项,涉及微软、雀巢、戴尔等。
腾讯安全
2022/03/28
5980
国家发改委对“数据基础制度观点”征集意见、37GB微软源代码遭黑客泄露、戴尔BIOS漏洞影响数百万系统|网络安全周报
市面上多种流行的固态硬盘产品存在硬盘加密机制绕过漏洞
近期,荷兰奈梅亨拉德堡德大学研究人员发现,市面上多种流行的固态硬盘( SSD drive)存在加密机制可绕过漏洞,无需密码即可绕过硬盘加密措施,从而获取到硬盘中的数据内容。
FB客服
2018/12/20
1.6K0
市面上多种流行的固态硬盘产品存在硬盘加密机制绕过漏洞
Kerberos Bronze Bit攻击(CVE-2020-17049)
Kerberos Bronze Bit攻击(CVE-2020-17049)是国外netspi安全研究员Jake Karnes发现的漏洞
黑白天安全
2021/02/26
7370
Kerberos Bronze Bit攻击(CVE-2020-17049)
加密钱包再爆严重漏洞,看我怎么“榨干”你的钱包
SaleemRashid 是一名来自英国的十五岁少年,而这位年少有为的同学成功地在Ledger公司所生产的加密货币硬件钱包Ledger Nano S中发现了一个严重的安全漏洞。
FB客服
2018/07/30
7340
加密钱包再爆严重漏洞,看我怎么“榨干”你的钱包
漏洞预警:“毒液(VENOM)”漏洞影响全球数百万虚拟机安全(附POC)
CrowdStrike公司安全研究员称,一个名为“毒液(VENOM)”的QEMU漏洞使数以百万计的虚拟机处于网络攻击风险之中,该漏洞可以造成虚机逃逸,威胁到全球各大云服务提供商的数据安全。QEMU是一个指令级模拟器的自由软件实现,被广泛用于各大GNU/Linux发行版。 漏洞原理 这个名为毒液(VENOM,编号CVE-2015-3456)的安全漏洞威胁到了整个安全行业,可以造成虚拟机逃逸。QEMU是一个指令级模拟器的自由软件实现,被广泛用于各大GNU/Linux发行版(包括Debian, Gentoo,
FB客服
2018/02/06
1.5K0
漏洞预警:“毒液(VENOM)”漏洞影响全球数百万虚拟机安全(附POC)
利用忘记密码功能绕过Windows auth ; BitLocker
为了降低用户使用计算时忘记登录密码而产生额外的损失,许多操作系统都为用户提供了一种根据提示信息来重置密码的功能。但这其实并不安全,大多数的密码重置机制的登录界面只是一个与登录过程相同的锁定浏览器。因此,它们通常不会对服务器进行身份验证,有时甚至不使用加密传输。此外对于加密的笔记本电脑,如果只使用了BitLocker而没有启用PIN,加密和本地认证机制也可以被完全绕过。 当用户点击密码重置链接时,笔记本电脑将尝试查找密码重置Web服务器的IP地址,并请求密码重置页面。 绕过原理 黑客可能采用ARP欺骗
FB客服
2018/03/01
1.8K0
利用忘记密码功能绕过Windows auth ; BitLocker
敞开的地狱之门:Kerberos协议的滥用
作者 Rabbit_Run 微软的活动目录默认使用Kerberos处理认证请求。在BlackHat 2014上神器Mimikatz的作者剖析了微软实现的Kerberos协议中存在的安全缺陷,并通过神器Mimikatz新添功能“Golden Ticket”展示了如何利用这些安全缺陷,让Kerberos把守的地狱之门为大家敞开。 一、快速介绍 Kerberos 是Windows活动目录中使用的客户/服务器认证协议,为通信双方提供双向身份认证。相互认证或请求服务的实体被称为委托人(principal)。参与的中央
FB客服
2018/02/05
2.6K0
敞开的地狱之门:Kerberos协议的滥用
Netlogon(CVE-2020-1472)讲解及复现
2020年08月12日,Windows官方 发布了 NetLogon 特权提升漏洞 的风险通告,该漏洞编号为 CVE-2020-1472,漏洞等级:严重,漏洞评分:10分。
鸿鹄实验室
2021/03/31
2.6K0
Netlogon(CVE-2020-1472)讲解及复现
微软曝“永恒之黑”漏洞,或成网络攻击“暗道”
随着网络技术不断升级,网络安全形势日益严峻。近年来,数据泄漏、网络敲诈等各类网络安全事件频发,给企业及社会发展带来严重影响。
腾讯安全
2020/03/19
1.6K0
微软曝“永恒之黑”漏洞,或成网络攻击“暗道”
安全问题无处不在:从非托管桌面开始
未修补和不受监控的Windows桌面是一个开放的大门,可以让病毒和木马潜入您的网络。除了恶意软件,这些桌面还可以作为恶意用户窃取或删除关键公司数据的窗口。如果怀有恶意的黑客可以访问您的计算机,他们将尝试不同的选项来窃取公司数据或借助您的网络以寻找更大的收获。
Happiness And Benefit
2018/08/13
1.4K0
Active Directory中获取域管理员权限的攻击方法
攻击者可以通过多种方式获得 Active Directory 中的域管理员权限。这篇文章旨在描述一些当前使用的比较流行的。此处描述的技术“假设破坏”,即攻击者已经在内部系统上站稳脚跟并获得了域用户凭据(也称为后利用)。
Khan安全团队
2022/01/24
5.4K0
推荐阅读
相关推荐
2022-05微软漏洞通告
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验