0x53 度小满
来源:https://github.com/vvmdx/Sec-Interview-4-2023
说明:本文件按原面经问题整理答题要点,答案为面试复习口径。
一面
1. 自我介绍
参考完整回答(自我介绍):
可以按“背景、方向、项目、工具、优势、求职动机”来讲。示例:我主要学习网络安全方向,熟悉 Web 漏洞、渗透测试、Linux 安全、日志分析和代码审计;项目中做过资产收集、漏洞验证、权限控制或应急处置,常用 Burp、Nmap、sqlmap、Wireshark、Linux 等工具。最后强调自己能从漏洞原理、利用条件和修复方案三个层面分析问题。
2. 聊一下0day
参考完整回答(0day):
0day 是厂商未知或尚未发布补丁的漏洞。面试中聊 0day 我会重点讲研究方法而不是夸大结果:先从攻击面和历史漏洞模式入手,做补丁 diff、协议/接口分析、代码审计、模糊测试或组件变更分析;发现异常后构造最小 PoC,确认影响范围和版本;最后负责任披露给厂商或平台。
防护 0day 不能依赖补丁,更多靠纵深防御:最小暴露、WAF/RASP、行为检测、出网限制、最小权限、资产指纹和应急预案。
3. 有提交到什么平台吗
参考完整回答(有提交到什么平台吗):
这题我会这样完整回答:针对“有提交到什么平台吗”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
4. 聊一下本科专业
参考完整回答(聊一下本科专业):
这题我会这样完整回答:针对“聊一下本科专业”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
5. java开发有做过网站吗,用的什么框架
参考完整回答(Java代码审计):
Java 审计我会从路由和鉴权开始,看 Controller、Filter、Interceptor、Spring Security/Shiro 配置和权限注解是否覆盖所有接口。数据访问层重点看 MyBatis 的 ${} 拼接、JPA 原生 SQL、排序字段拼接和多租户条件缺失。危险能力方面看反序列化、Fastjson/Jackson、SpEL/OGNL、模板引擎、文件上传下载、SSRF、XXE 和第三方依赖 CVE。
举例来说,审 SQL 注入时我会搜索 MyBatis XML 里的 ${},确认参数是否来自请求;如果是 order by,我会要求白名单字段映射。审越权时会看接口是否从 token 中取用户身份,并校验资源 owner,而不是直接使用请求里的 userId。
6. 代码审计一般审什么语言
参考完整回答(Java代码审计):
Java 审计我会从路由和鉴权开始,看 Controller、Filter、Interceptor、Spring Security/Shiro 配置和权限注解是否覆盖所有接口。数据访问层重点看 MyBatis 的 ${} 拼接、JPA 原生 SQL、排序字段拼接和多租户条件缺失。危险能力方面看反序列化、Fastjson/Jackson、SpEL/OGNL、模板引擎、文件上传下载、SSRF、XXE 和第三方依赖 CVE。
举例来说,审 SQL 注入时我会搜索 MyBatis XML 里的 ${},确认参数是否来自请求;如果是 order by,我会要求白名单字段映射。审越权时会看接口是否从 token 中取用户身份,并校验资源 owner,而不是直接使用请求里的 userId。
7. 代码审计会用什么工具先审一遍吗
参考完整回答(Java代码审计):
Java 审计我会从路由和鉴权开始,看 Controller、Filter、Interceptor、Spring Security/Shiro 配置和权限注解是否覆盖所有接口。数据访问层重点看 MyBatis 的 ${} 拼接、JPA 原生 SQL、排序字段拼接和多租户条件缺失。危险能力方面看反序列化、Fastjson/Jackson、SpEL/OGNL、模板引擎、文件上传下载、SSRF、XXE 和第三方依赖 CVE。
举例来说,审 SQL 注入时我会搜索 MyBatis XML 里的 ${},确认参数是否来自请求;如果是 order by,我会要求白名单字段映射。审越权时会看接口是否从 token 中取用户身份,并校验资源 owner,而不是直接使用请求里的 userId。
8. php的危险函数
参考完整回答(PHP代码审计):
PHP 审计我会先看入口文件、路由规则、控制器、公共函数和配置项,然后追踪 $_GET、$_POST、$_COOKIE、$_REQUEST、上传文件和 Header 到危险函数。重点函数包括 eval/assert、system/exec、include/require、unserialize、file_get_contents/file_put_contents、move_uploaded_file、SQL 执行函数和模板输出。
框架项目还要理解框架本身的过滤、ORM、路由和模板机制,不能只搜函数。比如 ThinkPHP 要看版本历史漏洞、控制器方法暴露、参数绑定、模型查询和模板渲染;原生 PHP 则要特别关注变量覆盖、文件包含、上传目录执行权限和弱类型比较。
9. 审计时用了什么工具
参考完整回答(Java代码审计):
Java 审计我会从路由和鉴权开始,看 Controller、Filter、Interceptor、Spring Security/Shiro 配置和权限注解是否覆盖所有接口。数据访问层重点看 MyBatis 的 ${} 拼接、JPA 原生 SQL、排序字段拼接和多租户条件缺失。危险能力方面看反序列化、Fastjson/Jackson、SpEL/OGNL、模板引擎、文件上传下载、SSRF、XXE 和第三方依赖 CVE。
举例来说,审 SQL 注入时我会搜索 MyBatis XML 里的 ${},确认参数是否来自请求;如果是 order by,我会要求白名单字段映射。审越权时会看接口是否从 token 中取用户身份,并校验资源 owner,而不是直接使用请求里的 userId。
10. 加密的源码怎么处理
参考完整回答(加密/签名):
对称加密是同一把密钥加解密,例如 AES,速度快,适合大量数据传输,但密钥分发是问题。非对称加密使用公钥和私钥,例如 RSA/ECC,公钥可以公开,私钥保密,适合密钥交换和数字签名,但性能较慢。哈希是单向摘要,例如 SHA-256,用于完整性校验;HMAC 是带密钥的摘要,能防止消息被篡改。
数字签名的流程是先对消息做哈希,再用私钥签名,接收方用公钥验签。它能证明消息来自私钥持有者、内容未被篡改,并提供不可否认性。TLS 里通常用非对称算法完成身份认证和密钥交换,再用对称加密传输数据。
11. 实习3(互联网公司攻击队)的实习经历
参考完整回答(项目/实习经历):
项目经历我会用 STAR 讲完整,而不是只列技术名词。先说项目背景:这是一个什么系统、业务价值是什么、我负责哪块安全工作;再说任务:比如接口鉴权、代码审计、漏洞验证、应急处置或安全工具开发;然后讲行动:我如何定位入口、使用了哪些工具、验证了哪些风险、如何推动修复;最后讲结果:修复了什么漏洞、减少了什么暴露面、沉淀了什么规则或文档。
如果面试官深挖,我会准备一个具体案例。例如“我在某系统审计中发现订单详情接口只校验登录态,没有校验订单 owner,导致水平越权。我用两个普通账号互换订单 ID 复现,确认能读取他人数据。修复方案是在服务端统一鉴权中间件里加入用户、租户和资源归属校验,并补充异常访问日志。复测时原越权请求返回 403,正常用户访问不受影响。”
12. 实习3的绩效考核
参考完整回答(项目/实习经历):
项目经历我会用 STAR 讲完整,而不是只列技术名词。先说项目背景:这是一个什么系统、业务价值是什么、我负责哪块安全工作;再说任务:比如接口鉴权、代码审计、漏洞验证、应急处置或安全工具开发;然后讲行动:我如何定位入口、使用了哪些工具、验证了哪些风险、如何推动修复;最后讲结果:修复了什么漏洞、减少了什么暴露面、沉淀了什么规则或文档。
如果面试官深挖,我会准备一个具体案例。例如“我在某系统审计中发现订单详情接口只校验登录态,没有校验订单 owner,导致水平越权。我用两个普通账号互换订单 ID 复现,确认能读取他人数据。修复方案是在服务端统一鉴权中间件里加入用户、租户和资源归属校验,并补充异常访问日志。复测时原越权请求返回 403,正常用户访问不受影响。”
13. 为什么离职
参考完整回答(为什么离职):
这题我会这样完整回答:针对“为什么离职”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
14. 实习2(乙方安全公司)的实习经历
参考完整回答(项目/实习经历):
项目经历我会用 STAR 讲完整,而不是只列技术名词。先说项目背景:这是一个什么系统、业务价值是什么、我负责哪块安全工作;再说任务:比如接口鉴权、代码审计、漏洞验证、应急处置或安全工具开发;然后讲行动:我如何定位入口、使用了哪些工具、验证了哪些风险、如何推动修复;最后讲结果:修复了什么漏洞、减少了什么暴露面、沉淀了什么规则或文档。
如果面试官深挖,我会准备一个具体案例。例如“我在某系统审计中发现订单详情接口只校验登录态,没有校验订单 owner,导致水平越权。我用两个普通账号互换订单 ID 复现,确认能读取他人数据。修复方案是在服务端统一鉴权中间件里加入用户、租户和资源归属校验,并补充异常访问日志。复测时原越权请求返回 403,正常用户访问不受影响。”
15. 实习2什么项目给你留下了比较深刻的印象,或对你提升比较大的
参考完整回答(项目/实习经历):
项目经历我会用 STAR 讲完整,而不是只列技术名词。先说项目背景:这是一个什么系统、业务价值是什么、我负责哪块安全工作;再说任务:比如接口鉴权、代码审计、漏洞验证、应急处置或安全工具开发;然后讲行动:我如何定位入口、使用了哪些工具、验证了哪些风险、如何推动修复;最后讲结果:修复了什么漏洞、减少了什么暴露面、沉淀了什么规则或文档。
如果面试官深挖,我会准备一个具体案例。例如“我在某系统审计中发现订单详情接口只校验登录态,没有校验订单 owner,导致水平越权。我用两个普通账号互换订单 ID 复现,确认能读取他人数据。修复方案是在服务端统一鉴权中间件里加入用户、租户和资源归属校验,并补充异常访问日志。复测时原越权请求返回 403,正常用户访问不受影响。”
16. 实习1(互联网公司防守队)的应急响应经历
参考完整回答(应急响应):
应急响应我会按“发现、遏制、分析、清除、恢复、复盘”回答。发现阶段确认告警来源和影响范围;遏制阶段先隔离主机或封禁恶意 IP,避免扩散;分析阶段看进程、网络连接、账号、计划任务、启动项、Web 目录、日志和流量,确认入侵入口和攻击链;清除阶段删除后门、修补漏洞、重置凭证;恢复阶段验证业务和安全状态;最后形成复盘报告和加固清单。
常用命令包括 ps、top、ss、lsof、last、journalctl、crontab、systemctl、find、sha256sum、tcpdump。关键是证据保全,不要一上来就删文件导致无法溯源。
17. 溯源经历
参考完整回答(溯源):
溯源不是简单查 IP 归属,而是把攻击链证据串起来。首先收集 Web 日志、WAF/IDS 告警、主机日志、流量包、样本、域名、证书、User-Agent、Referer、Cookie、攻击 payload 和时间线;然后区分代理节点、扫描器、C2、钓鱼域名和真实操作者可能留下的基础设施;最后结合威胁情报、历史样本、域名注册、证书复用、指纹复用和行为习惯做关联。
面试中我会强调结论分置信度:能确认的是攻击入口、攻击时间、源节点和影响范围;对攻击者身份要谨慎表达,避免把代理 IP 当成真实身份。
18. python用的多吗
参考完整回答(Python安全库):
Python 在安全里常用于自动化验证、扫描、协议交互和应急分析。HTTP 测试常用 requests/httpx,底层网络用 socket,构造和解析数据包用 scapy,SSH 运维用 paramiko,Windows/域协议相关常见 impacket,加密和证书处理用 cryptography、hashlib、hmac、ssl,DNS 分析用 dnspython,HTML 解析用 BeautifulSoup/lxml,恶意样本规则可用 yara-python。
如果被问“有没有用 Python 写过工具”,我会举一个具体例子:比如写过一个批量资产存活探测和标题指纹识别脚本,输入域名/IP 列表,异步请求 HTTP/HTTPS,提取状态码、标题、Server、证书信息和指纹,做去重和导出。重点强调限速、超时、异常处理和授权范围。
19. 写poc会审计1day吗
参考完整回答(0day):
0day 是厂商未知或尚未发布补丁的漏洞。面试中聊 0day 我会重点讲研究方法而不是夸大结果:先从攻击面和历史漏洞模式入手,做补丁 diff、协议/接口分析、代码审计、模糊测试或组件变更分析;发现异常后构造最小 PoC,确认影响范围和版本;最后负责任披露给厂商或平台。
防护 0day 不能依赖补丁,更多靠纵深防御:最小暴露、WAF/RASP、行为检测、出网限制、最小权限、资产指纹和应急预案。
20. 反问
参考完整回答(反问):
反问可以围绕岗位职责、团队方向、技术栈、培养机制、实习生预期、日常工作比例和后续流程。不要只问薪资和作息,可以问“这个岗位更偏漏洞研究、工程建设还是应急响应?”来体现目标感。
二面
21. 自我介绍
参考完整回答(自我介绍):
可以按“背景、方向、项目、工具、优势、求职动机”来讲。示例:我主要学习网络安全方向,熟悉 Web 漏洞、渗透测试、Linux 安全、日志分析和代码审计;项目中做过资产收集、漏洞验证、权限控制或应急处置,常用 Burp、Nmap、sqlmap、Wireshark、Linux 等工具。最后强调自己能从漏洞原理、利用条件和修复方案三个层面分析问题。
22. web安全一般熟悉哪块
参考完整回答(web安全一般熟悉哪块):
这题我会这样完整回答:针对“web安全一般熟悉哪块”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
23. 聊一下LFI(本地文件包含)
参考完整回答(文件包含):
文件包含漏洞是 include/require 等函数包含了用户可控路径。远程文件包含依赖 allow_url_include 等配置,可能直接包含远程脚本;本地文件包含可以读取敏感文件,也可能通过包含日志、上传文件、session 文件或伪协议变成代码执行。
修复上不要把用户输入直接作为文件路径,使用固定模板 ID 或白名单映射;关闭 allow_url_include,限制 open_basedir;规范化路径后确认仍在允许目录;上传目录和日志目录不要被包含;错误信息不要回显真实路径。
24. 聊一下sql注入(分类)
参考完整回答(SQL注入绕过):
SQL 注入绕过通常是因为防护用了黑名单,比如只过滤空格、逗号、select、union 这类关键字。攻击者可以用大小写混淆、注释符、URL 编码、宽字节、换行、括号、函数等价替代、布尔盲注、时间盲注、二次注入等方式绕过。例如过滤空格时可能用 /**/、换行或括号替代;过滤逗号时,MySQL 某些场景可以用 join、from for 或子查询改写。
但我在面试中会强调:绕过技巧说明黑名单不可靠,修复不能继续堆规则。正确做法还是参数化查询、白名单映射、最小权限和统一 ORM/DAO 层封装。安全设备如 WAF 可以作为辅助,但不能代替代码层修复。
25. 布尔盲注聊一下
参考完整回答(布尔盲注聊一下):
这题我会这样完整回答:针对“布尔盲注聊一下”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
26. 延时盲注聊一下
参考完整回答(延时盲注聊一下):
这题我会这样完整回答:针对“延时盲注聊一下”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
27. mysql除了sleep还有什么函数可以用
参考完整回答(mysql除了sleep还有什么函数可以用):
这题我会这样完整回答:针对“mysql除了sleep还有什么函数可以用”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
28. 数据库的rce
参考完整回答(命令执行):
命令执行漏洞是用户输入进入系统命令解释器,导致攻击者能拼接额外命令。危险点包括 system、exec、Runtime.exec、ProcessBuilder、popen、反引号、脚本调用等。利用不一定需要回显,可以通过延时、DNS 请求、写文件等方式验证。
修复的核心是不拼 shell 命令。能用语言内置 API 就不用系统命令;必须调用外部程序时使用参数数组,避免 shell=True,并对参数做白名单、长度、字符集和枚举校验。运行进程要低权限、容器隔离、限制出网,并记录异常命令调用。
29. mysql读写文件怎么做的
参考完整回答(mysql读写文件怎么做的):
这题我会这样完整回答:针对“mysql读写文件怎么做的”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
30. 了解mysql读文件的溯源吗(mysql蜜罐)
参考完整回答(溯源):
溯源不是简单查 IP 归属,而是把攻击链证据串起来。首先收集 Web 日志、WAF/IDS 告警、主机日志、流量包、样本、域名、证书、User-Agent、Referer、Cookie、攻击 payload 和时间线;然后区分代理节点、扫描器、C2、钓鱼域名和真实操作者可能留下的基础设施;最后结合威胁情报、历史样本、域名注册、证书复用、指纹复用和行为习惯做关联。
面试中我会强调结论分置信度:能确认的是攻击入口、攻击时间、源节点和影响范围;对攻击者身份要谨慎表达,避免把代理 IP 当成真实身份。
31. sql server的命令执行,除了xp_cmdshell还有别的方式吗
参考完整回答(命令执行):
命令执行漏洞是用户输入进入系统命令解释器,导致攻击者能拼接额外命令。危险点包括 system、exec、Runtime.exec、ProcessBuilder、popen、反引号、脚本调用等。利用不一定需要回显,可以通过延时、DNS 请求、写文件等方式验证。
修复的核心是不拼 shell 命令。能用语言内置 API 就不用系统命令;必须调用外部程序时使用参数数组,避免 shell=True,并对参数做白名单、长度、字符集和枚举校验。运行进程要低权限、容器隔离、限制出网,并记录异常命令调用。
32. h2数据库的rce
参考完整回答(命令执行):
命令执行漏洞是用户输入进入系统命令解释器,导致攻击者能拼接额外命令。危险点包括 system、exec、Runtime.exec、ProcessBuilder、popen、反引号、脚本调用等。利用不一定需要回显,可以通过延时、DNS 请求、写文件等方式验证。
修复的核心是不拼 shell 命令。能用语言内置 API 就不用系统命令;必须调用外部程序时使用参数数组,避免 shell=True,并对参数做白名单、长度、字符集和枚举校验。运行进程要低权限、容器隔离、限制出网,并记录异常命令调用。
33. mysql 8有关注吗,什么特性可以利用的
参考完整回答(mysql有关注吗什么特性可以利用的):
这题我会这样完整回答:针对“mysql 8有关注吗,什么特性可以利用的”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
34. 有没有挖掘过框架、中间件的sql注入
参考完整回答(中间件漏洞):
中间件漏洞复现我会按版本确认、环境搭建、漏洞入口、触发条件、影响验证、修复验证来做。比如 Tomcat、WebLogic、Shiro、Struts2、Nginx、Apache、Fastjson、Log4j 等,不能只跑 PoC,要理解漏洞触发点和依赖条件。
修复建议通常包括升级版本、关闭危险功能、修改默认口令、限制管理后台来源、最小权限运行、删除示例应用、加固反序列化和文件上传路径,并在资产系统里持续跟踪版本。
35. 预编译和参数绑定的区别(预编译在数据库操作层面,参数绑定在代码层面)
参考完整回答(预编译和参数绑定的区别预编译在数据库操作层面参数绑定在代码层面):
这题我会这样完整回答:针对“预编译和参数绑定的区别(预编译在数据库操作层面,参数绑定在代码层面)”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
36. 实习2(乙方安全公司)的经历
参考完整回答(项目/实习经历):
项目经历我会用 STAR 讲完整,而不是只列技术名词。先说项目背景:这是一个什么系统、业务价值是什么、我负责哪块安全工作;再说任务:比如接口鉴权、代码审计、漏洞验证、应急处置或安全工具开发;然后讲行动:我如何定位入口、使用了哪些工具、验证了哪些风险、如何推动修复;最后讲结果:修复了什么漏洞、减少了什么暴露面、沉淀了什么规则或文档。
如果面试官深挖,我会准备一个具体案例。例如“我在某系统审计中发现订单详情接口只校验登录态,没有校验订单 owner,导致水平越权。我用两个普通账号互换订单 ID 复现,确认能读取他人数据。修复方案是在服务端统一鉴权中间件里加入用户、租户和资源归属校验,并补充异常访问日志。复测时原越权请求返回 403,正常用户访问不受影响。”
37. java表达式引擎研究了什么
参考完整回答(表达式引擎审计):
审表达式引擎时,我会先看表达式来源是否用户可控,再看引擎支持哪些能力:属性访问、方法调用、反射、类加载、静态方法、文件/网络访问等。接着追踪解析、编译、执行的调用链,确认是否有沙箱、白名单、黑名单和上下文对象暴露。
危险点通常是把用户输入直接作为表达式执行,或在上下文中放入 request、applicationContext、classLoader 等高危对象。修复是表达式白名单化,只允许业务需要的运算和变量;禁用方法调用、反射和类访问;上下文最小化;执行超时和资源限制。
38. 实习3(互联网公司攻击队)的实习经历
参考完整回答(项目/实习经历):
项目经历我会用 STAR 讲完整,而不是只列技术名词。先说项目背景:这是一个什么系统、业务价值是什么、我负责哪块安全工作;再说任务:比如接口鉴权、代码审计、漏洞验证、应急处置或安全工具开发;然后讲行动:我如何定位入口、使用了哪些工具、验证了哪些风险、如何推动修复;最后讲结果:修复了什么漏洞、减少了什么暴露面、沉淀了什么规则或文档。
如果面试官深挖,我会准备一个具体案例。例如“我在某系统审计中发现订单详情接口只校验登录态,没有校验订单 owner,导致水平越权。我用两个普通账号互换订单 ID 复现,确认能读取他人数据。修复方案是在服务端统一鉴权中间件里加入用户、租户和资源归属校验,并补充异常访问日志。复测时原越权请求返回 403,正常用户访问不受影响。”
39. 大hw的成果
参考完整回答(项目/实习经历):
项目经历我会用 STAR 讲完整,而不是只列技术名词。先说项目背景:这是一个什么系统、业务价值是什么、我负责哪块安全工作;再说任务:比如接口鉴权、代码审计、漏洞验证、应急处置或安全工具开发;然后讲行动:我如何定位入口、使用了哪些工具、验证了哪些风险、如何推动修复;最后讲结果:修复了什么漏洞、减少了什么暴露面、沉淀了什么规则或文档。
如果面试官深挖,我会准备一个具体案例。例如“我在某系统审计中发现订单详情接口只校验登录态,没有校验订单 owner,导致水平越权。我用两个普通账号互换订单 ID 复现,确认能读取他人数据。修复方案是在服务端统一鉴权中间件里加入用户、租户和资源归属校验,并补充异常访问日志。复测时原越权请求返回 403,正常用户访问不受影响。”
40. 0day聊一下
参考完整回答(0day):
0day 是厂商未知或尚未发布补丁的漏洞。面试中聊 0day 我会重点讲研究方法而不是夸大结果:先从攻击面和历史漏洞模式入手,做补丁 diff、协议/接口分析、代码审计、模糊测试或组件变更分析;发现异常后构造最小 PoC,确认影响范围和版本;最后负责任披露给厂商或平台。
防护 0day 不能依赖补丁,更多靠纵深防御:最小暴露、WAF/RASP、行为检测、出网限制、最小权限、资产指纹和应急预案。
41. java代码审计怎么审的
参考完整回答(Java代码审计):
Java 审计我会从路由和鉴权开始,看 Controller、Filter、Interceptor、Spring Security/Shiro 配置和权限注解是否覆盖所有接口。数据访问层重点看 MyBatis 的 ${} 拼接、JPA 原生 SQL、排序字段拼接和多租户条件缺失。危险能力方面看反序列化、Fastjson/Jackson、SpEL/OGNL、模板引擎、文件上传下载、SSRF、XXE 和第三方依赖 CVE。
举例来说,审 SQL 注入时我会搜索 MyBatis XML 里的 ${},确认参数是否来自请求;如果是 order by,我会要求白名单字段映射。审越权时会看接口是否从 token 中取用户身份,并校验资源 owner,而不是直接使用请求里的 userId。
42. 越权漏洞怎么找的
参考完整回答(越权):
越权分水平越权和垂直越权。水平越权是同权限用户访问他人资源,例如 A 用户通过修改 orderId 看到 B 用户订单;垂直越权是低权限用户访问高权限功能,例如普通用户调用管理员删除接口。根因通常是服务端只校验“是否登录”,没有校验“是否有权访问这个资源或动作”。
测试时我会准备两个不同角色或不同用户账号,对比请求中的 userId、tenantId、role、resourceId、orderId 等参数,尝试替换后看响应是否越界。修复必须在服务端统一鉴权,基于当前登录用户从服务端上下文取身份,校验角色、租户和资源归属,不能相信前端传来的 role 或 userId。
43. java反序列化原理
参考完整回答(Java代码审计):
Java 审计我会从路由和鉴权开始,看 Controller、Filter、Interceptor、Spring Security/Shiro 配置和权限注解是否覆盖所有接口。数据访问层重点看 MyBatis 的 ${} 拼接、JPA 原生 SQL、排序字段拼接和多租户条件缺失。危险能力方面看反序列化、Fastjson/Jackson、SpEL/OGNL、模板引擎、文件上传下载、SSRF、XXE 和第三方依赖 CVE。
举例来说,审 SQL 注入时我会搜索 MyBatis XML 里的 ${},确认参数是否来自请求;如果是 order by,我会要求白名单字段映射。审越权时会看接口是否从 token 中取用户身份,并校验资源 owner,而不是直接使用请求里的 userId。
44. cc链各种利用姿势
参考完整回答(cc链各种利用姿势):
这题我会这样完整回答:针对“cc链各种利用姿势”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
45. 在一个java项目中怎么找可以利用的链
参考完整回答(项目/实习经历):
项目经历我会用 STAR 讲完整,而不是只列技术名词。先说项目背景:这是一个什么系统、业务价值是什么、我负责哪块安全工作;再说任务:比如接口鉴权、代码审计、漏洞验证、应急处置或安全工具开发;然后讲行动:我如何定位入口、使用了哪些工具、验证了哪些风险、如何推动修复;最后讲结果:修复了什么漏洞、减少了什么暴露面、沉淀了什么规则或文档。
如果面试官深挖,我会准备一个具体案例。例如“我在某系统审计中发现订单详情接口只校验登录态,没有校验订单 owner,导致水平越权。我用两个普通账号互换订单 ID 复现,确认能读取他人数据。修复方案是在服务端统一鉴权中间件里加入用户、租户和资源归属校验,并补充异常访问日志。复测时原越权请求返回 403,正常用户访问不受影响。”
46. java反射的具体流程
参考完整回答(Java代码审计):
Java 审计我会从路由和鉴权开始,看 Controller、Filter、Interceptor、Spring Security/Shiro 配置和权限注解是否覆盖所有接口。数据访问层重点看 MyBatis 的 ${} 拼接、JPA 原生 SQL、排序字段拼接和多租户条件缺失。危险能力方面看反序列化、Fastjson/Jackson、SpEL/OGNL、模板引擎、文件上传下载、SSRF、XXE 和第三方依赖 CVE。
举例来说,审 SQL 注入时我会搜索 MyBatis XML 里的 ${},确认参数是否来自请求;如果是 order by,我会要求白名单字段映射。审越权时会看接口是否从 token 中取用户身份,并校验资源 owner,而不是直接使用请求里的 userId。
47. java动态代理
参考完整回答(Java代码审计):
Java 审计我会从路由和鉴权开始,看 Controller、Filter、Interceptor、Spring Security/Shiro 配置和权限注解是否覆盖所有接口。数据访问层重点看 MyBatis 的 ${} 拼接、JPA 原生 SQL、排序字段拼接和多租户条件缺失。危险能力方面看反序列化、Fastjson/Jackson、SpEL/OGNL、模板引擎、文件上传下载、SSRF、XXE 和第三方依赖 CVE。
举例来说,审 SQL 注入时我会搜索 MyBatis XML 里的 ${},确认参数是否来自请求;如果是 order by,我会要求白名单字段映射。审越权时会看接口是否从 token 中取用户身份,并校验资源 owner,而不是直接使用请求里的 userId。
48. log4j的反射怎么利用的
参考完整回答(Log4j/JNDI):
Log4j2 的 Log4Shell 漏洞是因为日志内容中的 ${jndi:...} 会触发 JNDI Lookup。攻击者只要能控制被记录到日志里的内容,比如 User-Agent、用户名、请求参数,就可能让服务器访问恶意 LDAP/RMI 地址,进而触发远程类加载或本地 gadget,造成 RCE。
完整修复是升级 Log4j 到安全版本;临时措施包括删除 JndiLookup 类、关闭 lookup、设置相关安全参数,但最终仍应升级。还要排查传递依赖,因为很多应用不是直接引入 Log4j;网络层限制服务器访问外部 LDAP/RMI;日志侧检索 ${jndi:、lower、upper、::- 等混淆特征,确认是否被探测或利用。
49. 拿到shiro的key后怎么找利用链
参考完整回答(Shiro反序列化):
Shiro 经典反序列化漏洞通常出现在 rememberMe 功能。Shiro 会把序列化对象加密后放进 rememberMe Cookie,如果密钥是默认值或泄露,攻击者就能用这个密钥加密恶意序列化数据发给服务端,服务端解密后反序列化,触发 CommonsCollections 等 gadget 链。
我会回答形成原因是:客户端可控 Cookie、服务端自动解密反序列化、密钥弱或默认、环境中存在可用 gadget。修复包括升级 Shiro,使用随机强密钥,禁用不必要的 rememberMe,减少危险依赖,开启出网限制,并监控异常 rememberMe Cookie 长度、特征和反序列化异常。
50. 有什么我刚刚没问到的东西吗
参考完整回答(有什么我刚刚没问到的东西吗):
这题我会这样完整回答:针对“有什么我刚刚没问到的东西吗”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
51. 对自己以后的安全道路有什么规划吗
参考完整回答(对自己以后的安全道路有什么规划吗):
这题我会这样完整回答:针对“对自己以后的安全道路有什么规划吗”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
52. 反问
参考完整回答(反问):
反问可以围绕岗位职责、团队方向、技术栈、培养机制、实习生预期、日常工作比例和后续流程。不要只问薪资和作息,可以问“这个岗位更偏漏洞研究、工程建设还是应急响应?”来体现目标感。
三面
53. 自我介绍
参考完整回答(自我介绍):
可以按“背景、方向、项目、工具、优势、求职动机”来讲。示例:我主要学习网络安全方向,熟悉 Web 漏洞、渗透测试、Linux 安全、日志分析和代码审计;项目中做过资产收集、漏洞验证、权限控制或应急处置,常用 Burp、Nmap、sqlmap、Wireshark、Linux 等工具。最后强调自己能从漏洞原理、利用条件和修复方案三个层面分析问题。
54. 用三个词语来描述一下自己
参考完整回答(用三个词语来描述一下自己):
这题我会这样完整回答:针对“用三个词语来描述一下自己”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
55. 是什么支撑着你获得今天的一些成就
参考完整回答(是什么支撑着你获得今天的一些成就):
这题我会这样完整回答:针对“是什么支撑着你获得今天的一些成就”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
56. 在选择这条道路的时候是怎么想的
参考完整回答(在选择这条道路的时候是怎么想的):
这题我会这样完整回答:针对“在选择这条道路的时候是怎么想的”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
57. 对自己未来工作的规划
参考完整回答(对自己未来工作的规划):
这题我会这样完整回答:针对“对自己未来工作的规划”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
58. 对自己技术上的规划
参考完整回答(对自己技术上的规划):
这题我会这样完整回答:针对“对自己技术上的规划”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
59. 觉得自己的好奇心强吗
参考完整回答(觉得自己的好奇心强吗):
这题我会这样完整回答:针对“觉得自己的好奇心强吗”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
60. 这二十多年最懊悔的事和最有成就感的事
参考完整回答(这二十多年最懊悔的事和最有成就感的事):
这题我会这样完整回答:针对“这二十多年最懊悔的事和最有成就感的事”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
61. 怎么看待事在人为,谋事在人成事在天这两个词语
参考完整回答(怎么看待事在人为谋事在人成事在天这两个词语):
这题我会这样完整回答:针对“怎么看待事在人为,谋事在人成事在天这两个词语”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
62. 怎么看待按部就班,循序渐进,你觉得这是事情最好的解决方案吗
参考完整回答(怎么看待按部就班循序渐进你觉得这是事情最好的解决方案吗):
这题我会这样完整回答:针对“怎么看待按部就班,循序渐进,你觉得这是事情最好的解决方案吗”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
63. 有没有做过一些违规的事
参考完整回答(有没有做过一些违规的事):
这题我会这样完整回答:针对“有没有做过一些违规的事”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
64. 有没有对别人做出承诺然后没有做到的情况
参考完整回答(有没有对别人做出承诺然后没有做到的情况):
这题我会这样完整回答:针对“有没有对别人做出承诺然后没有做到的情况”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
65. 如果自己的团队处于竞争劣势的话你会怎么办
参考完整回答(如果自己的团队处于竞争劣势的话你会怎么办):
这题我会这样完整回答:针对“如果自己的团队处于竞争劣势的话你会怎么办”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
66. 如果团队里面有人是你反感的类型你会怎么办
参考完整回答(如果团队里面有人是你反感的类型你会怎么办):
这题我会这样完整回答:针对“如果团队里面有人是你反感的类型你会怎么办”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
67. 有哪些事情或任务是你不想去做的,你会怎么办
参考完整回答(有哪些事情或任务是你不想去做的你会怎么办):
这题我会这样完整回答:针对“有哪些事情或任务是你不想去做的,你会怎么办”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
68. 当你接受一个全新的任务的时候,你会怎么评估任务的难度
参考完整回答(当你接受一个全新的任务的时候你会怎么评估任务的难度):
这题我会这样完整回答:针对“当你接受一个全新的任务的时候,你会怎么评估任务的难度”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
69. 之前实习的公司有没有发offer的
参考完整回答(HR问题):
这类 HR 问题要回答得稳定、真诚、不过度暴露弱点。期望薪资可以说“我会结合岗位职责、城市和公司薪酬体系,希望在贵司对应校招/实习生范围内匹配,我更看重团队方向和成长空间”;工作地点可以说明优先级和可接受范围;多久到岗要给明确时间;职业规划可以说短期打牢安全基础并在业务中独立承担任务,中长期希望在漏洞研究/安全工程/攻防方向形成专长。
遇到个人生活类问题,保持简洁,不展开隐私,把回答拉回工作稳定性和投入度即可。
70. 反问
参考完整回答(反问):
反问可以围绕岗位职责、团队方向、技术栈、培养机制、实习生预期、日常工作比例和后续流程。不要只问薪资和作息,可以问“这个岗位更偏漏洞研究、工程建设还是应急响应?”来体现目标感。
返回安全面经目录