各大厂安全技术类面经总结

"安全技术"

Posted by R0nzy on December 15, 2016

一、某杭州大厂

电话一面

  1. 说说web安全有哪些漏洞
  2. 什么是sql注入,怎么防御
    防御:预编译、使用存储过程、检查数据类型、使用安全函数
  3. 有没有了解soap注入
  4. limit语句后面怎么注入这里当时着实不知道凭着自己理解大概说了下sql语句的组成,并需要通过sql语句的构成来应对不同环境, 针对limit注入关键是procedure存储过程和analyze函数
  5. xml注入是什么呢
  6. 有没有了解过java反序列化漏洞(有些spring框架为什么就有这种漏洞)
  7. 平时做代码安全审计是怎么做的,举个例子说下是怎么找到漏洞的。这里是我的强项。。
  8. 有没有接触过移动安全?(虽然试着做过几个app的安全测试,但还是老实说了不会。)
  9. 说说ssl协议握手过程?问到这里时面试官机智的笑了。。


电话二面

       二面主要还是以项目为主,面试官挺好的,没有任何紧张感,将自己各方面完完整整跟他说了遍,整体感觉还行。面试问题大概回忆了下

  1. 说下平时怎么做代码安全审计的
  2. syn flooding攻击原理
  3. 说下宽字节注入的原理
  4. 为什么选择读研,值得吗
  5. 你实习过程中做过的印象最深的事情是什么
  6. 说下你读研期间的研究方向(主要是论文)


三面(现场面)

       前面的电话面试从一面到二面中间隔了两个月不知道是什么鬼,自己目测这家公司把我当面试的备胎了,八月底一面,九月中旬才二面,这面试时间拖得真长。九月底自己百般无奈下联系了下hr后就通知去杭州现场面了。。
公司杭州这边环境比较小,毕竟是分公司嘛,前台小姐美美哒,领了我们去小房间去啦~(面试)。一面面试官技术大牛,感觉把安全类的问题问了个遍,废话不多说直接上干货。

  1. 看你实习经历做代码审计的,你能说下你平时是怎么做代码审计的吗,说下具体思路?这问题已经问过无数次了,答起来也得心应手了。
  2. 你说你会用静态代码安全审计工具,那么你知道这些工具的原理是什么吗?换句话说就是简要描述下这些工具是通过怎样的方式实现的。(以前看过这方面的书籍,跟他提了两个关键字AST树和token流)
  3. 你做代码审计有没有找过比较经典的漏洞,我精心准备的是条件竞争漏洞,感觉面试官也不怎么熟,便开始问我php代审了。
  4. 有没有接触过php的代码审计,php的文件包含漏洞是什么。文件包含漏洞的形成原因(换句换说就是什么函数导致的)。
  5. 这里紧接着上一问。假如有文件包含漏洞,你怎样通过这个文件包含漏洞将页面的源代码包含进来(这里答得不好,自己说了./切换目录,其实这都只是包含页面,面试官问的是包含代码,自己没打出来,面试官还是很好的回答了,用php伪协议)
  6. 有没有做过渗透,你平常是怎么对一个网站进行渗透的?换句话说就是要你说渗透测试流程。
  7. 有没有做过内网渗透,内网渗透怎么做的。
  8. 你说下你开发过程中对一个安全威胁是怎么防御的,这里我举例了文件上传漏洞,以前做java开发写过一个文件上传工具类,结合平时看的答起来还算行。
  9. 有没有了解过宽字节注入,宽字节注入漏洞是什么原理,怎么防御。
  10. 你在ASRC和JSRC提交的漏洞都是哪些?我说了越权,csrf,xss,url跳转等
  11. 说下csrf漏洞的原理,防御方案。
  12. 谈到了csrf防御一类检查referer头,http中referer头代表什么?什么情况下referer头为空?
  13. 用python写过什么安全小工具,怎么写的?这里简单描述下行了
  14. Mybatis框架中sql注入的触发原因是什么?
  15. XSS漏洞有哪些类型,说下dom型XSS是怎么形成的
  16. 假如让你用java写个web漏洞扫描器,你会怎么写?说下思路就行
  17. 说下SSRF漏洞的原理,php中触发原理(php哪些函数会导致此漏洞)
  18. ssrf函数我在php中没答出来,他就问我在java中成因。我这里就只说了java中httputil类可以实现http传输功能。
  19. 说下java反序列化漏洞的形成原因,具体是哪些类库造成的,和漏洞触发条件等?
  20. 说下struts2漏洞的原理,这种漏洞触发的根本原因是什么?
  21. 你读研时候的研究方向是什么?我说的是安全态势感知,异常流量识别,他于是就问怎么做的,我就把自己论文的思路跟他说了遍。
  22. 今后想做哪个方向,安全漏洞挖掘,安全开发还是其他?自己说的安全开发,感觉技术二面的面试内容和这一问很相关。


四面(技术总监面)

       四面面试官是个胖子,进来就憨厚的笑了下,看了下我简历,八卦了几句。肥硕的身材和憨厚的笑容让我顿时没了紧张感。但是没想到四面技术不比三面差,总的说来四面偏开发和基本功一点,自己没想到会往开发和基础方面问,所以有些还是没准备好,总体效果一般般,下面是具体的问题。

  1. 你能自我介绍下吗
  2. 你读研时候的研究方向是什么,听我说了异常流量识别就问了我是怎么做的,用的异常流量类型有哪些?
  3. hashmap它的实现原理有没有接触过?
  4. hashmap和hashtable有什么区别?
  5. 给你两张纸,怎样找出两张纸中重复的单词?说下思路就行
  6. 网络协议这块熟不熟,app这一块有没有接触过,app是怎么跟后台打交道的?我说的用安全方式有https
  7. 假如不让你用https的话,你怎么去实现app和后台的安全交互?我说了本地加密和代码混淆,没答好。。
  8. 紧接上一问,tcp协议中标志位有个是RST标志位,你能说下这个标志位出现在什么场景吗?自己说关闭,然后他让我写四次挥手,我画了用fin标志位,将自己的回答自己否定了。。。。尼玛
  9. 你平时做java做过哪些java开发。有没有接触过单点登录?怎样去实现单点登录,跨域之间怎样实现单点登陆。
  10. 看你做过应急响应,你是怎么做应急的,假如让你实现企业自动化应急,你会怎么做?
  11. hash表这个是怎么实现的?自己说了下hash的数据结构实现原理。
  12. 最近有没有学其他的?自己说了linux c。。。你知不知道linux系统里面文件描述符和系统描述符的区别?自己说不知道,囧,二面就这样结束了。


hr终面(现场面)

       hr姐姐略严肃,整体感觉跟其他hr面试差不多,但自己还是有些没有说好。

  1. 你能简要的介绍下你自己吗?
  2. 你以前本科方向是信息管理,你问什么会选安全这个方向?
  3. 你以前一直在实习吗?实习内容都是做什么的。
  4. 你觉得你研究生期间让你印象最深的一件事是什么?
  5. 有没有了解过我们公司的一些产品呢?
  6. 你觉得你和你同学比谁更好些?
  7. 你觉得之前的面试环节面试得怎么样,面试官如何?
  8. 你现在有offer了吗,都是哪些offer?


二、蚂蚁金服(阿里)安全开发岗面经

       这是春招时候的面经了,满满的面试收获,因为一面都是些简单的问答,所以这个面经是蚂蚁金服二面,整整面了一个小时,完全凌驾于其他面试。面试涵盖个人素养到职业技能。 想想还真的可惜~~~感觉进阿里只差一点点,不过总得来说还是自己的基础问题,只能拥抱变化gg了,哈哈。。

  1. 谈谈你在安全研究和学习过程中,比较常用的一些学习方法。
  2. 自己实习最想做的方向。(说的渗透测试和代码审计,接下来就开始问了)
  3. 平常针对网站是怎样去挖掘漏洞?
  4. 以注册流程为例,谈谈注册流程中主要包含的一些漏洞。(这里感觉面试官主要考察挖掘漏洞的积累量和经验,说得越多越好)
  5. 谈谈一个网站是怎样防御xss攻击的。(必问,答得一般)
  6. 谈下近几年来有关ssl协议出现的漏洞(自己说的是心脏滴血)
  7. 紧接上一问,谈谈心脏滴血漏洞的原理。。(这里没有答好,说到了缓冲区溢出,原理还是要补下)
  8. 描述怎样通过各种途径得到一个网站后台的管理员权限。
    1. xss
    2. 钓鱼欺骗
    3. sql注入(网站本身漏洞)
    4. 弱口令
    5. arp攻击(局域网段内)
    6. 信息收集(社工)
    7. 上传
  9. 根据项目经验,怎样根据代码审计来挖掘一些常见的漏洞,举例。
  10. 有没有了解java的一些常用框架,以及java自带的一些安全处理类。(java本身不熟,所以就直接放弃了)
  11. 谈谈java反序列化漏洞的形成原理。
  12. 给你一个网站,概述渗透测试的所有流程。
  13. 怎样收集网站域名和ip信息。
  14. python中yield关键字的作用。(自己说的对python相对于java挺熟,所以问了这个)
  15. 问了问研究生期间的研究方向,自己论文的主要内容(看我简历写的安全态势感知、所以就问了我是怎样做的)
  16. 假如给你一个数据集合,你怎样定位异常流量以及怎样对异常流量进行分类判断。
  17. 实验室从事安全行业的师兄有些怎样的品质是值得你钦佩的(这个问得防不胜防,随便答了两个)
  18. 假如你能加入我们团队,你对你自己有怎样的要求。


三、腾讯&微信春招安全技术岗面经

       腾讯总得来说面试偏基本功点,虽然面的是安全类,但是可以看出腾讯对于基础的重视度绝对高于任何公司,两次面试都跪一面,难道真的与鹅厂无缘了?
       大厂就是大厂,面试的结果无非两种,最深刻的是能让你知道你的能力和差距到底在哪里,腾讯对于c和c++的重视程度非常高,所以面试的主题还是基础,下面是回忆的一些面经。

  1. 有没有了解过c++的虚表?
  2. 什么是线程,什么是进程?
  3. 缓冲区溢出的原理是什么?
  4. 有没有做过客户端的安全研究?
  5. 应急响应过程
    怎么定位木马文件,以及木马上传点
    应急过程自动化???
  6. 自动化代码安全审计原理,有没有自己独特的审计思路
  7. 自动化渗透工具原理
  8. sql注入细节(写注入语句).php?id=1
  9. 说说你找过的比较严重的漏洞
  10. app渗透怎么抓https包