渗透测试面试题

发布时间 2023-08-15 17:35:04作者: QxrwQ

1. 什么是SQL注入攻击?

SQL注入是一种网络安全漏洞,攻击者通过在应用程序输入中插入恶意的数据库查询代码,从而获取未授权的访问、泄露数据或对数据库进行修改的能力。

2. 什么是XXS攻击?

XXS攻击是指攻击者在应用程序中注入恶意的脚本代码,使得这些代码被其他用户在浏览器上执行。同常分为3类:1、存储型XXS:攻击者将恶意脚本代码存储在应用程序中,当用户访问该代码的页面时,恶意代码会从数据库中取出并在用户浏览器执行,从而达到攻击的目的。2、反射型XXS:攻击者通过诱导用户点击包含恶意代码的恶意链接,将恶意代码附在URL参数中。服务器将恶意代码反射回用户的浏览器,用户点击链接后,恶意代码会被执行。3、DOM-based XSS:攻击者通过修改页面的DOM,将恶意脚本注入到页面中。这种类型的XXS攻击并不涉及服务器的反射,而是直接在客户端上执行恶意代码。

3. 什么是CSRF攻击

CSRF(cross-Site Request Forgery,CSRF)是一种网络安全漏洞,攻击者通过欺骗用户在已经登录的状态下执行未经授权的操作,从而在用户不知情的情况下执行恶意请求。这种攻击利用了用户的身份验证状态,通过操纵用户的浏览器,发送伪造的请求到目标网站。

4. 什么是文件上传漏洞

文件上传漏洞是指攻击者通过上传恶意文件来利用应用程序漏洞,从而可能执行恶意操作、数据泄露或远程代码执行等。

5. DDOS攻击

DDoS攻击是通过多个设备协同发动大量请求,淹没目标服务器或网络,导致服务不可用。

6. OSI 的七层模型都有哪些?(负责通信与数据传输)

  1. 物理层:负责传输物理位,定义连接器、电压等硬件特性,处理传输介质和信号传输的细节。
  2. 数据链路层(Data Link Layer): 提供点对点连接和可靠的数据传输,将原始比特流转换为帧,并负责流量控制、错误检测和纠正。
  3. 网络层(Network Layer): 处理路由和转发数据包,负责网络拓扑、寻址、路由选择等,使数据能够跨越不同网络传输。
  4. 传输层(Transport Layer): 提供端到端的通信,负责数据分段、流量控制、错误恢复等功能,同时也定义了不同协议的端口号。
  5. 会话层(Session Layer): 负责建立、管理和终止会话连接,管理数据交换的顺序和同步。
  6. 表示层(Presentation Layer): 负责数据的格式转换、加密解密、压缩解压缩等,确保数据在不同系统间的交换能够被正确解释。
  7. 应用层(Application Layer): 提供应用程序和网络服务之间的接口,为用户提供各种网络功能,如电子邮件、文件传输、远程访问等。

7. 重要协议分布图

应用层:
    HTTP/HTTPS:超文本传输协议,用于Web浏览器和服务器之间传输数据。
   SMTP/POP3/IMAP: 用于电子邮件的协议,分别用于发送、接收和管理邮件。
   DNS: 域名系统,将域名转换为IP地址。
   FTP: 文件传输协议,用于文件传输。
   SSH: 安全外壳协议,用于加密远程访问。
表示层:
   SSL/TLS: 安全套接字层/传输层安全,用于加密通信。
   JPEG/GIF:图片压缩格式
会话层:
   NetBIOS: 用于在局域网中进行计算机间通信。
   RPC: 远程过程调用,用于在网络上调用远程计算机的程序。
传输层:
   TCP: 传输控制协议,提供可靠的、面向连接的通信。
   UDP: 用户数据报协议,提供无连接的通信。
网络层:
    IP: 互联网协议,用于在网络中传递数据包。
    ICMP: 互联网控制消息协议,用于错误报告和网络管理
数据链路层:
    Ethernet: 以太网协议,用于局域网通信。
    PPP: 点对点协议,用于串行通信。
物理层:
   网络硬件接口,如网线、光纤等。

8 arp协议的工作原理?

ARP工作原理类似于计算机在局域网内寻找目标IP地址对应的MAC地址,通过广播询问和目标回应的方式,建立IP地址与物理硬件地址之间的映射,以便正确传递数据。

9. 什么是RARP?工作原理是什么?

RARP(Reverse Address Resolution Protocol)是一种过时的网络协议,用于将物理硬件地址(MAC地址)转换为对应的IP地址。工作原理为:
1.启动阶段:在启动计算机时,如果它没有配置IP地址,它会向本地网络广播一个RARP请求分配一个IP地址。
2. 分配IP地址:在网络中,有一个RARP服务器(也称为RARP解析器)专门用于为设备分配IP地址。当RARP服务器收到设备的请求帧时,它会查找设备的MAC地址,并分配一个对应的IP地址。
3. 配置IP地址:设备收到RARP响应帧后,将分配的IP地址设置为自己的IP地址,并可以开始进行IP网络通信。

10. dns是什么?dns的工作原理

DNS(Domain Name System,域名系统)是一个分布式的命名系统,用于将人们可读的域名转换为计算机能够理解的IP地址。工作原理为:\

  1. 本地查找:计算机首先检查自己的存储,看是否之前已经查过这个域名的IP地址。
  2. 询问本地DNS服务器:如果本地没有,计算机会询问你的网络供应商提供的本地DNS服务器。这个服务器可能有答案,也可能需要向其他服务器询问。
  3. 递归查询:本地DNS服务器开始向其他DNS服务器逐级询问,从根DNS服务器开始,然后到顶级域DNS服务器,再到权威DNS服务器。每一步都逐步缩小范围,直到找到目标域名的IP地址。
  4. 缓存:如果某个DNS服务器找到了域名的IP地址,它会将这个信息保存在缓存中,以便以后更快地回答类似的查询。
    最终,当正确的IP地址找到后,计算机就可以连接到对应的网站,实现互联网上的通信。

11. rip协议是什么? rip的工作原理

RIP是一种帮助路由器找到最佳路径传送数据的方法,它每隔一段时间告诉邻居路由器怎么去其他地方,距离短的路径被选为最佳路径。如果某个路径出问题,会告诉邻居不要走这个路径。这样路由器就能在网络中传递数据了。
工作原理:

  1. 路由表维护: 每个路由器维护一个路由表,其中包含它能够到达的其他网络以及距离(通常以跳数表示)信息。
  2. 定期更新: 路由器周期性地将自己的路由表信息广播给相邻的路由器,这些路由器也是同一网络中的一部分。这样,每个路由器都可以知道周围网络的路由情况。
  3. 距离选择: 当路由器收到邻居路由器发送的路由表信息时,它会比较自己的路由表和收到的信息,选择距离最短的路径作为最佳路径。
  4. 毒性反转: RIP引入了"毒性反转"的概念,当一个路由器判断某个路径不可用时,会将该路径的距离设置为无穷大(16跳),然后通知相邻路由器。这样可以防止错误路径循环。
  5. 计时器和失效: 路由器维护计时器,如果在一段时间内没有收到关于某个路径的更新,就认为这个路径不可用,从路由表中删除。
  6. 路由表收敛: 当网络拓扑发生变化时,路由器之间会交换信息,逐渐调整路由表,以找到新的最佳路径。这个过程叫做路由表收敛。

12. RIP的缺点

  1. 慢速收敛: RIP的路由表收敛速度相对较慢。当网络拓扑发生变化时,需要一定时间才能更新所有路由器的路由表,这可能导致数据传输中断或延迟。
  2. 有限的网络规模: RIP设计初衷是用于小型网络,因此在大型网络中,特别是复杂的拓扑中,其性能会受到限制,可能导致不稳定和不可预测的结果。
  3. 跳数限制: RIP使用跳数(跳数越小表示路径越短)作为度量标准,但最大跳数为15,这意味着RIP无法适用于跳数超过15的网络。
  4. 低灵活性: RIP不支持多路径(等价路径)和不同度量标准,这限制了在复杂网络中选择最佳路径的能力。
  5. 频繁的广播: RIP需要定期广播路由信息,这可能会产生较大的网络流量,尤其在大型网络中,可能会影响网络性能。
  6. 安全性问题: RIP的广播和基于共享密钥的认证机制较为简单,容易受到欺骗和攻击。
  7. 不适合大规模网络: 由于RIP的工作方式和限制,它不适合用于大规模的复杂网络,特别是要求高速和稳定性的企业级网络。

13. OSPF协议? OSPF的工作原理

  1. 慢速收敛: RIP的路由表收敛速度相对较慢。当网络拓扑发生变化时,需要一定时间才能更新所有路由器的路由表,这可能导致数据传输中断或延迟。
  2. 有限的网络规模: RIP设计初衷是用于小型网络,因此在大型网络中,特别是复杂的拓扑中,其性能会受到限制,可能导致不稳定和不可预测的结果。
  3. 跳数限制: RIP使用跳数(跳数越小表示路径越短)作为度量标准,但最大跳数为15,这意味着RIP无法适用于跳数超过15的网络。
    低灵活性: RIP不支持多路径(等价路径)和不同度量标准,这限制了在复杂网络中选择最佳路径的能力。
  4. 频繁的广播: RIP需要定期广播路由信息,这可能会产生较大的网络流量,尤其在大型网络中,可能会影响网络性能。
    安全性问题: RIP的广播和基于共享密钥的认证机制较为简单,容易受到欺骗和攻击。
  5. 不适合大规模网络: 由于RIP的工作方式和限制,它不适合用于大规模的复杂网络,特别是要求高速和稳定性的企业级网络。

14. TCP与UDP区别总结?

  1. 连接性:
      TCP:是一种面向连接的协议,确保数据的可靠传输。在通信前,建立连接,传输数据,然后关闭连接。
      UDP:是一种无连接的协议,数据在发送时不需要建立连接。每个数据包都是独立的,没有确认或状态维护。
  2. 可靠性:
      TCP:提供数据可靠性,确保数据按照正确的顺序到达,且不丢失。它使用确认、重传和流量控制等机制来实现。
      UDP:不提供数据可靠性,数据包可能会丢失、乱序,没有重传机制。适用于某些实时应用,如视频和音频流。
  3. 数据包:
      TCP:将数据分割成数据段,并添加序列号,确保按序传递,需要维护缓冲区。
      UDP:将数据分割成数据报,每个数据报都是独立的,没有序列号,不需要维护缓冲区。
  4. 传输速度:
      TCP:由于要确保数据的可靠性和顺序,可能会引入较多的延迟,传输速度较慢。
      UDP:没有额外的确认和重传机制,传输速度较快,适用于实时传输。
  5. 用途:
      TCP:适用于需要确保数据完整性和顺序的应用,如网页浏览、文件传输、电子邮件等。
      UDP:适用于实时性要求较高的应用,如音视频传输、在线游戏,以及一些不太重要的数据传输。\
  6. 开销:
      TCP:有较大的开销,包括建立和关闭连接、确认和重传机制等。
      UDP:开销较小,不需要建立连接和确认机制。

15.什么是三次握手四次挥手?TCP为什么要三次握手?

三次握手(Three-Way Handshake)和四次挥手(Four-Way Handshake)是TCP协议中用于建立和终止连接的过程。
三次握手:
  第一步:客户端向服务器发送一个带有SYN(同步)标志的数据包,表示请求建立连接。
  第二步:服务器收到请求后,发送一个带有SYN和ACK(确认)标志的数据包,表示同意连接,并确认客户端的请求。
  第三步:客户端收到服务器的确认后,再次发送一个带有ACK标志的数据包,表示连接已经建立。
四次挥手(终止连接):
  第一步:客户端发送一个带有FIN(结束)标志的数据包,表示要关闭连接。
  第二步:服务器收到FIN后,发送一个带有ACK标志的数据包,表示收到关闭请求。此时服务器进入CLOSE_WAIT状态,等待关闭。
  第三步:服务器发送一个带有FIN标志的数据包,表示服务器也准备关闭连接。
  第四步:客户端收到服务器的FIN后,发送一个带有ACK标志的数据包,确认收到服务器的关闭请求。此时客户端进入TIME_WAIT状态,等待一段时间,确保对方收到了ACK。
三次握手的目的是确保双方能够正常通信并同步初始序列号。如果只有两次握手,可能会导致以下情况的发生:

  1. 客户端发送了连接请求,但由于网络延迟等原因,服务器没有及时收到。如果服务器此时发送确认,客户端可能会误以为连接已建立。
  2. 客户端发送的连接请求在网络中滞留,服务器收到请求后,发送确认。但客户端并未收到确认,导致它一直等待。

通过三次握手,可以解决上述问题,确保双方都能够确认对方的能力和意图,避免无效的连接和资源浪费。三次握手中的每一步都起到了重要的确认和同步作用,确保连接的正确建立。