1. 网络协议和通信
-
解释 HTTP 和 HTTPS 之间的主要区别。
- 答案:
- HTTP(HyperText Transfer Protocol)是不安全的,数据在传输过程中是明文的。而HTTPS(HTTP Secure)通过使用 SSL/TLS 进行加密,使数据传输更加安全。
- 答案:
-
什么是 CSRF 攻击?如何防止它?
- 答案:
- CSRF(Cross-Site Request Forgery)是一种攻击方式,利用用户在其他网站的已认证状态来执行非预期的操作。防范方法包括使用 CSRF Token 和检查 Referer 头。
- 答案:
-
解释 TCP 三次握手和四次挥手的过程。
- 答案:
- 三次握手:客户端发送 SYN,服务器回应 SYN-ACK,客户端回应 ACK,建立连接。
- 四次挥手:客户端发送 FIN,服务器回应 ACK,服务器发送 FIN,客户端回应 ACK,关闭连接。
- 答案:
-
什么是 DNS 劫持?如何检测和防范它?
- 答案:
- DNS 劫持是指攻击者篡改 DNS 响应,将合法域名解析至恶意 IP。检测方法包括 DNS 查询监控,防范方法包括使用 DNSSEC 和 HTTPS。
- 答案:
2. 密码学
-
解释对称加密和非对称加密的区别。
- 答案:
- 对称加密使用相同的密钥进行加解密,速度较快,但密钥传输较为困难。非对称加密使用公钥进行加密,私钥进行解密,安全性较高。
- 答案:
-
什么是哈希函数?为什么哈希函数在密码学中很重要?
- 答案:
- 哈希函数将输入数据映射为固定长度的字符串,输出通常是唯一的。在密码学中,哈希函数用于存储密码的摘要,保护用户密码。
- 答案:
-
什么是公钥基础设施(PKI)?
- 答案:
- PKI 是一种系统,用于创建、分发、管理数字证书,确保通信的安全性。它包括证书颁发机构(CA)、注册机构(RA)和密钥管理系统。
- 答案:
-
解释什么是数字签名,以及它是如何工作的?
- 答案:
- 数字签名是使用私钥对数据进行加密生成的签名,验证者使用相应的公钥进行解密以验证签名的真实性。它确保数据的完整性和认证。
- 答案:
3. 漏洞分析与利用
-
什么是 SQL 注入攻击?如何防范它?
- 答案:
- SQL 注入是通过在用户输入中插入 SQL 语句来攻击数据库。防范方法包括使用参数化查询、输入验证和最小权限原则。
- 答案:
-
解释跨站点脚本攻击(XSS)以及如何防范它。
- 答案:
- XSS 攻击是通过插入恶意脚本代码在用户浏览器中执行。防范方法包括输入验证、输出编码、使用 Content Security Policy(CSP)。
- 答案:
-
什么是缓冲区溢出攻击?如何防范它?
- 答案:
- 缓冲区溢出是通过向程序输入超出预定缓冲区大小的数据来覆盖内存。防范方法包括输入验证、使用编程语言中的安全函数和堆栈保护。
- 答案:
-
描述一下常见的社交工程攻击手段。
- 答案:
- 社交工程攻击包括钓鱼攻击、欺诈电话、恶意文件传输等手段。攻击者通过欺骗目标来获取敏感信息,如用户名、密码等。
- 答案: