面试题 1:SQL 注入漏洞的原理是什么?如何防御?
考察点: Web漏洞原理、输入验证、安全编码
参考答案:
-
原理: 攻击者通过在输入字段中插入恶意 SQL 语句,使应用程序在数据库中执行未预期的查询或命令。
例如:
SELECT * FROM users WHERE username = '$input' AND password = '$pwd';
若输入
admin' OR '1'='1
,则可绕过登录验证。 -
防御措施:
-
使用 预编译语句(Prepared Statements) 或 ORM;
-
对输入进行严格过滤或转义;
-
最小化数据库账户权限;
-
使用 Web 应用防火墙(WAF)。
-
面试题 2:XSS 与 CSRF 有什么区别?请举例说明。
考察点: Web 攻击类型区分与防护
参考答案:
-
XSS(跨站脚本攻击):攻击者向网页中注入恶意脚本,使脚本在受害者浏览器中执行。
-
目的:窃取Cookie、会话信息、伪造操作等。
-
防御:转义输出、使用 CSP、HttpOnly Cookie。
-
-
CSRF(跨站请求伪造):诱导用户在登录状态下执行恶意请求。
-
目的:以用户身份执行敏感操作(如转账、修改密码)。
-
防御:CSRF Token、SameSite Cookie、Referer 验证。
-
面试题 3:渗透测试的基本流程包括哪些步骤?
考察点: 实战流程与思维逻辑
参考答案:
-
信息收集(Reconnaissance):收集域名、IP、子域、服务端口等信息;
-
漏洞扫描(Scanning):使用工具(如 Nmap、Nuclei)识别潜在漏洞;
-
漏洞验证与利用(Exploitation):尝试手动验证漏洞可利用性;
-
权限提升(Privilege Escalation):从低权限账户提升至管理员权限;
-
维持访问(Persistence):建立后门或隐蔽通道(仅在授权测试中);
-
清除痕迹与报告(Reporting):生成漏洞报告、提供修复建议。
面试题 4:对称加密与非对称加密的区别是什么?
考察点: 加密算法与数据保护
参考答案:
项目 | 对称加密 | 非对称加密 |
---|---|---|
密钥 | 加密与解密使用同一密钥 | 使用公钥加密、私钥解密 |
速度 | 快 | 慢 |
代表算法 | AES、DES、RC4 | RSA、ECC |
应用场景 | 数据传输加密 | 密钥交换、数字签名 |
实际结合 :HTTPS 中使用 非对称加密建立安全通道 ,再用 对称加密传输数据。
面试题 5:当服务器遭受 DDoS 攻击时,应该如何应对?
考察点: 网络防御与应急响应
参考答案:
-
确认攻击类型与流量特征(TCP SYN Flood、UDP Flood、HTTP Flood 等);
-
快速启用防护措施:
-
使用 CDN / 高防 IP;
-
设置限速(rate limiting)与连接阈值;
-
过滤异常请求(如 User-Agent、Header 特征);
-
-
联系 ISP / 云服务商 进行流量清洗;
-
分析日志、追踪攻击源、更新防火墙策略;
-
事后复盘与加固: 增强监控、引入 WAF、优化架构。