0x28 美团 安全岗实习
来源:https://github.com/vvmdx/Sec-Interview-4-2023
说明:本文件按原面经问题整理答题要点,答案为面试复习口径。
1. A: (?没懂这个问题)是说指令 opcode 内部是怎么设计的吗
参考完整回答(a没懂这个问题是说指令opcode内部是怎么设计的吗):
这题我会这样完整回答:针对“A: (?没懂这个问题)是说指令 opcode 内部是怎么设计的吗”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
2. A: (??继续懵逼)不同的跳转条件对应不同的 opcode,也对应不同表项,反汇编器里内置了一个表,比如 0xaa 对应 jne,0xbb 对应 je(难道是想问 ModR/M, SIB 那些?
参考完整回答(a继续懵逼不同的跳转条件对应不同的opcode也对应不同表项反汇编器里内置了一个表比如xaa对应jnexbb对应je难道):
这题我会这样完整回答:针对“A: (??继续懵逼)不同的跳转条件对应不同的 opcode,也对应不同表项,反汇编器里内置了一个表,比如 0xaa 对应 jne,0xbb 对应 je(难道是想问 ModR/M, SIB 那些?”,我会先说明它对应的安全场景和要解决的问题,再给出一个具体例子。比如在真实测试或审计中,我会先确认入口在哪里、用户输入是否可控、数据经过哪些处理、最终进入哪个敏感操作;验证时尽量使用低风险方式证明影响,例如观察响应差异、日志、时间延迟、回连记录或权限边界,而不是破坏数据。修复时从代码、配置和权限三方面处理:代码层使用安全 API、参数化、白名单和输出编码;配置层关闭危险功能、升级组件、限制网络和文件权限;权限层坚持最小权限,避免单点漏洞扩大影响。最后我会补充复测方法,用原触发条件验证漏洞不可再利用,并确认正常业务流程仍然可用。
返回安全面经目录