0x4B TCL 鸿鹄实验室 软件开发工程师(安全方向)
来源:https://github.com/vvmdx/Sec-Interview-4-2023
说明:本文件按原面经问题整理答题要点,答案为面试复习口径。
一面
1. 自我介绍
参考完整回答(自我介绍):
可以按“背景、方向、项目、工具、优势、求职动机”来讲。示例:我主要学习网络安全方向,熟悉 Web 漏洞、渗透测试、Linux 安全、日志分析和代码审计;项目中做过资产收集、漏洞验证、权限控制或应急处置,常用 Burp、Nmap、sqlmap、Wireshark、Linux 等工具。最后强调自己能从漏洞原理、利用条件和修复方案三个层面分析问题。
2. 计网OSI七层模型+协议
参考完整回答(计网osi七层模型+协议):
这题我会这样完整回答:针对“计网OSI七层模型+协议”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
3. https比http安全在哪
参考完整回答(TLS/HTTPS):
HTTPS 是 HTTP 加 TLS。TLS 首先通过证书验证服务器身份,客户端检查证书链、域名、有效期和吊销状态;然后双方通过 ECDHE 等方式协商会话密钥;握手完成后用对称加密保护 HTTP 数据,并用 AEAD 或 MAC 保证完整性。
安全配置上应禁用 SSL、TLS 1.0/1.1 和弱加密套件,优先 TLS 1.2/1.3,启用 HSTS,Cookie 加 Secure/HttpOnly/SameSite。HTTPS 能防窃听和篡改,但不能自动防 SQL 注入、XSS、越权这类应用层漏洞。
4. sql注入的原理
参考完整回答(SQL注入绕过):
SQL 注入绕过通常是因为防护用了黑名单,比如只过滤空格、逗号、select、union 这类关键字。攻击者可以用大小写混淆、注释符、URL 编码、宽字节、换行、括号、函数等价替代、布尔盲注、时间盲注、二次注入等方式绕过。例如过滤空格时可能用 /**/、换行或括号替代;过滤逗号时,MySQL 某些场景可以用 join、from for 或子查询改写。
但我在面试中会强调:绕过技巧说明黑名单不可靠,修复不能继续堆规则。正确做法还是参数化查询、白名单映射、最小权限和统一 ORM/DAO 层封装。安全设备如 WAF 可以作为辅助,但不能代替代码层修复。
5. sql注入的拼接和闭合是什么意思
参考完整回答(SQL注入绕过):
SQL 注入绕过通常是因为防护用了黑名单,比如只过滤空格、逗号、select、union 这类关键字。攻击者可以用大小写混淆、注释符、URL 编码、宽字节、换行、括号、函数等价替代、布尔盲注、时间盲注、二次注入等方式绕过。例如过滤空格时可能用 /**/、换行或括号替代;过滤逗号时,MySQL 某些场景可以用 join、from for 或子查询改写。
但我在面试中会强调:绕过技巧说明黑名单不可靠,修复不能继续堆规则。正确做法还是参数化查询、白名单映射、最小权限和统一 ORM/DAO 层封装。安全设备如 WAF 可以作为辅助,但不能代替代码层修复。
6. 延时注入
参考完整回答(SQL注入):
SQL 注入的本质是用户输入进入 SQL 语句后被数据库当作语法执行,改变了原本查询逻辑。比如登录、搜索、筛选、排序、导出接口中,如果后端直接拼接 username、id、keyword、orderBy 等参数,就可能导致布尔盲注、报错注入、联合查询、时间盲注甚至写文件或提权。
修复上我会首选预编译和参数化查询,让用户输入只作为数据而不是 SQL 语法。对于 order by、表名、列名这类无法直接用占位符的位置,不能拼接用户输入,而应该做白名单映射,例如前端传 name,后端映射到固定字段 user_name;排序方向只允许 asc/desc。除此之外,还要限制数据库账号权限、关闭详细报错、记录异常 SQL 行为,并在上线前做 SAST/DAST 和手工复测。
7. xss的修复(后端怎么修,前端怎么修)
参考完整回答(XSS):
XSS 是用户可控内容被浏览器当成脚本执行。反射型常见于搜索参数或错误提示,存储型常见于评论、昵称、工单内容,DOM 型常见于前端从 location、hash、postMessage 中取值后写入页面。影响包括窃取用户信息、发起越权操作、劫持页面、钓鱼和横向传播。
修复要按输出上下文处理:输出到 HTML 文本要 HTML 编码,输出到属性要属性编码,输出到 JS 字符串要 JS 编码,输出到 URL 要限制协议并 URL 编码。富文本不能自己写黑名单,应该用成熟清洗库。Cookie 设置 HttpOnly、Secure、SameSite,降低被盗风险;CSP 可以限制脚本来源,作为纵深防御。
8. 水平越权和垂直越权
参考完整回答(越权):
越权分水平越权和垂直越权。水平越权是同权限用户访问他人资源,例如 A 用户通过修改 orderId 看到 B 用户订单;垂直越权是低权限用户访问高权限功能,例如普通用户调用管理员删除接口。根因通常是服务端只校验“是否登录”,没有校验“是否有权访问这个资源或动作”。
测试时我会准备两个不同角色或不同用户账号,对比请求中的 userId、tenantId、role、resourceId、orderId 等参数,尝试替换后看响应是否越界。修复必须在服务端统一鉴权,基于当前登录用户从服务端上下文取身份,校验角色、租户和资源归属,不能相信前端传来的 role 或 userId。
9. 擅长什么语言
参考完整回答(职业方向):
职业方向我会结合岗位回答。如果投漏洞研究/代码审计,我会说自己更喜欢从漏洞原理、源码调用链和补丁差异里分析问题,希望后续能沉淀漏洞模式、检测规则和工具;如果投安全工程/安全研发,我会强调希望把安全能力产品化,比如扫描器、风控、检测平台和自动化运营;如果投攻防,我会强调攻击链思维和实战复盘。
完整回答可以是:短期我希望把 Web 安全、代码审计和应急基础打牢,能独立完成漏洞分析和修复推动;中期希望在某个方向形成专长,同时补齐工程化能力,把经验沉淀成工具和规则。
10. 实习1干的活(互联网公司防守队)
参考完整回答(项目/实习经历):
项目经历我会用 STAR 讲完整,而不是只列技术名词。先说项目背景:这是一个什么系统、业务价值是什么、我负责哪块安全工作;再说任务:比如接口鉴权、代码审计、漏洞验证、应急处置或安全工具开发;然后讲行动:我如何定位入口、使用了哪些工具、验证了哪些风险、如何推动修复;最后讲结果:修复了什么漏洞、减少了什么暴露面、沉淀了什么规则或文档。
如果面试官深挖,我会准备一个具体案例。例如“我在某系统审计中发现订单详情接口只校验登录态,没有校验订单 owner,导致水平越权。我用两个普通账号互换订单 ID 复现,确认能读取他人数据。修复方案是在服务端统一鉴权中间件里加入用户、租户和资源归属校验,并补充异常访问日志。复测时原越权请求返回 403,正常用户访问不受影响。”
11. 有没有用过运维产品
参考完整回答(有没有用过运维产品):
这题我会这样完整回答:针对“有没有用过运维产品”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
12. 处置过什么告警、研判、溯源
参考完整回答(溯源):
溯源不是简单查 IP 归属,而是把攻击链证据串起来。首先收集 Web 日志、WAF/IDS 告警、主机日志、流量包、样本、域名、证书、User-Agent、Referer、Cookie、攻击 payload 和时间线;然后区分代理节点、扫描器、C2、钓鱼域名和真实操作者可能留下的基础设施;最后结合威胁情报、历史样本、域名注册、证书复用、指纹复用和行为习惯做关联。
面试中我会强调结论分置信度:能确认的是攻击入口、攻击时间、源节点和影响范围;对攻击者身份要谨慎表达,避免把代理 IP 当成真实身份。
13. 实习2干的活(乙方安服)
参考完整回答(项目/实习经历):
项目经历我会用 STAR 讲完整,而不是只列技术名词。先说项目背景:这是一个什么系统、业务价值是什么、我负责哪块安全工作;再说任务:比如接口鉴权、代码审计、漏洞验证、应急处置或安全工具开发;然后讲行动:我如何定位入口、使用了哪些工具、验证了哪些风险、如何推动修复;最后讲结果:修复了什么漏洞、减少了什么暴露面、沉淀了什么规则或文档。
如果面试官深挖,我会准备一个具体案例。例如“我在某系统审计中发现订单详情接口只校验登录态,没有校验订单 owner,导致水平越权。我用两个普通账号互换订单 ID 复现,确认能读取他人数据。修复方案是在服务端统一鉴权中间件里加入用户、租户和资源归属校验,并补充异常访问日志。复测时原越权请求返回 403,正常用户访问不受影响。”
14. 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。
15. 了解了一下简历上的几个攻防演练
参考完整回答(项目/实习经历):
项目经历我会用 STAR 讲完整,而不是只列技术名词。先说项目背景:这是一个什么系统、业务价值是什么、我负责哪块安全工作;再说任务:比如接口鉴权、代码审计、漏洞验证、应急处置或安全工具开发;然后讲行动:我如何定位入口、使用了哪些工具、验证了哪些风险、如何推动修复;最后讲结果:修复了什么漏洞、减少了什么暴露面、沉淀了什么规则或文档。
如果面试官深挖,我会准备一个具体案例。例如“我在某系统审计中发现订单详情接口只校验登录态,没有校验订单 owner,导致水平越权。我用两个普通账号互换订单 ID 复现,确认能读取他人数据。修复方案是在服务端统一鉴权中间件里加入用户、租户和资源归属校验,并补充异常访问日志。复测时原越权请求返回 403,正常用户访问不受影响。”
16. 信息收集的过程
参考完整回答(信息收集/资产收集):
信息收集我会先确定主体范围,避免把非授权资产扫进去。外部资产方面,我会收集根域名、子域名、历史解析、证书透明度记录、备案信息、公众号/小程序、APP、GitHub 代码泄露、云存储桶、供应商系统和招聘/文档中暴露的系统入口。随后做存活探测、端口扫描、服务指纹识别和 Web 指纹识别,把资产按业务系统、管理后台、测试环境、第三方组件和高危服务分类。
具体工具上,域名可用 OneForAll、subfinder、ksubdomain,空间测绘可用 FOFA、Shodan、ZoomEye,端口识别用 Nmap/Masscan,Web 目录和指纹用 httpx、dirsearch、nuclei。最后我会做去重和归属确认,优先关注登录后台、老旧中间件、暴露数据库、未授权接口、测试环境和存在历史漏洞的组件。
17. 信息收集的目的
参考完整回答(信息收集/资产收集):
信息收集我会先确定主体范围,避免把非授权资产扫进去。外部资产方面,我会收集根域名、子域名、历史解析、证书透明度记录、备案信息、公众号/小程序、APP、GitHub 代码泄露、云存储桶、供应商系统和招聘/文档中暴露的系统入口。随后做存活探测、端口扫描、服务指纹识别和 Web 指纹识别,把资产按业务系统、管理后台、测试环境、第三方组件和高危服务分类。
具体工具上,域名可用 OneForAll、subfinder、ksubdomain,空间测绘可用 FOFA、Shodan、ZoomEye,端口识别用 Nmap/Masscan,Web 目录和指纹用 httpx、dirsearch、nuclei。最后我会做去重和归属确认,优先关注登录后台、老旧中间件、暴露数据库、未授权接口、测试环境和存在历史漏洞的组件。
18. 实习3干的活(互联网公司攻击队)
参考完整回答(项目/实习经历):
项目经历我会用 STAR 讲完整,而不是只列技术名词。先说项目背景:这是一个什么系统、业务价值是什么、我负责哪块安全工作;再说任务:比如接口鉴权、代码审计、漏洞验证、应急处置或安全工具开发;然后讲行动:我如何定位入口、使用了哪些工具、验证了哪些风险、如何推动修复;最后讲结果:修复了什么漏洞、减少了什么暴露面、沉淀了什么规则或文档。
如果面试官深挖,我会准备一个具体案例。例如“我在某系统审计中发现订单详情接口只校验登录态,没有校验订单 owner,导致水平越权。我用两个普通账号互换订单 ID 复现,确认能读取他人数据。修复方案是在服务端统一鉴权中间件里加入用户、租户和资源归属校验,并补充异常访问日志。复测时原越权请求返回 403,正常用户访问不受影响。”
19. 写poc用什么写的
参考完整回答(写poc用什么写的):
这题我会这样完整回答:针对“写poc用什么写的”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
20. 实习中独立完成或者印象深刻的例子
参考完整回答(项目/实习经历):
项目经历我会用 STAR 讲完整,而不是只列技术名词。先说项目背景:这是一个什么系统、业务价值是什么、我负责哪块安全工作;再说任务:比如接口鉴权、代码审计、漏洞验证、应急处置或安全工具开发;然后讲行动:我如何定位入口、使用了哪些工具、验证了哪些风险、如何推动修复;最后讲结果:修复了什么漏洞、减少了什么暴露面、沉淀了什么规则或文档。
如果面试官深挖,我会准备一个具体案例。例如“我在某系统审计中发现订单详情接口只校验登录态,没有校验订单 owner,导致水平越权。我用两个普通账号互换订单 ID 复现,确认能读取他人数据。修复方案是在服务端统一鉴权中间件里加入用户、租户和资源归属校验,并补充异常访问日志。复测时原越权请求返回 403,正常用户访问不受影响。”
21. 打过云服务吗,怎么打的
参考完整回答(打过云服务吗怎么打的):
这题我会这样完整回答:针对“打过云服务吗,怎么打的”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
22. 假如现在你的攻击目标,只有各种接口,不是传统的web服务,你有什么攻击思路
参考完整回答(假如现在你的攻击目标只有各种接口不是传统的web服务你有什么攻击思路):
这题我会这样完整回答:针对“假如现在你的攻击目标,只有各种接口,不是传统的web服务,你有什么攻击思路”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
23. 反问
参考完整回答(反问):
反问可以围绕岗位职责、团队方向、技术栈、培养机制、实习生预期、日常工作比例和后续流程。不要只问薪资和作息,可以问“这个岗位更偏漏洞研究、工程建设还是应急响应?”来体现目标感。
二面
24. 自我介绍
参考完整回答(自我介绍):
可以按“背景、方向、项目、工具、优势、求职动机”来讲。示例:我主要学习网络安全方向,熟悉 Web 漏洞、渗透测试、Linux 安全、日志分析和代码审计;项目中做过资产收集、漏洞验证、权限控制或应急处置,常用 Burp、Nmap、sqlmap、Wireshark、Linux 等工具。最后强调自己能从漏洞原理、利用条件和修复方案三个层面分析问题。
25. 在学校都学了哪些课程
参考完整回答(在学校都学了哪些课程):
这题我会这样完整回答:针对“在学校都学了哪些课程”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
26. 硕士研究方向是什么(答了密码学、区块链)
参考完整回答(职业方向):
职业方向我会结合岗位回答。如果投漏洞研究/代码审计,我会说自己更喜欢从漏洞原理、源码调用链和补丁差异里分析问题,希望后续能沉淀漏洞模式、检测规则和工具;如果投安全工程/安全研发,我会强调希望把安全能力产品化,比如扫描器、风控、检测平台和自动化运营;如果投攻防,我会强调攻击链思维和实战复盘。
完整回答可以是:短期我希望把 Web 安全、代码审计和应急基础打牢,能独立完成漏洞分析和修复推动;中期希望在某个方向形成专长,同时补齐工程化能力,把经验沉淀成工具和规则。
27. 密码学都学了什么
参考完整回答(密码学都学了什么):
这题我会这样完整回答:针对“密码学都学了什么”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
28. 区块链介绍一下原理
参考完整回答(区块链介绍一下原理):
这题我会这样完整回答:针对“区块链介绍一下原理”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
29. 区块链的共识算法介绍一下
参考完整回答(区块链的共识算法介绍一下):
这题我会这样完整回答:针对“区块链的共识算法介绍一下”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
30. 工作量证明是怎么做的
参考完整回答(工作量证明是怎么做的):
这题我会这样完整回答:针对“工作量证明是怎么做的”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
31. 为什么哈希的值需要穷举
参考完整回答(加密/签名):
对称加密是同一把密钥加解密,例如 AES,速度快,适合大量数据传输,但密钥分发是问题。非对称加密使用公钥和私钥,例如 RSA/ECC,公钥可以公开,私钥保密,适合密钥交换和数字签名,但性能较慢。哈希是单向摘要,例如 SHA-256,用于完整性校验;HMAC 是带密钥的摘要,能防止消息被篡改。
数字签名的流程是先对消息做哈希,再用私钥签名,接收方用公钥验签。它能证明消息来自私钥持有者、内容未被篡改,并提供不可否认性。TLS 里通常用非对称算法完成身份认证和密钥交换,再用对称加密传输数据。
32. 比特币的计算难度是怎么控制的
参考完整回答(比特币的计算难度是怎么控制的):
这题我会这样完整回答:针对“比特币的计算难度是怎么控制的”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
33. 国家hw的成果
参考完整回答(项目/实习经历):
项目经历我会用 STAR 讲完整,而不是只列技术名词。先说项目背景:这是一个什么系统、业务价值是什么、我负责哪块安全工作;再说任务:比如接口鉴权、代码审计、漏洞验证、应急处置或安全工具开发;然后讲行动:我如何定位入口、使用了哪些工具、验证了哪些风险、如何推动修复;最后讲结果:修复了什么漏洞、减少了什么暴露面、沉淀了什么规则或文档。
如果面试官深挖,我会准备一个具体案例。例如“我在某系统审计中发现订单详情接口只校验登录态,没有校验订单 owner,导致水平越权。我用两个普通账号互换订单 ID 复现,确认能读取他人数据。修复方案是在服务端统一鉴权中间件里加入用户、租户和资源归属校验,并补充异常访问日志。复测时原越权请求返回 403,正常用户访问不受影响。”
34. 小组分工情况
参考完整回答(小组分工情况):
这题我会这样完整回答:针对“小组分工情况”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
35. 小组人员的配置
参考完整回答(小组人员的配置):
这题我会这样完整回答:针对“小组人员的配置”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
36. 得分大概是什么水平
参考完整回答(越权):
越权分水平越权和垂直越权。水平越权是同权限用户访问他人资源,例如 A 用户通过修改 orderId 看到 B 用户订单;垂直越权是低权限用户访问高权限功能,例如普通用户调用管理员删除接口。根因通常是服务端只校验“是否登录”,没有校验“是否有权访问这个资源或动作”。
测试时我会准备两个不同角色或不同用户账号,对比请求中的 userId、tenantId、role、resourceId、orderId 等参数,尝试替换后看响应是否越界。修复必须在服务端统一鉴权,基于当前登录用户从服务端上下文取身份,校验角色、租户和资源归属,不能相信前端传来的 role 或 userId。
37. 自己找了哪些突破口
参考完整回答(弱口令突破):
如果资产收集后要找突破口,我会优先看高价值、低成本和暴露明显的点:管理后台、VPN、堡垒机、OA、GitLab、Jenkins、Nexus、Swagger、测试环境、默认口令服务、历史漏洞组件和云存储暴露。弱口令只是入口之一,不会盲目大规模爆破,而是结合口令策略、默认账号、泄露字典和授权范围做低频验证。
拿到入口后要验证影响,比如是否能访问后台、上传文件、执行任务或读取敏感配置。防护上是 MFA、强密码策略、登录限速、默认账号治理、暴露面收敛和异常登录告警。
38. 工作中觉得老员工和新员工的差距在哪里
参考完整回答(工作中觉得老员工和新员工的差距在哪里):
这题我会这样完整回答:针对“工作中觉得老员工和新员工的差距在哪里”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
39. 经验上的差距一般体现在什么地方
参考完整回答(经验上的差距一般体现在什么地方):
这题我会这样完整回答:针对“经验上的差距一般体现在什么地方”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
40. 平时有什么兴趣爱好
参考完整回答(HR问题):
这类 HR 问题要回答得稳定、真诚、不过度暴露弱点。期望薪资可以说“我会结合岗位职责、城市和公司薪酬体系,希望在贵司对应校招/实习生范围内匹配,我更看重团队方向和成长空间”;工作地点可以说明优先级和可接受范围;多久到岗要给明确时间;职业规划可以说短期打牢安全基础并在业务中独立承担任务,中长期希望在漏洞研究/安全工程/攻防方向形成专长。
遇到个人生活类问题,保持简洁,不展开隐私,把回答拉回工作稳定性和投入度即可。
41. 打篮球吗
参考完整回答(打篮球吗):
这题我会这样完整回答:针对“打篮球吗”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
42. 打游戏吗
参考完整回答(打游戏吗):
这题我会这样完整回答:针对“打游戏吗”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
43. 王者荣耀什么段位
参考完整回答(王者荣耀什么段位):
这题我会这样完整回答:针对“王者荣耀什么段位”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
44. 游戏安全了解吗,外挂的原理?
参考完整回答(游戏安全了解吗外挂的原理):
这题我会这样完整回答:针对“游戏安全了解吗,外挂的原理?”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
45. 反外挂反作弊了解吗
参考完整回答(反外挂反作弊了解吗):
这题我会这样完整回答:针对“反外挂反作弊了解吗”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
46. 觉得国企和互联网企业的安全水平哪个更高
参考完整回答(越权):
越权分水平越权和垂直越权。水平越权是同权限用户访问他人资源,例如 A 用户通过修改 orderId 看到 B 用户订单;垂直越权是低权限用户访问高权限功能,例如普通用户调用管理员删除接口。根因通常是服务端只校验“是否登录”,没有校验“是否有权访问这个资源或动作”。
测试时我会准备两个不同角色或不同用户账号,对比请求中的 userId、tenantId、role、resourceId、orderId 等参数,尝试替换后看响应是否越界。修复必须在服务端统一鉴权,基于当前登录用户从服务端上下文取身份,校验角色、租户和资源归属,不能相信前端传来的 role 或 userId。
47. 对国内安全行业和互联网的看法
参考完整回答(对国内安全行业和互联网的看法):
这题我会这样完整回答:针对“对国内安全行业和互联网的看法”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
48. 了解TCL的业务吗
参考完整回答(了解tcl的业务吗):
这题我会这样完整回答:针对“了解TCL的业务吗”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
49. 反问
参考完整回答(反问):
反问可以围绕岗位职责、团队方向、技术栈、培养机制、实习生预期、日常工作比例和后续流程。不要只问薪资和作息,可以问“这个岗位更偏漏洞研究、工程建设还是应急响应?”来体现目标感。
返回安全面经目录