【面试突击】Java 项目安全面试实战(下)

这篇具有很好参考价值的文章主要介绍了【面试突击】Java 项目安全面试实战(下)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

🌈🌈🌈🌈🌈🌈🌈🌈
欢迎关注公众号(通过文章导读关注:【11来了】),及时收到 AI 前沿项目工具及新技术的推送!

在我后台回复 「资料」 可领取编程高频电子书
在我后台回复「面试」可领取硬核面试笔记

文章导读地址:点击查看文章导读!

感谢你的关注!

【面试突击】Java 项目安全面试实战(下),面试突击,面试,java,安全,CSRF,DDoS,TCP三次握手,文件上传安全
🍁🍁🍁🍁🍁🍁🍁🍁

CSRF 攻击

CSRF(Cross-Site Request Forgery,跨站请求伪造)是一种网络攻击,攻击者利用用户的登录状态发起未经授权的请求,用于查询用户数据、发起交易等等

攻击者可以利用 XSS 跨站点脚本攻击,获取用户 Cookie,再利用 Postman 发送跨站点伪造请求

CSRF 攻击防护措施:

  • 防止 Cookie 被窃取:将网站的 Cookie 设置 HttpOnly 属性,禁止被恶意的 js 脚本窃取 Cookie 信息
  • 随机 Token:每次返回一个页面给用户时,都生成一个随机 token 附加在页面的隐藏元素中,同时在 Redis 中再存储一份,当发送请求时,附加上随机 Token,验证通过才可以发送请求,这样如果伪造请求,不知道随机 Token 是什么,也就无法伪造了
  • 验证码:页面提交时,使用图形滑动验证码认证,可以避免伪造请求
  • Referer 请求头:Http 请求里有一个 Referer 请求头,带有这个请求的来源,服务端可以验证一下这个请求是不是从自己的页面里来的,如果是的话才执行,否则就拒绝执行

用户上传文件,可能会遭到什么样的黑客攻击

如果我们的网站 允许别人上传文件,那么文件可能是可执行的脚本,可能是病毒文件,其实这个是非常危险的,如果是脚本的话,可能会在服务器执行,搞很多破坏,比如黑客黑掉你的服务器,进行勒索之类的

比如攻击者将自己的文件后缀改为 .jpg、.txt 之后进行上传,但是这个文件其实是病毒文件,通过病毒文件可以连接数据库等等,做许多危害系统的操作

上传文件攻击的防护措施

  • 限制上传文件类型:只能上传指定的文件类型,并且限制文件的大小,还要对文件重命名,不能仅仅靠后缀来判断文件类型,还要通过文件二进制数据开头的 magic number(魔数,用于标识文件类型) 来判断文件类型

    比如 JPEG 的魔数为:FFD8FF,PNG 文件的魔数为:89504E47

  • 压缩上传文件:压缩后,可以破坏原来的文件结构,避免文件在服务器执行

DDoS 攻击

DDoS(Distributed Denial of Service,分布式拒绝服务攻击)是一种网络攻击手段,其目的是通过大量的流量或请求来使目标服务器或网络资源不堪重负,从而导致正常用户无法访问这些资源

简单来说,就是给你的服务器发送大量的请求,导致你的服务器线程资源、网络资源、CPU 资源等等全部被占满,导致其他用户无法正常使用

Dos 攻击是一对一的,攻击者通过一台高性能服务器来拼命地给你的网站发送请求,这个很好解决,通过限制 IP 即可

DDoS 是攻击者控制大量的机器,这些机器都被植入木马给控制了,也就是所谓的 肉鸡,使用大量肉鸡给你的网站发送大量请求,导致网站的服务器瘫痪

DDoS 攻击的防护

个人很难防护,一般都是购买云厂商的安全服务来解决

DDoS 攻击的方式:

  • 基于 SYN Flood 的 DDoS 攻击

主要利用了 TCP 三次握手的特性来攻击,TCP 三次握手流程是(TCP 三次握手详细参考):

1、客户端发送 SYN 请求建立连接

2、服务器收到 SYN 后,返回客户端 SYN+ACK 表示请求接收,等待客户端再次返回 ACK

3、客户端收到服务端发回的 SYN+ACK,返回一个 ACK 给服务端,连接被成功建立

服务端在返回 SYN+ACK 给客户端之后,会给该客户端预留一部分资源,等待与客户端建立连接,那么攻击者就会通过大量机器去和服务端建立连接,但是并不给服务端发送第三次的 ACK,导致服务端建立了大量的半连接在等待列表中,最终资源耗尽

【面试突击】Java 项目安全面试实战(下),面试突击,面试,java,安全,CSRF,DDoS,TCP三次握手,文件上传安全

  • 基于 DNS Query Flood 的 DDoS 攻击

这种方式利用DNS(域名系统)服务的特性来消耗目标服务器的资源。这种攻击的基本原理是向目标 DNS 服务器发送大量的 DNS 查询请求,从而占用其带宽和处理能力,导致正常用户无法获得 DNS 解析服务

  • 基于 HTTP Flood 的 DDoS 攻击

这种方式专门针对 Web 服务器的 HTTP 服务。攻击者通过发送大量的 HTTP 请求来消耗服务器的资源,导致正常用户无法访问网站

攻击者通过控制大量肉鸡去给服务器发送大量 HTTP 请求,Web 服务器消耗大量资源对大量 HTTP 请求解析,最终导致 Web 服务器 CPU 过载、内存耗尽、网络带宽打满等情况而瘫痪

比如对于 Nginx 、Tomcat 这两个 Web 服务器来说,都是一个进程启动多个线程来并发处理 HTTP 请求,当 HTTP 请求数量很大,就会导致 Web 服务器瘫痪文章来源地址https://www.toymoban.com/news/detail-823542.html

到了这里,关于【面试突击】Java 项目安全面试实战(下)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 全面上新!阿里 2023 版(Java 岗)面试突击手册,Github 已标星 37K

    程序员面试背八股,几乎已经是互联网不可逆的一个形式了。自从面试**八股文火了之后,网上出现了不少 Java 相关的面试题,很多朋友盲目收集背诵,**但网上大部分的面试题,大多存在这几个问题: 第一,未必系统全面;第二,光有题没有答案解析;第三虽然资料不错,

    2023年04月11日
    浏览(54)
  • 2023最新版Java 面试突击手册开源(涵盖 p5-p8 技术栈)

    前言: 本文收集整理了各大厂常见面试题N道,你想要的这里都有内容涵盖:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、Linux 等技术栈,希望大家都能找到适合自己的公司,开开心心的撸代码。 目录: 看面试题可以是

    2024年02月08日
    浏览(64)
  • 【面试突击】网络通信面试实战

    🌈🌈🌈🌈🌈🌈🌈🌈 欢迎关注公众号(通过文章导读关注:【11来了】),及时收到 AI 前沿项目工具及新技术的推送! 在我后台回复 「资料」 可领取 编程高频电子书 ! 在我后台回复「面试」可领取 硬核面试笔记 ! 文章导读地址:点击查看文章导读! 感谢你的关注!

    2024年01月23日
    浏览(35)
  • 【项目实战】Java中的安全管理器SecurityManager入门介绍

    Java中的一个安全管理器 一个允许应用程序实现安全策略的类。 应用程序可以允许或不允许该操作。 通过SecurityManager,可以限制Java应用程序对以下资源的访问: 文件系统:包括读、写、执行等操作。 网络:包括建立连接、发送和接收数据等操作。 反射:包括调用私有方法

    2024年02月16日
    浏览(43)
  • 面试:前端安全之XSS及CSRF

    XSS攻击全称跨站脚本攻击(Cross Site Scripting); CSRF(Cross-site request forgery)跨站请求伪造,也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者XSRF;是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。跟跨网站脚本(XSS)相比,XSS 利用的是用户

    2024年02月16日
    浏览(47)
  • 前端面试:【XSS、CSRF、CSP】Web安全的三大挑战

    嗨,亲爱的Web开发者!在构建现代Web应用时,确保应用的安全性至关重要。本文将深入探讨三个常见的Web安全威胁:XSS(跨站脚本攻击)、CSRF(跨站请求伪造攻击)和CSP(内容安全策略),以帮助你了解并应对这些威胁。 1. XSS(跨站脚本攻击): XSS是一种攻击方式,攻击者

    2024年02月11日
    浏览(42)
  • Java面试题-UDP\TCP\HTTP

    (1)UDP是 无连接的 :发送数据之前不需要像TCP一样建立连接,也不需要释放连接,所以减少了发送和接收数据的开销 (2)UDP 使用尽最大努力交付:即不保证可靠交付 (3) UDP是面向报文的。UDP在发送数据时会将数据划分为一个个 报文 (既不合并,也不分拆),每个报文

    2024年02月08日
    浏览(38)
  • Java EE 突击 14 - Spring AOP

    这个专栏给大家介绍一下 Java 家族的核心产品 - SSM 框架 JavaEE 进阶专栏 Java 语言能走到现在 , 仍然屹立不衰的原因 , 有一部分就是因为 SSM 框架的存在 接下来 , 博主会带大家了解一下 Spring、Spring Boot、Spring MVC、MyBatis 相关知识点 并且带领大家进行环境的配置 , 让大家真正用好

    2024年02月11日
    浏览(43)
  • Java EE 突击 9 - Spring Boot 日志文件

    这个专栏给大家介绍一下 Java 家族的核心产品 - SSM 框架 JavaEE 进阶专栏 Java 语言能走到现在 , 仍然屹立不衰的原因 , 有一部分就是因为 SSM 框架的存在 接下来 , 博主会带大家了解一下 Spring、Spring Boot、Spring MVC、MyBatis 相关知识点 并且带领大家进行环境的配置 , 让大家真正用好

    2024年02月13日
    浏览(48)
  • Java实战:Netty+SpringBoot打造TCP长连接通讯方案

    本文将详细介绍如何使用Netty和SpringBoot来打造一个高性能的TCP长连接通讯方案。我们将从Netty和SpringBoot的基本概念讲起,然后逐步介绍如何整合这两个框架来实现TCP长连接通讯。通过阅读本文,我们将了解到如何利用Netty的高性能和SpringBoot的便捷性来构建一个稳定、高效的

    2024年04月10日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包