渗透测试面试题

 人参与 | 时间:2026-10-17 07:08:29

渗透测试面试题

“给你一个登录框,渗透你怎么测?测试”这是我最常问的面试开场。十个候选人里,面试八个会背:“先试SQL注入,渗透再试弱密码,测试然后看有没有验证码绕过。面试”背得挺顺,渗透但当我追问“如果登录接口返回的测试响应时间总是200毫秒,你怎么判断注入有没有成功”,面试一半人就开始支吾了。渗透

渗透测试面试最怕的测试不是不会,而是面试只会背题。真实环境里,渗透你面对的测试不是靶场那套标准漏洞,而是面试一个可能跑着五年前框架、WAF规则写得乱七八糟、日志还被关掉的活系统。面试官想听的是你踩过的坑,不是你背过的答案。

信息收集:别上来就扫

我见过太多人一拿到目标域名,直接开AWVS或者xray全量扫。扫完拿一堆中危报告去交差,结果客户说“这个IP不是我们的”。信息收集的第一步永远是确认资产归属和边界。问清楚:主域名有哪些、有没有CDN、有没有收购来的子公司域名、移动端API是不是同一个后端。

有个候选人跟我讲过他的一次经历:目标主站防护严密,但他从GitHub上搜到该公司的测试仓库,里面硬编码了一个内部Jenkins地址,弱口令进去后直接拿到生产环境的一台跳板机。这种路径不是扫描器能扫出来的,靠的是对“人”的理解——开发人员图方便留下的痕迹。

漏洞利用:能打进去和能说清楚是两回事

面试里我会给一个场景:你发现了一个SQL注入,但只能盲注,而且WAF拦了union和报错。你怎么继续?

有人回答“用sqlmap的tamper脚本”。我问具体哪个tamper,他答不上来。其实更实际的思路是手工构造布尔条件,配合时间延迟,先确认数据库类型,再判断权限,看能不能堆叠查询。如果权限够,直接尝试写文件或者开xp_cmdshell。如果不够,就转去翻当前库的表名,找管理员密码哈希。

这里有个细节:很多面试者会忽略“利用的代价”。比如你发现一个命令执行漏洞,但目标服务器上有EDR,你一执行whoami就被告警。这时候正确的做法不是硬上,而是先判断EDR类型,尝试用白名单程序绕过,或者干脆换一条攻击链——从外围的VPN或者邮件系统入手。

权限维持与痕迹清理:面试官最在意的“后半段”

大部分面试题到“拿到shell”就结束了,但真实项目里,拿到shell只是开始。面试官会问:你怎么维持权限?怎么横向?怎么在不触发告警的情况下把数据带出来?

我印象很深的一个回答,来自一个做了三年乙方渗透的哥们。他说:“我一般不在目标机器上留任何文件,内存加载或者利用现有服务做隧道。横向的时候优先找运维人员的个人PC,因为那上面往往有保存的密码和没打补丁的办公软件。”这话一听就是干过活的。

痕迹清理不是让你删日志——那反而会引起怀疑。合理做法是控制操作时间窗口,用加密信道,避免大量扫描流量。如果客户有SOC,你甚至要主动和蓝队沟通,告诉他们你什么时候会打哪个IP,免得被当成真实攻击。

报告与沟通:技术之外的硬功夫

面试最后我通常会问:“你写过的报告里,最得意的一个漏洞是什么?”不是听漏洞多牛,是听你怎么描述风险。有人写“存在SQL注入,可导致数据泄露”,这是废话。好的报告会写:“通过该注入点,攻击者可在未授权情况下读取用户表,包含手机号和密码哈希。当前数据库账号为sa,可进一步执行系统命令。建议立即下线接口并排查日志。”

渗透测试的本质是模拟攻击,但交付的是防御建议。面试官想找的是能站在客户角度想问题的人——你知道业务几点上线、知道哪些系统不能停、知道怎么把技术风险翻译成老板能听懂的话。

所以别背题了。把你上次打靶场或者做项目时,卡在哪一步、怎么绕过去的、最后怎么收尾的,原原本本讲出来。那才是面试官想听的。

顶: 1踩: 3