0x64 成都360 安全研究
来源:https://github.com/vvmdx/Sec-Interview-4-2023
说明:本文件按原面经问题整理答题要点,答案为面试复习口径。
一面
1. 自我介绍
参考完整回答(自我介绍):
可以按“背景、方向、项目、工具、优势、求职动机”来讲。示例:我主要学习网络安全方向,熟悉 Web 漏洞、渗透测试、Linux 安全、日志分析和代码审计;项目中做过资产收集、漏洞验证、权限控制或应急处置,常用 Burp、Nmap、sqlmap、Wireshark、Linux 等工具。最后强调自己能从漏洞原理、利用条件和修复方案三个层面分析问题。
2. 看到你有打CTF的经历,说一下你印象比较深刻的比赛
参考完整回答(CTF复盘):
CTF 题复盘要讲清题型、关键突破点、踩坑和沉淀。比如 Web 题可以按信息泄露、源码审计、参数污染、反序列化、SSTI、SQL 注入等链路讲;Pwn 题讲保护机制、溢出点、泄露地址、ROP 或堆利用;Crypto 题讲算法弱点和数学条件。
关键是不要只说“做出来了”,而要说明自己如何定位问题、如何验证假设、失败过哪些思路、最后沉淀了什么工具或知识点。
3. SQL注入的绕过会吗,过滤了逗号怎么绕过
参考完整回答(SQL注入绕过):
SQL 注入绕过通常是因为防护用了黑名单,比如只过滤空格、逗号、select、union 这类关键字。攻击者可以用大小写混淆、注释符、URL 编码、宽字节、换行、括号、函数等价替代、布尔盲注、时间盲注、二次注入等方式绕过。例如过滤空格时可能用 /**/、换行或括号替代;过滤逗号时,MySQL 某些场景可以用 join、from for 或子查询改写。
但我在面试中会强调:绕过技巧说明黑名单不可靠,修复不能继续堆规则。正确做法还是参数化查询、白名单映射、最小权限和统一 ORM/DAO 层封装。安全设备如 WAF 可以作为辅助,但不能代替代码层修复。
4. 说一下你的扫描器
参考完整回答(安全工具开发):
安全工具开发我会先明确工具目标:是资产发现、漏洞扫描、代码审计、日志分析还是告警处置。以漏洞扫描器为例,核心模块包括任务调度、资产输入、指纹识别、PoC 模板、请求限速、结果去重、误报复核、报告输出和权限控制。PoC 设计上要尽量无害验证,避免写文件、删数据或执行破坏性命令。
工程上还要考虑稳定性和可维护性:超时重试、并发控制、代理支持、失败日志、模板版本管理、资产标签和历史结果对比。安全工具本身也要做鉴权和审计,避免变成新的攻击入口。
5. 项目的并发是怎么处理的
参考完整回答(项目/实习经历):
项目经历我会用 STAR 讲完整,而不是只列技术名词。先说项目背景:这是一个什么系统、业务价值是什么、我负责哪块安全工作;再说任务:比如接口鉴权、代码审计、漏洞验证、应急处置或安全工具开发;然后讲行动:我如何定位入口、使用了哪些工具、验证了哪些风险、如何推动修复;最后讲结果:修复了什么漏洞、减少了什么暴露面、沉淀了什么规则或文档。
如果面试官深挖,我会准备一个具体案例。例如“我在某系统审计中发现订单详情接口只校验登录态,没有校验订单 owner,导致水平越权。我用两个普通账号互换订单 ID 复现,确认能读取他人数据。修复方案是在服务端统一鉴权中间件里加入用户、租户和资源归属校验,并补充异常访问日志。复测时原越权请求返回 403,正常用户访问不受影响。”
6. 看到你有写flask,说一下flask可能存在的漏洞吧
参考完整回答(看到你有写flask说一下flask可能存在的漏洞吧):
这题我会这样完整回答:针对“看到你有写flask,说一下flask可能存在的漏洞吧”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
7. 那就再说一下flask是怎么防御这些漏洞吧
参考完整回答(那就再说一下flask是怎么防御这些漏洞吧):
这类修复题我会按代码层、配置层和监控层回答。代码层首先找到用户输入进入危险操作的位置,优先用安全 API 或参数化方式替代拼接;如果涉及 URL、文件路径、SQL 字段、命令参数等不能直接参数化的位置,就使用白名单映射和规范化校验。配置层要关闭危险功能、降低运行权限、收敛网络访问和补丁升级。监控层要补日志和告警,记录异常参数、失败请求和高危操作。最后一定要复测:用原来的 payload 验证不能再触发,同时确认正常业务不受影响。
8. 说一下POC检测相关的
参考完整回答(说一下poc检测相关的):
这题我会这样完整回答:针对“说一下POC检测相关的”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
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. 看到你有用过codeql,说一下它是怎么进行漏洞检测的
参考完整回答(看到你有用过codeql说一下它是怎么进行漏洞检测的):
这题我会这样完整回答:针对“看到你有用过codeql,说一下它是怎么进行漏洞检测的”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
11. 用codeql进行过实战漏洞挖掘吗,怎么挖的
参考完整回答(用codeql进行过实战漏洞挖掘吗怎么挖的):
这题我会这样完整回答:针对“用codeql进行过实战漏洞挖掘吗,怎么挖的”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
12. 说一下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。
13. 看到你有审计过TP,说一下它的安全处理
参考完整回答(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。
14. 说一下TP3的I方法
参考完整回答(说一下tp的i方法):
这题我会这样完整回答:针对“说一下TP3的I方法”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
15. 说一下XXE漏洞
参考完整回答(XXE):
XXE 是 XML 外部实体注入。服务端解析用户上传或提交的 XML 时,如果允许 DTD 和外部实体,攻击者就可以定义实体读取本地文件,或者让服务器请求内网地址形成 SSRF。典型场景包括 SOAP、Office 文档解析、SAML、接口 XML 入参和文件导入。
修复必须在 XML 解析器层关闭 DTD、外部实体、XInclude 和外部 schema 加载。不同语言配置不同,但原则一致:不解析外部实体,不允许访问外部资源。还要限制错误回显,避免文件内容通过报错带出。
16. 多久能来实习
参考完整回答(HR问题):
这类 HR 问题要回答得稳定、真诚、不过度暴露弱点。期望薪资可以说“我会结合岗位职责、城市和公司薪酬体系,希望在贵司对应校招/实习生范围内匹配,我更看重团队方向和成长空间”;工作地点可以说明优先级和可接受范围;多久到岗要给明确时间;职业规划可以说短期打牢安全基础并在业务中独立承担任务,中长期希望在漏洞研究/安全工程/攻防方向形成专长。
遇到个人生活类问题,保持简洁,不展开隐私,把回答拉回工作稳定性和投入度即可。
17. 反问:
参考完整回答(反问):
反问可以围绕岗位职责、团队方向、技术栈、培养机制、实习生预期、日常工作比例和后续流程。不要只问薪资和作息,可以问“这个岗位更偏漏洞研究、工程建设还是应急响应?”来体现目标感。
18. 团队规模
参考完整回答(团队规模):
这题我会这样完整回答:针对“团队规模”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
19. 平时做的事情
参考完整回答(平时做的事情):
这题我会这样完整回答:针对“平时做的事情”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
20. ...
参考完整回答(其他):
这题我会这样完整回答:针对“...”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
二面
21. 自我介绍
参考完整回答(自我介绍):
可以按“背景、方向、项目、工具、优势、求职动机”来讲。示例:我主要学习网络安全方向,熟悉 Web 漏洞、渗透测试、Linux 安全、日志分析和代码审计;项目中做过资产收集、漏洞验证、权限控制或应急处置,常用 Burp、Nmap、sqlmap、Wireshark、Linux 等工具。最后强调自己能从漏洞原理、利用条件和修复方案三个层面分析问题。
22. 说一下AWD攻防竞赛平台里面你印象比较深刻的点
参考完整回答(说一下awd攻防竞赛平台里面你印象比较深刻的点):
这题我会这样完整回答:针对“说一下AWD攻防竞赛平台里面你印象比较深刻的点”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
23. 参赛选手页面的刷新是用的AJAX还是后端定时推送
参考完整回答(参赛选手页面的刷新是用的ajax还是后端定时推送):
这题我会这样完整回答:针对“参赛选手页面的刷新是用的AJAX还是后端定时推送”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
24. Docker有没有限制目录权限
参考完整回答(容器安全):
容器安全要从镜像、运行时、编排和宿主机四层看。镜像层要避免使用高危基础镜像、硬编码密钥和 root 用户;运行时要限制特权容器、hostPath、hostNetwork、SYS_ADMIN 等危险能力;Kubernetes 层要控制 RBAC、ServiceAccount token、API Server 暴露、etcd 访问和网络策略;宿主机层要及时更新内核和容器运行时。
容器逃逸通常依赖特权配置、危险挂载、内核漏洞、Docker socket 暴露或 K8s 权限过大。防护是最小权限、只读文件系统、seccomp/AppArmor、禁止特权容器、镜像扫描、网络隔离和审计异常容器行为。
25. DockerFile的编写有没有什么心得
参考完整回答(容器安全):
容器安全要从镜像、运行时、编排和宿主机四层看。镜像层要避免使用高危基础镜像、硬编码密钥和 root 用户;运行时要限制特权容器、hostPath、hostNetwork、SYS_ADMIN 等危险能力;Kubernetes 层要控制 RBAC、ServiceAccount token、API Server 暴露、etcd 访问和网络策略;宿主机层要及时更新内核和容器运行时。
容器逃逸通常依赖特权配置、危险挂载、内核漏洞、Docker socket 暴露或 K8s 权限过大。防护是最小权限、只读文件系统、seccomp/AppArmor、禁止特权容器、镜像扫描、网络隔离和审计异常容器行为。
26. Docker逃逸的问题
参考完整回答(容器安全):
容器安全要从镜像、运行时、编排和宿主机四层看。镜像层要避免使用高危基础镜像、硬编码密钥和 root 用户;运行时要限制特权容器、hostPath、hostNetwork、SYS_ADMIN 等危险能力;Kubernetes 层要控制 RBAC、ServiceAccount token、API Server 暴露、etcd 访问和网络策略;宿主机层要及时更新内核和容器运行时。
容器逃逸通常依赖特权配置、危险挂载、内核漏洞、Docker socket 暴露或 K8s 权限过大。防护是最小权限、只读文件系统、seccomp/AppArmor、禁止特权容器、镜像扫描、网络隔离和审计异常容器行为。
27. 刚才说到了没有使用目录挂载,那flag的刷新是怎么实现的
参考完整回答(刚才说到了没有使用目录挂载那flag的刷新是怎么实现的):
这题我会这样完整回答:针对“刚才说到了没有使用目录挂载,那flag的刷新是怎么实现的”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
28. 多个Docker的调度问题
参考完整回答(容器安全):
容器安全要从镜像、运行时、编排和宿主机四层看。镜像层要避免使用高危基础镜像、硬编码密钥和 root 用户;运行时要限制特权容器、hostPath、hostNetwork、SYS_ADMIN 等危险能力;Kubernetes 层要控制 RBAC、ServiceAccount token、API Server 暴露、etcd 访问和网络策略;宿主机层要及时更新内核和容器运行时。
容器逃逸通常依赖特权配置、危险挂载、内核漏洞、Docker socket 暴露或 K8s 权限过大。防护是最小权限、只读文件系统、seccomp/AppArmor、禁止特权容器、镜像扫描、网络隔离和审计异常容器行为。
29. 我说了一下docker-compose,以及其中的一些细节,比如depend_on
参考完整回答(容器安全):
容器安全要从镜像、运行时、编排和宿主机四层看。镜像层要避免使用高危基础镜像、硬编码密钥和 root 用户;运行时要限制特权容器、hostPath、hostNetwork、SYS_ADMIN 等危险能力;Kubernetes 层要控制 RBAC、ServiceAccount token、API Server 暴露、etcd 访问和网络策略;宿主机层要及时更新内核和容器运行时。
容器逃逸通常依赖特权配置、危险挂载、内核漏洞、Docker socket 暴露或 K8s 权限过大。防护是最小权限、只读文件系统、seccomp/AppArmor、禁止特权容器、镜像扫描、网络隔离和审计异常容器行为。
30. 看到你有写POC,说一下写POC的心得
参考完整回答(看到你有写poc说一下写poc的心得):
这题我会这样完整回答:针对“看到你有写POC,说一下写POC的心得”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
31. dnslog的原理了解过吗
参考完整回答(DNS安全):
DNS 的作用是把域名解析为 IP,常见过程是浏览器/系统先查缓存和 hosts,再问本地递归解析器,递归解析器从根、顶级域、权威 DNS 逐级查询并返回结果。安全问题包括 DNS 劫持、缓存投毒、域传送泄露、子域名接管、DNS 隧道、DGA 域名和解析记录暴露真实 IP。
防护上,权威 DNS 要关闭未授权 AXFR,合理配置解析记录和 TTL;重要域名开启 DNSSEC 能降低篡改风险;企业侧监控异常 DNS 查询、长随机子域名和 TXT 大流量;对子域名下线要同时回收云资源,避免子域名接管。
32. 我简单说了一下
参考完整回答(我简单说了一下):
这题我会这样完整回答:针对“我简单说了一下”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
33. 面试官补充加解释
参考完整回答(面试官补充加解释):
这题我会这样完整回答:针对“面试官补充加解释”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
34. 有想过写调用dnslog的单独方法吗
参考完整回答(DNS安全):
DNS 的作用是把域名解析为 IP,常见过程是浏览器/系统先查缓存和 hosts,再问本地递归解析器,递归解析器从根、顶级域、权威 DNS 逐级查询并返回结果。安全问题包括 DNS 劫持、缓存投毒、域传送泄露、子域名接管、DNS 隧道、DGA 域名和解析记录暴露真实 IP。
防护上,权威 DNS 要关闭未授权 AXFR,合理配置解析记录和 TTL;重要域名开启 DNSSEC 能降低篡改风险;企业侧监控异常 DNS 查询、长随机子域名和 TXT 大流量;对子域名下线要同时回收云资源,避免子域名接管。
35. 你的职业规划是什么
参考完整回答(HR问题):
这类 HR 问题要回答得稳定、真诚、不过度暴露弱点。期望薪资可以说“我会结合岗位职责、城市和公司薪酬体系,希望在贵司对应校招/实习生范围内匹配,我更看重团队方向和成长空间”;工作地点可以说明优先级和可接受范围;多久到岗要给明确时间;职业规划可以说短期打牢安全基础并在业务中独立承担任务,中长期希望在漏洞研究/安全工程/攻防方向形成专长。
遇到个人生活类问题,保持简洁,不展开隐私,把回答拉回工作稳定性和投入度即可。
36. 反问:安全研究一般后来都去做了什么
参考完整回答(反问):
反问可以围绕岗位职责、团队方向、技术栈、培养机制、实习生预期、日常工作比例和后续流程。不要只问薪资和作息,可以问“这个岗位更偏漏洞研究、工程建设还是应急响应?”来体现目标感。
37. nmap的原理知道吗
参考完整回答(端口扫描):
端口扫描是向目标端口发送探测包,根据响应判断端口状态。TCP connect 扫描会完成三次握手,SYN 扫描收到 SYN/ACK 说明开放,收到 RST 说明关闭,超时或 ICMP 不可达可能是 filtered;UDP 扫描因为无连接,判断更依赖 ICMP 和应用响应。版本探测会进一步读取 banner 或发送探测包识别服务。
安全角度看,扫描是发现攻击面的基础。防护不是简单禁止所有扫描,而是减少暴露端口、只开放必要服务、使用安全组和防火墙限制来源、监控短时间多端口访问和异常连接失败率。
38. 我说了一下nmap的默认扫描,nmap的扫描周期以及扫描器里面合并nmap的方案
参考完整回答(安全工具开发):
安全工具开发我会先明确工具目标:是资产发现、漏洞扫描、代码审计、日志分析还是告警处置。以漏洞扫描器为例,核心模块包括任务调度、资产输入、指纹识别、PoC 模板、请求限速、结果去重、误报复核、报告输出和权限控制。PoC 设计上要尽量无害验证,避免写文件、删数据或执行破坏性命令。
工程上还要考虑稳定性和可维护性:超时重试、并发控制、代理支持、失败日志、模板版本管理、资产标签和历史结果对比。安全工具本身也要做鉴权和审计,避免变成新的攻击入口。
39. nmap扫描速度的优化方案
参考完整回答(端口扫描):
端口扫描是向目标端口发送探测包,根据响应判断端口状态。TCP connect 扫描会完成三次握手,SYN 扫描收到 SYN/ACK 说明开放,收到 RST 说明关闭,超时或 ICMP 不可达可能是 filtered;UDP 扫描因为无连接,判断更依赖 ICMP 和应用响应。版本探测会进一步读取 banner 或发送探测包识别服务。
安全角度看,扫描是发现攻击面的基础。防护不是简单禁止所有扫描,而是减少暴露端口、只开放必要服务、使用安全组和防火墙限制来源、监控短时间多端口访问和异常连接失败率。
40. 成都360车联网那边是做什么的
参考完整回答(项目/实习经历):
项目经历我会用 STAR 讲完整,而不是只列技术名词。先说项目背景:这是一个什么系统、业务价值是什么、我负责哪块安全工作;再说任务:比如接口鉴权、代码审计、漏洞验证、应急处置或安全工具开发;然后讲行动:我如何定位入口、使用了哪些工具、验证了哪些风险、如何推动修复;最后讲结果:修复了什么漏洞、减少了什么暴露面、沉淀了什么规则或文档。
如果面试官深挖,我会准备一个具体案例。例如“我在某系统审计中发现订单详情接口只校验登录态,没有校验订单 owner,导致水平越权。我用两个普通账号互换订单 ID 复现,确认能读取他人数据。修复方案是在服务端统一鉴权中间件里加入用户、租户和资源归属校验,并补充异常访问日志。复测时原越权请求返回 403,正常用户访问不受影响。”
41. 多久能来实习
参考完整回答(HR问题):
这类 HR 问题要回答得稳定、真诚、不过度暴露弱点。期望薪资可以说“我会结合岗位职责、城市和公司薪酬体系,希望在贵司对应校招/实习生范围内匹配,我更看重团队方向和成长空间”;工作地点可以说明优先级和可接受范围;多久到岗要给明确时间;职业规划可以说短期打牢安全基础并在业务中独立承担任务,中长期希望在漏洞研究/安全工程/攻防方向形成专长。
遇到个人生活类问题,保持简洁,不展开隐私,把回答拉回工作稳定性和投入度即可。
42. 毕业设计做的咋样了
参考完整回答(毕业设计做的咋样了):
这题我会这样完整回答:针对“毕业设计做的咋样了”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
43. 最近在做啥
参考完整回答(最近在做啥):
这题我会这样完整回答:针对“最近在做啥”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
44. 想去车联网安全那边还是我们这边
参考完整回答(想去车联网安全那边还是我们这边):
这题我会这样完整回答:针对“想去车联网安全那边还是我们这边”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
45. 以后是想在成都发展吗
参考完整回答(以后是想在成都发展吗):
这题我会这样完整回答:针对“以后是想在成都发展吗”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
46. 反问
参考完整回答(反问):
反问可以围绕岗位职责、团队方向、技术栈、培养机制、实习生预期、日常工作比例和后续流程。不要只问薪资和作息,可以问“这个岗位更偏漏洞研究、工程建设还是应急响应?”来体现目标感。
47. 部门要招多少人
参考完整回答(部门要招多少人):
这题我会这样完整回答:针对“部门要招多少人”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
48. 为什么360没有HR来管理招聘流程
参考完整回答(为什么没有hr来管理招聘流程):
这题我会这样完整回答:针对“为什么360没有HR来管理招聘流程”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
49. 面试之后多久会有结果
参考完整回答(面试之后多久会有结果):
这题我会这样完整回答:针对“面试之后多久会有结果”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
50. ...
参考完整回答(其他):
这题我会这样完整回答:针对“...”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
返回安全面经目录