2024年即将结束,先来个灵魂三连问:
年初定的目标完成多少了?
薪资涨了吗?
女朋友找到了吗?
算了,不扎大家的心了,哈哈哈哈。

回到正题,今天给大家汇总整理了496道网络安全岗位的高频面试题,并且这些面试题我都梳理出了相应的答案,如果你明年有面试跳槽的打算,那一定一定不能错过。

一、安全基础
01、TCP如何保证可靠传输?
1)三次握手。
2)将数据截断为合理的长度。应用数据被分割成 TCP 认为最适合发送的数据块(按字节编号,合理分
片) ;
3)超时重发。当 TCP 发出一个段后,它启动一个定时器,如果不能及时收到一个确认就重发 ;
4)确认应答:对于收到的请求,给出确认响应;
5)校验和:校验出包有错,丢弃报文段,不给出响应;
6)序列号:对失序数据进行重新排序,然后才交给应用层;
7)丢弃重复数据:对于重复数据 , 能够丢弃重复数据;
8)流量控制。TCP 连接的每一方都有固定大小的缓冲空间。TCP 的接收端只允许另一端发送接收端缓
冲区所能接纳的数据。这将防止较快主机致使较慢主机的缓冲区溢出;
9)拥塞控制。当网络拥塞时,减少数据的发送。
l校验和
l序列号
l确认应答
l超时重传
l连接管理
l流量控制
l拥塞控制
02、HTTPS 的实现原理
1)Client 发送random1+对称加密套件列表+非对称加密套件列表;
2)Server收到信息,选择对称加密套件+非对称加密套件,并和random2+证书(公钥在证书中)一起返回;
3)Client验证证书有效性,并用random1+random2生成pre-master,通过服务器公钥加密+浏览器确认,发送给Server;
4)Server收到pre-master,根据约定的加密算法对random1+random2+pre-master(解密)生成master-secret,然后发送服务器确认;
5)Client收到生成同样的master-secert,对称加密秘钥传输完毕;
03、3389无法连接的几种情况
端口被修改、防护拦截、处于内网(需进行端口转发);
04、ARP欺骗原理
每台主机都有一个ARP缓存表,缓存表中记录了IP地址与MAC地址的对应关系,而局域网数据传输依靠的是MAC地址。在ARP缓存表机制存在一个缺陷,就是当请求主机收到ARP应答包后,不会去验证自己是否向对方主机发送过ARP请求包,就直接把这个返回包中的IP地址与MAC地址的对应关系保存进ARP缓存表中,如果原有相同IP对应关系,原有的则会被替换。这样攻击者就有了偷听主机传输的数据的可能。
05、ARP欺骗防护
1)在主机绑定网关MAC与IP地址为静态(默认为动态),命令:arp -s网关IP网关MAC;
2)在网关绑定主机MAC与IP地址
3)使用ARP防火墙
06、syn洪流的原理
伪造大量的源IP地址,分别向服务器端发送大量的SYN包,此时服务器端会返回SYN/ACK包,因为源地址是伪造的,所以伪造的IP并不会应答,服务器端没有收到伪造IP的回应,会重试3~5次并且等待一个SYNTime(一般为30秒至2分钟),如果超时则丢弃这个连接。攻击者大量发送这种伪造源地址的SYN请求,服务器端将会消耗非常多的资源(CPU和内存)来处理这种半连接,同时还要不断对这些IP进行SYN+ACK重试。最后的结果是服务器无暇理睬正常的连接请求,导致拒绝服务。
07、CC攻击原理
对一些消耗资源较大的应用页面不断发起正常的请求,以达到消耗服务端资源的目的。
08、什么是同源策略
同源策略限制不同源对当前document的属性内容进行读取或设置。不同源的区分:协议、域名、子域名、IP、端口,以上有不同时即不同源。
09、TCP三次握手的过程以及对应的状态转换
1)客户端向服务器端发送一个SYN包,包含客户端使用的端口号和初始序列号X;
2)服务器端收到客户端发送来的SYN包后,向客户端发送一个SYN和ACK者置位的TCP报文,包含确认号xx1和服务器端的初始序列号y;
3)客户端收到服务器端返回的SYNSACK报文后,向服务器端返回一个确认号为yy1、序号为xx1的ACK报文,一个标准的TCP连接完成。
10、TCP和UDP协议区别
TCP 协议和 UDP 协议特性区别总结:
1)TCP 协议在传送数据段的时候要给段标号;UDP 协议不需要;
2)TCP 协议可靠;UDP 协议不可靠;
3)TCP 协议是面向连接;UDP 协议采用无连接;
4)TCP 协议负载较高,采用虚电路;UDP 采用无连接;
5)TCP 协议的发送方要确认接收方是否收到数据段(3 次握手协议);
6)TCP 协议采用窗口技术和流控制;
当数据传输的性能必须让位于数据传输的完整性、可控制性和可靠性时,TCP协议是当然的选择。当强调传输性能而不是传输的完整性时,如:音频和多媒体应用,UDP 是最好的选择。在数据传输时间很短,以至于此前的连接过程成为整个流量主体的情况下,UDP 也是一个好的选择,如:DNS 交换。把 SNMP建立在 UDP 上的部分原因是设计者认为当发生网络阻塞时,UDP 较低的开销使其有更好的机会去传送管理数据。TCP 丰富的功能有时会导致不可预料的性能低下,但是我们相信在不远的将来,TCP 可靠的点对点连接将会用于绝大多数的网络应用。
二、Web安全
01、条件竞争漏洞原理与举例
条件竞争漏洞是一种服务器端的漏洞,由于服务器端在处理不同用户的请求时是并发进行的,因此如果并发处理不当或相关操作逻辑顺序设计的不合理时,将会导致此类问题的发生。
举个例子、很多web程序都会有上传文件的功能,头像和图像等,服务器肯定会检查文件是否满足条件,不满足的要被删除。那么问题就在于,如果我们采用大量的并发请求,就传递一个生成恶意webshell的图像,访问它就可以生成webshell。
在上传完成和安全检查完成并删除它的间隙,攻击者通过不断地发起访问请求的方法访问了该文件,该文件就会被执行,并且在服务器上生成一个恶意shell的文件。
至此该文件的任务就已全部完成.至干后面发现它是一个不安全的文件并把它册除的问题都已经不重要了,因为攻击者已经成功地在服务器中植入了一个shel文件,后续的一切就都不是问题了。
02、如何验证存在xss漏洞
XSS漏洞的原理是:插入语句、改变结果、操纵数据;
本质是:用户输入的html语句直接输出,包括了使用不正确的方法去验证挖掘XSS的第一步是找输入,也就是用户可以操控代码的位置;第二步是找输出,也就是找到第一步用户输入的代码在网页的何处地方进行了输出;第三步:构造payload,通过查看源代码,构建出payload。
如代码输出位置在<td>test</td>,即可构建出payload test</td><svg/onload=console.log(1)><td>,最后输出结果为<td>test</td><svg/onload=console.log(1)><td></td>
03、如何验证存在任意文件下载的漏洞
一些网站由于业务需求,往往需要提供文件查看或文件下载功能,但若对用户查看或下载的文件不做限制,则恶意用户就能够查看或下载任意敏感文件,这就是文件查看与下载漏洞。
利用条件:存在读文件的函数;读取文件的路径用户可控且未校验或校验不严;
输出了文件内容。
任意文件下载和任意文件读取有着相似的地方:就是都需要路径,例如
index.php?f=file:///etc/passwd,index.php?f=../index.php
04、Web短信重置密码可能存在哪几种绕过方式
1)短信验证码可爆破;
2)短信验证码显示在获取验证码请求的回显中;
3)注册手机号及短信验证码未进行匹配性验证;
4)用户名、手机号码、短信验证码三者没有进行匹配性验证;
5)短信验证码的验证在本地客户端进行验证;
6)重置步骤未进行校验;
7)重置请求未验证身份;
8)登录成功修改密码功能平行越权;
9)未校验身份信息的唯一标识cookie信息。
05、XSS有哪几种类型
反射型XSS(也叫非持久型):恶意JavaScript脚本属干用户发送给网站请求中的一部分,随后网站又将这部分返回给用户,恶意脚本在页面中被执行。一般发生在前后端一体的应用中,服务端逻辑会改变最终的网页代码。
基于DOM的XSS:这种攻击不需要经过服务器,网页本身的JavaScript也是可以改变HTML的,黑客正是利用这一点来实现插入恶意脚本。
存储型XSS(也叫持久型XSS):黑客将恶意JavaScript脚本长期保存在服务端数据库中,用户一旦访问相关页面数据,恶意脚本就会被执行。常见于搜索、微博、社区贴吧评论等。
区别:反射型的XSS的恶意脚本存在URL里,存储型XSS的恶意代码存在数据库里。而基于DOM型的XSS攻击中,取出和执行恶意代码由浏览器端完成,唐于前端JavaScript自身的安全漏洞,其他两种XSS都属于服务端的安全漏洞。
06、黑客可以通过XSS攻击做哪些事
盗取用户Cookie、未授权操作、修改DOM、刷浮窗广告、发动XSS蠕虫攻击劫持用户行为,进一步渗透内网。
07、XSS攻击如何进行防护
1)将HTML元素内容、属性以及URL请求参数、CSS值进行编码;
2)当编码影响业务时,使用白名单规则进行检测和过滤;
3)使用W3C提出的CSP(Content Security Policy,内容安全策略),定义域名白名单;
4)设置Cookie的HttpOnly属性。
08、什么是CSRF攻击
CSRF英文全称是Cross-site request forgery,又称为“跨站请求伪造”,就是黑客引诱用户打开黑客的网站,利用用户的登陆状态发起跨站请求。
降维解释:攻击者诱导受害者进入第三方网站,在第三方网站中,向被攻击网站发送跨站请求。利用受害者在被攻击网站已经获取的注册凭证,绕过后台的用户验证,达到冒充用户对被攻击的网站执行某项操作的目的。
09、CSRF攻击一般怎么实现
1)最容易实现的是Get请求,一般进入黑客网站后,可以通过设置img的src属性来自动发起请求;
2)在黑客的网站中,构造隐藏表单来自动发起Post请求;
3)通过引诱链接诱惑用户点击触发请求,利用a标签的href。
10、应该如何防范CSRF攻击
1)针对实际情况,设置关键Cookie的SameSite属性为Strict或Lax;
2)服务端验证请求来源站点(Referer、Origin);
3)使用CSRF Token,服务端随机生成返回给浏览器的Token,每一次请求都会携带不同的CSRF Token;
4)加入二次验证(独立的支付密码)。
由于内容篇幅的原因,剩下的就不在这里进行展示了,需要的小伙伴可以公众号后台发送关键词【面试】领取。
作为一个网络安全初学者,大家在学习过程中难免会遇到各种各样的问题,比如:
即将参加CTF比赛,不知道如何在比赛中取得好成绩;
校招面试就要开始了,不知道如何拿到满意的offer;
想挖企业SRC赚钱,但一直挖不到该怎么办;
想参加护网赚钱,但苦于没有学习方向和面试机会;
想转行从事网络安全的工作,不知道需要掌握哪些技术点;
如果你也有上面这些问题,那一定一定不能错过我整理的这套网络安全零基础资源包,资源包里的内容包含:
网络安全/信息安全零基础学习路线图
150节网络安全攻防技术视频教程
200+网络安全/信息安全pdf书籍
30+护网红蓝对抗技术文档
100+CTF夺旗赛必备工具包
历年CTF夺旗赛真题解析
50份安全攻防面试真题及答案
20份安全工程师简历模版
最最最重要的是,我整理的这套网络安全/信息安全零基础资源包,粉丝都可以直接抱走。重要的事情说三遍,我整理的这套资源包不收费!


全套网络安全/信息安全学习资源包
扫描下方二维码免费领取

方向不对,努力白费!对于刚接触网络安全的同学,我帮大家准备了详细的零基础学习路线图。
经过几千位同学的反馈,这套路线图可以说是最科学、最系统的学习路线,大家跟着这个大的方向学习准没问题。

考虑到很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,内容从计算机网络、HTML、MySQL数据库等基础知识点开始讲解,内容由浅入深、循序渐进,确保每一位同学都听得懂、学得会、用得上。

除了看视频学习,我们也能通过书籍文档快速上手掌握某个具体的技术,这也是我现在学习新知识最常用的方式。

受限于篇幅的原因,剩下的内容就不在这里一一展示了,大家如果需要的话,可以扫描下方二维码领取!(不收费、不收费、不收费)
全套网络安全/信息安全学习资源包
扫描下方二维码立即领取