Security Interview

0x6D 蚂蚁金服

来源:vvmdx/Sec-Interview-4-2023,已转换为博客静态页面。

0x6D 蚂蚁金服

来源:https://github.com/vvmdx/Sec-Interview-4-2023
说明:本文件按原面经问题整理答题要点,答案为面试复习口径。

网商银行一面

1. 介绍一下你最成功的一个项目(面试官开始以一个项目为切入点从深度和广度综合考察知识工具逻辑业务体系)

参考完整回答(项目/实习经历):

项目经历我会用 STAR 讲完整,而不是只列技术名词。先说项目背景:这是一个什么系统、业务价值是什么、我负责哪块安全工作;再说任务:比如接口鉴权、代码审计、漏洞验证、应急处置或安全工具开发;然后讲行动:我如何定位入口、使用了哪些工具、验证了哪些风险、如何推动修复;最后讲结果:修复了什么漏洞、减少了什么暴露面、沉淀了什么规则或文档。

如果面试官深挖,我会准备一个具体案例。例如“我在某系统审计中发现订单详情接口只校验登录态,没有校验订单 owner,导致水平越权。我用两个普通账号互换订单 ID 复现,确认能读取他人数据。修复方案是在服务端统一鉴权中间件里加入用户、租户和资源归属校验,并补充异常访问日志。复测时原越权请求返回 403,正常用户访问不受影响。”

2. 追问数据的构成以及预分析,特征工程如何做,特征编码的比较,算法的对比和选择,效果怎么样(考察深度)

参考完整回答(追问数据的构成以及预分析特征工程如何做特征编码的比较算法的对比和选择效果怎么样考察深度):

这题我会这样完整回答:针对“追问数据的构成以及预分析,特征工程如何做,特征编码的比较,算法的对比和选择,效果怎么样(考察深度)”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。

3. 你的核心优势是什么(面试官之后给了一个中肯的建议,非常受用)

参考完整回答(你的核心优势是什么面试官之后给了一个中肯的建议非常受用):

这题我会这样完整回答:针对“你的核心优势是什么(面试官之后给了一个中肯的建议,非常受用)”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。

4. web安全中你实践过哪些漏洞类型(考察广度)

参考完整回答(web安全中你实践过哪些漏洞类型考察广度):

这题我会这样完整回答:针对“web安全中你实践过哪些漏洞类型(考察广度)”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。

5. 记不清了...

参考完整回答(记不清了):

这题我会这样完整回答:针对“记不清了...”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。

6. 请面试官就我今天的面试表现给我一些建议

参考完整回答(请面试官就我今天的面试表现给我一些建议):

这题我会这样完整回答:针对“请面试官就我今天的面试表现给我一些建议”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。

网商银行二面

7. 你刚说在广州出差,具体是做啥的

参考完整回答(你刚说在广州出差具体是做啥的):

这题我会这样完整回答:针对“你刚说在广州出差,具体是做啥的”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。

8. 问了本科的学院和专业,研究生的学院和专业,面试官在疑惑我为啥是网络与信息安全学院计算机技术专业

参考完整回答(问了本科的学院和专业研究生的学院和专业面试官在疑惑我为啥是网络与信息安全学院计算机技术专业):

这题我会这样完整回答:针对“问了本科的学院和专业,研究生的学院和专业,面试官在疑惑我为啥是网络与信息安全学院计算机技术专业”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。

9. 你用机器学习解决过哪些安全问题(我举了url异常检测的入门例子)

参考完整回答(你用机器学习解决过哪些安全问题我举了url异常检测的入门例子):

这题我会这样完整回答:针对“你用机器学习解决过哪些安全问题(我举了url异常检测的入门例子)”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。

10. 面试官开始追问咋做的,具体问了数据和特征这块,算法稍微提了一下

参考完整回答(面试官开始追问咋做的具体问了数据和特征这块算法稍微提了一下):

这题我会这样完整回答:针对“面试官开始追问咋做的,具体问了数据和特征这块,算法稍微提了一下”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。

11. 你是怎么选择模型和算法的

参考完整回答(你是怎么选择模型和算法的):

这题我会这样完整回答:针对“你是怎么选择模型和算法的”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。

12. 除了url异常检测这个例子还做过哪些(说了DGA检测、DNS隧道检测、主机和网络入侵检测等)

参考完整回答(DNS安全):

DNS 的作用是把域名解析为 IP,常见过程是浏览器/系统先查缓存和 hosts,再问本地递归解析器,递归解析器从根、顶级域、权威 DNS 逐级查询并返回结果。安全问题包括 DNS 劫持、缓存投毒、域传送泄露、子域名接管、DNS 隧道、DGA 域名和解析记录暴露真实 IP。

防护上,权威 DNS 要关闭未授权 AXFR,合理配置解析记录和 TTL;重要域名开启 DNSSEC 能降低篡改风险;企业侧监控异常 DNS 查询、长随机子域名和 TXT 大流量;对子域名下线要同时回收云资源,避免子域名接管。

13. 常用的语言和工具熟练度怎么样

参考完整回答(常用的语言和工具熟练度怎么样):

这题我会这样完整回答:针对“常用的语言和工具熟练度怎么样”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。

14. 了解数据安全吗(靠平时这块比较少的积累和面试官讨论了一下)

参考完整回答(了解数据安全吗靠平时这块比较少的积累和面试官讨论了一下):

这题我会这样完整回答:针对“了解数据安全吗(靠平时这块比较少的积累和面试官讨论了一下)”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。

15. 了解加密算法吗(不了解)

参考完整回答(加密/签名):

对称加密是同一把密钥加解密,例如 AES,速度快,适合大量数据传输,但密钥分发是问题。非对称加密使用公钥和私钥,例如 RSA/ECC,公钥可以公开,私钥保密,适合密钥交换和数字签名,但性能较慢。哈希是单向摘要,例如 SHA-256,用于完整性校验;HMAC 是带密钥的摘要,能防止消息被篡改。

数字签名的流程是先对消息做哈希,再用私钥签名,接收方用公钥验签。它能证明消息来自私钥持有者、内容未被篡改,并提供不可否认性。TLS 里通常用非对称算法完成身份认证和密钥交换,再用对称加密传输数据。

16. 面试官说为啥面了几个同学,对加密算法都不了解,我尝试从学硕和专硕的角度分析了一下

参考完整回答(加密/签名):

对称加密是同一把密钥加解密,例如 AES,速度快,适合大量数据传输,但密钥分发是问题。非对称加密使用公钥和私钥,例如 RSA/ECC,公钥可以公开,私钥保密,适合密钥交换和数字签名,但性能较慢。哈希是单向摘要,例如 SHA-256,用于完整性校验;HMAC 是带密钥的摘要,能防止消息被篡改。

数字签名的流程是先对消息做哈希,再用私钥签名,接收方用公钥验签。它能证明消息来自私钥持有者、内容未被篡改,并提供不可否认性。TLS 里通常用非对称算法完成身份认证和密钥交换,再用对称加密传输数据。

17. 在学校你最喜欢的课程

参考完整回答(在学校你最喜欢的课程):

这题我会这样完整回答:针对“在学校你最喜欢的课程”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。

18. 能不能给我推荐一项技术或是一个领域以及一些学习资料(推荐了智能安全技术,很不要脸的给面试官推荐了我的github项目,介绍了项目的大致情况,会不会多个star,哈哈哈哈)

参考完整回答(项目/实习经历):

项目经历我会用 STAR 讲完整,而不是只列技术名词。先说项目背景:这是一个什么系统、业务价值是什么、我负责哪块安全工作;再说任务:比如接口鉴权、代码审计、漏洞验证、应急处置或安全工具开发;然后讲行动:我如何定位入口、使用了哪些工具、验证了哪些风险、如何推动修复;最后讲结果:修复了什么漏洞、减少了什么暴露面、沉淀了什么规则或文档。

如果面试官深挖,我会准备一个具体案例。例如“我在某系统审计中发现订单详情接口只校验登录态,没有校验订单 owner,导致水平越权。我用两个普通账号互换订单 ID 复现,确认能读取他人数据。修复方案是在服务端统一鉴权中间件里加入用户、租户和资源归属校验,并补充异常访问日志。复测时原越权请求返回 403,正常用户访问不受影响。”

19. 你对web安全的理解(感觉面试官问的有点大,稍微确认了一下问题,一是基本的漏洞理解,二是我之前做过的一些工作)

参考完整回答(你对web安全的理解感觉面试官问的有点大稍微确认了一下问题一是基本的漏洞理解二是我之前做过的一些工作):

这题我会这样完整回答:针对“你对web安全的理解(感觉面试官问的有点大,稍微确认了一下问题,一是基本的漏洞理解,二是我之前做过的一些工作)”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。

20. 问了面试官主要的工作内容以及如果我入职我的主要工作内容

参考完整回答(问了面试官主要的工作内容以及如果我入职我的主要工作内容):

这题我会这样完整回答:针对“问了面试官主要的工作内容以及如果我入职我的主要工作内容”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。

21. 问了面试官多久能给答复

参考完整回答(问了面试官多久能给答复):

这题我会这样完整回答:针对“问了面试官多久能给答复”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。

22. 请面试官就我今天的表现给我一些建议(面试官非常nice,提了两点建议,都是我目前的缺点。一是我的回答表述有点啰嗦容易陷入一些技术细节,应该先从整体脉络讲清楚,二是工程能力需要加强,以及不能仅局限于自己的研究方向和擅长方向(感觉是针对数据安全和加密算法问题,知识和技术是通用的))

参考完整回答(加密/签名):

对称加密是同一把密钥加解密,例如 AES,速度快,适合大量数据传输,但密钥分发是问题。非对称加密使用公钥和私钥,例如 RSA/ECC,公钥可以公开,私钥保密,适合密钥交换和数字签名,但性能较慢。哈希是单向摘要,例如 SHA-256,用于完整性校验;HMAC 是带密钥的摘要,能防止消息被篡改。

数字签名的流程是先对消息做哈希,再用私钥签名,接收方用公钥验签。它能证明消息来自私钥持有者、内容未被篡改,并提供不可否认性。TLS 里通常用非对称算法完成身份认证和密钥交换,再用对称加密传输数据。

交叉面

23. 内推人说有交叉面说明前面表现不错(至少是A?)。约的昨天交叉面,结果因为赶飞机正巧没接到电话,然后今天晚上七点半电话过来了,面到八点感觉面试官还有很多事要去处理。

参考完整回答(内推人说有交叉面说明前面表现不错至少是a约的昨天交叉面结果因为赶飞机正巧没接到电话然后今天晚上七点半电话过来了面到八点感):

这题我会这样完整回答:针对“内推人说有交叉面说明前面表现不错(至少是A?)。约的昨天交叉面,结果因为赶飞机正巧没接到电话,然后今天晚上七点半电话过来了,面到八点感觉面试官还有很多事要去处理。”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。

24. 自我介绍

参考完整回答(自我介绍):

可以按“背景、方向、项目、工具、优势、求职动机”来讲。示例:我主要学习网络安全方向,熟悉 Web 漏洞、渗透测试、Linux 安全、日志分析和代码审计;项目中做过资产收集、漏洞验证、权限控制或应急处置,常用 Burp、Nmap、sqlmap、Wireshark、Linux 等工具。最后强调自己能从漏洞原理、利用条件和修复方案三个层面分析问题。

25. 机器学习技术解决安全问题对比与传统安全手段有什么优势

参考完整回答(机器学习技术解决安全问题对比与传统安全手段有什么优势):

这题我会这样完整回答:针对“机器学习技术解决安全问题对比与传统安全手段有什么优势”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。

26. 问机器学习做DGA检测的例子,追问检出率和召回率多少,海量数据如何处理,传统的DGA都是随机性生成的,如果是单词字典组合的DGA该怎么判别,我回继续人工提取特征,然后面试官提示我,能不能从其他维度数据考虑DGA,然后我想到了时间序列、HTTP层数据。

参考完整回答(问机器学习做dga检测的例子追问检出率和召回率多少海量数据如何处理传统的dga都是随机性生成的如果是单词字典组合的dga):

这题我会这样完整回答:针对“问机器学习做DGA检测的例子,追问检出率和召回率多少,海量数据如何处理,传统的DGA都是随机性生成的,如果是单词字典组合的DGA该怎么判别,我回继续人工提取特征,然后面试官提示我,能不能从其他维度数据考虑DGA,然后我想到了时间序列、HTTP层数据。”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。

27. 问机器学习做URL检测的例子,如果是扫描器扫描触发的大量异常该怎么处理,我说用聚类手段聚类忽略,继续追问,如果有攻击成功的异常,不能忽略的话,怎么判别是不是成功的攻击,我回通过响应内容来判断,这就涉及到用机器学习来做页面相似度检测了

参考完整回答(安全工具开发):

安全工具开发我会先明确工具目标:是资产发现、漏洞扫描、代码审计、日志分析还是告警处置。以漏洞扫描器为例,核心模块包括任务调度、资产输入、指纹识别、PoC 模板、请求限速、结果去重、误报复核、报告输出和权限控制。PoC 设计上要尽量无害验证,避免写文件、删数据或执行破坏性命令。

工程上还要考虑稳定性和可维护性:超时重试、并发控制、代理支持、失败日志、模板版本管理、资产标签和历史结果对比。安全工具本身也要做鉴权和审计,避免变成新的攻击入口。

28. 问机器学习做XSS检测的例子

参考完整回答(XSS):

XSS 是用户可控内容被浏览器当成脚本执行。反射型常见于搜索参数或错误提示,存储型常见于评论、昵称、工单内容,DOM 型常见于前端从 location、hash、postMessage 中取值后写入页面。影响包括窃取用户信息、发起越权操作、劫持页面、钓鱼和横向传播。

修复要按输出上下文处理:输出到 HTML 文本要 HTML 编码,输出到属性要属性编码,输出到 JS 字符串要 JS 编码,输出到 URL 要限制协议并 URL 编码。富文本不能自己写黑名单,应该用成熟清洗库。Cookie 设置 HttpOnly、Secure、SameSite,降低被盗风险;CSP 可以限制脚本来源,作为纵深防御。

29. 请面试官评价一下我的面试表现给我一些建议,面试官给了两个建议。1)在实际场景中不能为了机器智能而机器智能,得综合各种技术解决问题。2)我的表述技术细节说的多了。和二面面试官给的建议一样,我解释了一下,不说细节感觉空落落的。

参考完整回答(请面试官评价一下我的面试表现给我一些建议面试官给了两个建议在实际场景中不能为了机器智能而机器智能得综合各种技术解决问题我):

这题我会这样完整回答:针对“请面试官评价一下我的面试表现给我一些建议,面试官给了两个建议。1)在实际场景中不能为了机器智能而机器智能,得综合各种技术解决问题。2)我的表述技术细节说的多了。和二面面试官给的建议一样,我解释了一下,不说细节感觉空落落的。”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。

30. 交叉面的作用感觉是保级的,如果交叉面表现不错大概率还是A,表现不好的话就是B+成替补了,交叉面面下来感觉表现还行,估计技术评级还是A?

参考完整回答(交叉面的作用感觉是保级的如果交叉面表现不错大概率还是a表现不好的话就是b+成替补了交叉面面下来感觉表现还行估计技术评级还):

这题我会这样完整回答:针对“交叉面的作用感觉是保级的,如果交叉面表现不错大概率还是A,表现不好的话就是B+成替补了,交叉面面下来感觉表现还行,估计技术评级还是A?”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。

hr面

31. 介绍下让你收获最多的一个项目

参考完整回答(项目/实习经历):

项目经历我会用 STAR 讲完整,而不是只列技术名词。先说项目背景:这是一个什么系统、业务价值是什么、我负责哪块安全工作;再说任务:比如接口鉴权、代码审计、漏洞验证、应急处置或安全工具开发;然后讲行动:我如何定位入口、使用了哪些工具、验证了哪些风险、如何推动修复;最后讲结果:修复了什么漏洞、减少了什么暴露面、沉淀了什么规则或文档。

如果面试官深挖,我会准备一个具体案例。例如“我在某系统审计中发现订单详情接口只校验登录态,没有校验订单 owner,导致水平越权。我用两个普通账号互换订单 ID 复现,确认能读取他人数据。修复方案是在服务端统一鉴权中间件里加入用户、租户和资源归属校验,并补充异常访问日志。复测时原越权请求返回 403,正常用户访问不受影响。”

32. 说说你的优缺点

参考完整回答(说说你的优缺点):

这题我会这样完整回答:针对“说说你的优缺点”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。

33. 数学题1:100层楼两颗玻璃珠的题;数学题2:100颗白豆100颗黑豆的概率题

参考完整回答(数学题层楼两颗玻璃珠的题数学题颗白豆颗黑豆的概率题):

这题我会这样完整回答:针对“数学题1:100层楼两颗玻璃珠的题;数学题2:100颗白豆100颗黑豆的概率题”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。

返回安全面经目录