一、某杭州大厂
电话一面
- 说说web安全有哪些漏洞
- 什么是sql注入,怎么防御
防御:预编译、使用存储过程、检查数据类型、使用安全函数 - 有没有了解soap注入
- limit语句后面怎么注入这里当时着实不知道凭着自己理解大概说了下sql语句的组成,并需要通过sql语句的构成来应对不同环境, 针对limit注入关键是procedure存储过程和analyze函数
- xml注入是什么呢
- 有没有了解过java反序列化漏洞(有些spring框架为什么就有这种漏洞)
- 平时做代码安全审计是怎么做的,举个例子说下是怎么找到漏洞的。这里是我的强项。。
- 有没有接触过移动安全?(虽然试着做过几个app的安全测试,但还是老实说了不会。)
- 说说ssl协议握手过程?问到这里时面试官机智的笑了。。
电话二面
二面主要还是以项目为主,面试官挺好的,没有任何紧张感,将自己各方面完完整整跟他说了遍,整体感觉还行。面试问题大概回忆了下
- 说下平时怎么做代码安全审计的
- syn flooding攻击原理
- 说下宽字节注入的原理
- 为什么选择读研,值得吗
- 你实习过程中做过的印象最深的事情是什么
- 说下你读研期间的研究方向(主要是论文)
三面(现场面)
前面的电话面试从一面到二面中间隔了两个月不知道是什么鬼,自己目测这家公司把我当面试的备胎了,八月底一面,九月中旬才二面,这面试时间拖得真长。九月底自己百般无奈下联系了下hr后就通知去杭州现场面了。。
公司杭州这边环境比较小,毕竟是分公司嘛,前台小姐美美哒,领了我们去小房间去啦~(面试)。一面面试官技术大牛,感觉把安全类的问题问了个遍,废话不多说直接上干货。
- 看你实习经历做代码审计的,你能说下你平时是怎么做代码审计的吗,说下具体思路?这问题已经问过无数次了,答起来也得心应手了。
- 你说你会用静态代码安全审计工具,那么你知道这些工具的原理是什么吗?换句话说就是简要描述下这些工具是通过怎样的方式实现的。(以前看过这方面的书籍,跟他提了两个关键字AST树和token流)
- 你做代码审计有没有找过比较经典的漏洞,我精心准备的是条件竞争漏洞,感觉面试官也不怎么熟,便开始问我php代审了。
- 有没有接触过php的代码审计,php的文件包含漏洞是什么。文件包含漏洞的形成原因(换句换说就是什么函数导致的)。
- 这里紧接着上一问。假如有文件包含漏洞,你怎样通过这个文件包含漏洞将页面的源代码包含进来(这里答得不好,自己说了./切换目录,其实这都只是包含页面,面试官问的是包含代码,自己没打出来,面试官还是很好的回答了,用php伪协议)
- 有没有做过渗透,你平常是怎么对一个网站进行渗透的?换句话说就是要你说渗透测试流程。
- 有没有做过内网渗透,内网渗透怎么做的。
- 你说下你开发过程中对一个安全威胁是怎么防御的,这里我举例了文件上传漏洞,以前做java开发写过一个文件上传工具类,结合平时看的答起来还算行。
- 有没有了解过宽字节注入,宽字节注入漏洞是什么原理,怎么防御。
- 你在ASRC和JSRC提交的漏洞都是哪些?我说了越权,csrf,xss,url跳转等
- 说下csrf漏洞的原理,防御方案。
- 谈到了csrf防御一类检查referer头,http中referer头代表什么?什么情况下referer头为空?
- 用python写过什么安全小工具,怎么写的?这里简单描述下行了
- Mybatis框架中sql注入的触发原因是什么?
- XSS漏洞有哪些类型,说下dom型XSS是怎么形成的
- 假如让你用java写个web漏洞扫描器,你会怎么写?说下思路就行
- 说下SSRF漏洞的原理,php中触发原理(php哪些函数会导致此漏洞)
- ssrf函数我在php中没答出来,他就问我在java中成因。我这里就只说了java中httputil类可以实现http传输功能。
- 说下java反序列化漏洞的形成原因,具体是哪些类库造成的,和漏洞触发条件等?
- 说下struts2漏洞的原理,这种漏洞触发的根本原因是什么?
- 你读研时候的研究方向是什么?我说的是安全态势感知,异常流量识别,他于是就问怎么做的,我就把自己论文的思路跟他说了遍。
- 今后想做哪个方向,安全漏洞挖掘,安全开发还是其他?自己说的安全开发,感觉技术二面的面试内容和这一问很相关。
四面(技术总监面)
四面面试官是个胖子,进来就憨厚的笑了下,看了下我简历,八卦了几句。肥硕的身材和憨厚的笑容让我顿时没了紧张感。但是没想到四面技术不比三面差,总的说来四面偏开发和基本功一点,自己没想到会往开发和基础方面问,所以有些还是没准备好,总体效果一般般,下面是具体的问题。
- 你能自我介绍下吗
- 你读研时候的研究方向是什么,听我说了异常流量识别就问了我是怎么做的,用的异常流量类型有哪些?
- hashmap它的实现原理有没有接触过?
- hashmap和hashtable有什么区别?
- 给你两张纸,怎样找出两张纸中重复的单词?说下思路就行
- 网络协议这块熟不熟,app这一块有没有接触过,app是怎么跟后台打交道的?我说的用安全方式有https
- 假如不让你用https的话,你怎么去实现app和后台的安全交互?我说了本地加密和代码混淆,没答好。。
- 紧接上一问,tcp协议中标志位有个是RST标志位,你能说下这个标志位出现在什么场景吗?自己说关闭,然后他让我写四次挥手,我画了用fin标志位,将自己的回答自己否定了。。。。尼玛
- 你平时做java做过哪些java开发。有没有接触过单点登录?怎样去实现单点登录,跨域之间怎样实现单点登陆。
- 看你做过应急响应,你是怎么做应急的,假如让你实现企业自动化应急,你会怎么做?
- hash表这个是怎么实现的?自己说了下hash的数据结构实现原理。
- 最近有没有学其他的?自己说了linux c。。。你知不知道linux系统里面文件描述符和系统描述符的区别?自己说不知道,囧,二面就这样结束了。
hr终面(现场面)
hr姐姐略严肃,整体感觉跟其他hr面试差不多,但自己还是有些没有说好。
- 你能简要的介绍下你自己吗?
- 你以前本科方向是信息管理,你问什么会选安全这个方向?
- 你以前一直在实习吗?实习内容都是做什么的。
- 你觉得你研究生期间让你印象最深的一件事是什么?
- 有没有了解过我们公司的一些产品呢?
- 你觉得你和你同学比谁更好些?
- 你觉得之前的面试环节面试得怎么样,面试官如何?
- 你现在有offer了吗,都是哪些offer?
二、蚂蚁金服(阿里)安全开发岗面经
这是春招时候的面经了,满满的面试收获,因为一面都是些简单的问答,所以这个面经是蚂蚁金服二面,整整面了一个小时,完全凌驾于其他面试。面试涵盖个人素养到职业技能。 想想还真的可惜~~~感觉进阿里只差一点点,不过总得来说还是自己的基础问题,只能拥抱变化gg了,哈哈。。
- 谈谈你在安全研究和学习过程中,比较常用的一些学习方法。
- 自己实习最想做的方向。(说的渗透测试和代码审计,接下来就开始问了)
- 平常针对网站是怎样去挖掘漏洞?
- 以注册流程为例,谈谈注册流程中主要包含的一些漏洞。(这里感觉面试官主要考察挖掘漏洞的积累量和经验,说得越多越好)
- 谈谈一个网站是怎样防御xss攻击的。(必问,答得一般)
- 谈下近几年来有关ssl协议出现的漏洞(自己说的是心脏滴血)
- 紧接上一问,谈谈心脏滴血漏洞的原理。。(这里没有答好,说到了缓冲区溢出,原理还是要补下)
- 描述怎样通过各种途径得到一个网站后台的管理员权限。
- xss
- 钓鱼欺骗
- sql注入(网站本身漏洞)
- 弱口令
- arp攻击(局域网段内)
- 信息收集(社工)
- 上传
- 根据项目经验,怎样根据代码审计来挖掘一些常见的漏洞,举例。
- 有没有了解java的一些常用框架,以及java自带的一些安全处理类。(java本身不熟,所以就直接放弃了)
- 谈谈java反序列化漏洞的形成原理。
- 给你一个网站,概述渗透测试的所有流程。
- 怎样收集网站域名和ip信息。
- python中yield关键字的作用。(自己说的对python相对于java挺熟,所以问了这个)
- 问了问研究生期间的研究方向,自己论文的主要内容(看我简历写的安全态势感知、所以就问了我是怎样做的)
- 假如给你一个数据集合,你怎样定位异常流量以及怎样对异常流量进行分类判断。
- 实验室从事安全行业的师兄有些怎样的品质是值得你钦佩的(这个问得防不胜防,随便答了两个)
- 假如你能加入我们团队,你对你自己有怎样的要求。
三、腾讯&微信春招安全技术岗面经
腾讯总得来说面试偏基本功点,虽然面的是安全类,但是可以看出腾讯对于基础的重视度绝对高于任何公司,两次面试都跪一面,难道真的与鹅厂无缘了?
大厂就是大厂,面试的结果无非两种,最深刻的是能让你知道你的能力和差距到底在哪里,腾讯对于c和c++的重视程度非常高,所以面试的主题还是基础,下面是回忆的一些面经。
- 有没有了解过c++的虚表?
- 什么是线程,什么是进程?
- 缓冲区溢出的原理是什么?
- 有没有做过客户端的安全研究?
- 应急响应过程
怎么定位木马文件,以及木马上传点
应急过程自动化??? - 自动化代码安全审计原理,有没有自己独特的审计思路
- 自动化渗透工具原理
- sql注入细节(写注入语句).php?id=1
- 说说你找过的比较严重的漏洞
- app渗透怎么抓https包