网上收集的红队面试题详细解析(二)【21-40题】

约 7 分钟读完

网上收集的红队面试题详细解析(二)【21-40题】


21. tcp 为什么要三次握手?

原理:

  • 三次握手确保双方都能收发数据,避免旧连接干扰,保证可靠建立连接。

举例:

  • 第一次:客户端发SYN,服务端收到。
  • 第二次:服务端发SYN-ACK,客户端收到。
  • 第三次:客户端发ACK,服务端收到,连接建立。

进阶:

  • 若只两次握手,可能服务端无法确认客户端接收能力。

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

原理:

  • 域名系统(DNS)将域名解析为IP地址,便于人类记忆和访问网站。

举例:

进阶:

  • 包含递归查询、缓存机制,防止重复解析。

23. 一次完整的 HTTP 请求过程

原理:

  • 客户端发起请求,服务器处理并返回响应,浏览器渲染页面。

举例:

  1. 浏览器输入网址,发起DNS解析。
  2. 建立TCP连接(三次握手)。
  3. 发送HTTP请求。
  4. 服务器响应HTTP数据。
  5. 浏览器渲染页面。

进阶:

  • HTTPS多一步SSL握手,数据加密传输。

24. Cookies 和 session 区别

原理:

  • Cookie存储在客户端,session存储在服务器端。

举例:

  • 登录后,cookie保存用户标识,session保存用户状态。

进阶:

  • session更安全,cookie易被窃取。

25. GET 和 POST 的区别

原理:

  • GET参数在URL中,POST参数在请求体中,GET适合查询,POST适合提交数据。

举例:

进阶:

  • GET有长度限制,POST无明显限制。

26. HTTPS 和 HTTP 的区别

原理:

  • HTTPS有加密(SSL/TLS),HTTP无加密,HTTPS更安全。

举例:

  • HTTP明文传输,HTTPS密文传输。

进阶:

  • HTTPS有证书认证,防止中间人攻击。

27. session 的工作原理?

原理:

  • 用户登录后,服务器生成sessionID,客户端用cookie保存,后续请求带上ID,服务器识别用户状态。

举例:

  • 登录后访问个人中心,服务器通过sessionID识别用户。

进阶:

  • session可存储在内存、数据库、分布式缓存。

28. http 长连接和短连接的区别

原理:

  • 长连接:多次请求复用同一TCP连接,减少握手次数。
  • 短连接:每次请求都新建连接,用完即断开。

举例:

  • WebSocket、HTTP/1.1默认长连接。

进阶:

  • 长连接适合高频交互,短连接适合偶发请求。

29. OSI 的七层模型都有哪些?

原理:

  • 物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。

举例:

  • 应用层:HTTP、FTP;传输层:TCP、UDP;网络层:IP。

进阶:

  • 理解分层有助于定位网络故障和安全问题。

30. session 的工作原理?什么是 TCP 粘包/拆包?发生原因?解决方案

原理:

  • session见27题。
  • TCP粘包:多条消息合并为一包发送。
  • 拆包:一条消息被分成多包发送。

举例:

  • 粘包:发送“abc”“def”,接收端收到“abcdef”。
  • 拆包:发送“abcdef”,接收端收到“abc”“def”。

进阶:

  • 解决:定长、分隔符、消息头标识长度。

31. TCP 如何保证可靠传输?

原理:

  • 序号、确认应答、重传机制、流量控制、拥塞控制。

举例:

  • 丢包自动重传,乱序自动排序。

进阶:

  • 滑动窗口、超时重传、ACK确认。

32. URI 和 URL 的区别

原理:

  • URI是统一资源标识符,URL是统一资源定位符,URL是URI的一种。

举例:

进阶:

  • URI包含URN(统一资源名称)和URL。

33. 什么是 SSL ?

原理:

  • 安全套接字层协议,保障数据加密传输,已被TLS取代。

举例:

  • HTTPS使用SSL/TLS加密数据。

进阶:

  • 包含握手、证书认证、加密算法协商。

34. https 是如何保证数据传输的安全(SSL 是怎么工作保证安全的)

原理:

  • 通过SSL/TLS协议,使用非对称加密交换密钥,后续用对称加密传输数据,防止窃听和篡改。

举例:

  • 客户端验证服务器证书,协商加密算法,建立安全通道。

进阶:

  • 支持数据完整性校验和身份认证。

35. TCP 对应的应用层协议,UDP 对应的应用层协议

原理:

  • TCP:HTTP、FTP、SMTP、Telnet等。
  • UDP:DNS、SNMP、DHCP、TFTP等。

举例:

  • 浏览网页用HTTP(TCP),看直播用RTSP(UDP)。

进阶:

  • 根据需求选择协议,可靠性优先选TCP,实时性优先选UDP。

36. 常见的状态码有哪些?

原理:

  • HTTP状态码用于标识请求结果。

举例:

  • 200:成功
  • 301/302:重定向
  • 400:请求错误
  • 401:未授权
  • 403:禁止访问
  • 404:未找到
  • 500:服务器错误

进阶:

  • 详细了解各类状态码有助于排查问题。

37. 防范常见的 Web 攻击

原理:

  • 输入验证、权限控制、加密传输、定期安全测试。

举例:

  • 防SQL注入:参数化查询;防XSS:输出转义。

进阶:

  • 使用WAF、定期漏洞扫描、代码审计。

38. 什么是 SQL 注入攻击

原理:

  • 攻击者在输入中插入恶意SQL语句,篡改数据库操作。

举例:

  • 用户名输入:' OR 1=1 --,可绕过登录验证。

进阶:

  • 防御:参数化查询、输入过滤。

39. 攻击者在 HTTP 请求中注入恶意的 SQL 代码,服务器使用参数构建数据库 SQL 命令时,恶意

原理:

  • 见38题,攻击者利用拼接漏洞,注入SQL代码,执行非预期操作。

举例:

  • 登录接口拼接SQL,攻击者输入恶意语句,获取全部用户信息。

进阶:

  • 防御:使用预编译语句,严格校验输入。

40. 什么是 WebShell?

原理:

  • WebShell是攻击者上传到服务器的恶意脚本文件,可远程控制服务器。

举例:

  • PHP一句话木马:<?php eval($_POST['cmd']); ?>

进阶:

  • 防御:限制上传类型、权限控制、定期查杀。

← 网上收集的红队面试题详细解析(四)【61-80题】 网上收集的红队面试题详细解析(三)【41-60题】 →