专注企业信息安全建设

安全招聘之面试题

面试题目

渗透测试(WEB方向)

  • 挑选两到四个不同方向常见和不常见的漏洞,就漏洞原理、利用方式和修复方案进行提问,然后根据回答的情况进行详细深入的二次提问
    • Redis未授权访问漏洞如何入侵利用?
    • SSRF漏洞原理、利用方式及修复方案?Java和PHP的SSRF区别?
    • 宽字节注入漏洞原理、利用方式及修复方案?
    • 简述JSONP的业务意义,JSONP劫持利用方式及修复方案?
    • CRLF注入原理?
    • URL白名单绕过?
    • XSS持久化?
  • 渗透全流程
  • 就漏洞的检测发现进行提问
    • 越权问题如何检测?
    • 黑盒如何检测XSS漏洞?
    • 如果爬取更多的请求?
  • 应急思考
    • 有哪几种后门实现方式?
    • webshell检测有什么方法思路?
    • Linux服务器中了木马后,请简述应急思路?
    • 遇到新0day(比如Struts2)后,应该如何进行应急响应?
    • 新业务上线前可以从哪些方向进行安全评估?
    • 现有系统可以从哪些方向进行审计发现其中的安全风险?
  • 基础开发
    • 简述Python装饰器、迭代器、生成器原理及应用场景?
    • 简述Python进程、线程和协程的区别及应用场景?

安全开发(JAVA方向)

  • Java基础
    • Java虚拟机区域如何划分?
    • HashMap和HashTable、ConcurrentHashMap的区别?
    • 进程和线程区别,进程间、线程间通信有哪几种方式?
    • Java BIO/NIO/AIO是什么?适用哪些场景?
  • 算法基础
    • 快速排序的过程和复杂度?
    • 冒泡排序的过程和复杂度?
    • CNN对比RNN区别?
  • 业务基础
    • 调试工具及异常排查流程?
    • 数据库索引结构,什么情况下应该建唯一索引?
    • 数据库分页语句如何写?
  • 业务安全
    • HTTPS交互过程
    • OAuth2.0交互过程及其中可能存在的配置不当安全风险
    • 对称加密和非对称加密的区别及优缺点
    • 获取一个入参url,请求url地址的内容时应注意什么?
    • 参数入库前应该如何过滤?
    • 过滤器和拦截器原理和应用场景?
    • SESSION ID如何不被Javascript读取?
    • CSRF的Token如何设计?
    • 同源策略?如何实现跨域请求?

安全运营(合规审计方向)

  • 对于内控、合规、审计的理解
    • 考察其对于要做的事情和岗位要求、公司环境是否匹配
    • 考察其大局上考虑是否周全或是片面
  • 传统行业和互联网行业的安全建设的区别及各自的优劣势
    • 是否能准确的抓住核心原因
  • 信息安全等级保护、网络安全法、GDPR
    • 挑选一到两个问其对其的来源理解以及落地程度取舍
  • 数据安全治理可以用什么思路做?
  • 如何通过技术手段实现对异常操作的自动化监控?
  • 如何对一个应用进行安全评估?
  • 如何对一个应用进行安全审计?
  • 如何理解权限分离、最小化权限?
  • 考察一些CISP、CISSP的知识点
  • 流程的设计
    • 挑选一些较为复杂的流程,比如转岗、离职等,如何设计考虑其中的细节

安全架构(安全管理方向)

  • 渗透测试、安全研发、安全运营的问题可以挑选的问一些,以确保在各个方向上比较均衡
  • 对于企业不同时期、不同阶段、不同体量的安全建设的方法、区别以及侧重
  • 你所做过的安全架构图和所期望的安全架构
  • 安全与其他团队(运维、研发、测试、GR/PR、内控、高管及三方安全公司)的关系
  • 安全建设的理念/方法论理解
    • 纵深防御
    • 木桶原理
    • 由外而内
    • 先低后上
    • 能口不点
    • 最小权限
    • 权限分离
    • 白名单和黑名单
    • 漏洞和误报
    • 规则经验和机器学习
    • 漏洞危害证明
    • 技术管控与意识提升的关系
    • 安全推进方法
    • 自研OR外采?
    • 找到总的核心目标和各个项目的主要目标
    • 创新和极致
    • 责任分担
    • 黑天鹅和灰犀牛
  • 衡量企业安全建设的水平
  • 不同公司间的安全区别或差别是什么?比如腾讯和阿里,百度和京东
  • 如何制定公司安全建设的三年甚至五年计划
  • 未来安全行业的发展方向?

笔试题目

面试题目往往大同小异,而由于圈子小的原因很容易传播出去,如果做过准备哪怕深入的问也可能有漏网之鱼。而笔试往往能很好的看出来其动手能力,所以应尽可能的出一些无法提前预知、无法网上查询的专属题目,题目可以侧重于开发、调试、数据操作等方面。

渗透测试方向

  • 给定一个漏洞靶场,在一定时间内找出最多漏洞数
  • 给定一个匿名访问Redis,请GET SHELL
  • 给一个项目场景进行安全评估(e.g.与三方厂商进行API交互)

软件开发方向

  • 读取一个文件第100-200行并发送到一个指定的API接口(着重考察对于各种异常情况的考虑)
  • 最快的方式获取100万个子域名请求的响应内容并找出其中真实存在的子域名

数据结构方向

  • 给一个数组[3,4,5,6,2,1,8],输入所有二元组其和为8。
    • 每个数字只能用一次
    • 数组长度不定
    • 考虑时间复杂度和空间复杂度,以最高效率
  • 存在一个list结构(表1),请转换为树状结构(表2)
    • pid和id关系为父子关系
    • name为无规律随意命名

表1:list结构(list length>1000)

[ { 'id': '111', 'pid': '0', 'name': 'A1' }, { 'id': '222', 'pid': '111', 'name': 'A-B1' }, { 'id': '223', 'pid': '111', 'name': 'A-B2' }, { 'id': '224', 'pid': '111', 'name': 'A-B3' }, { 'id': '333', 'pid': '223', 'name': 'A-B2-C1' }, { 'id': '444', 'pid': '333', 'name': 'A-B2-C1-D1' } ]

表2:最终的结构

{ 'id': '111', 'pid': '0', 'name': 'A1', 'child': [ { 'id': '222', 'pid': '111', 'name': 'A-B1' }, { 'id': '223', 'pid': '111', 'name': 'A-B2', '

添加评论

专注企业信息安全建设

Languages

标签