信息安全实习生面试小结

0x00前言

第一次面试没有经验,第一个面试电话接到的时候手都在抖2333,但到面试了几个公司后,也渐渐放得开了许多

今年9月份就步入大四,因此再4月份时候也参加过几家公司的安全类的实习生的面试,其中有甲方公司,也有乙方公司。实习是找到了。但是通过面试也发现自己的很多不足,这里就稍微总结下

对于甲方和乙方公司的不同在于,甲方公司如阿里,腾讯等主要考察的是整体知识,也就是需要具备广而全的知识储备,了解如果某一环节出了安全问题,需要有处理的思路

乙方公司如360,绿盟等更偏重于渗透的技巧,会详细到某些手法的应用

简而言之,甲方需要的人懂得知识要广而全,乙方需要的人是熟而精

 

面试的流程主要是:投简历、笔试、面试(技术面1-3轮)、收到offer邮件

有时候有内推是可以忽略到笔试这个环节,笔试是线上,面试是电话

 

0x01笔试和面试问题

因为过了2周了,下面问题有可能记录不全,问题就先罗列下,答案因为每个人回答都是不同的,我也不能保证自己的回答是准确的答案,所以就没有写自己的回答答案(其实是我懒)

 

笔试

笔试的环境是用浏览器打开答题页面,浏览器会开启摄像头,人必须盯着屏幕。如果切换QQ,或其他网页页面,系统会检查,如果切换一定的次数就记作弊。  

甲方公司:

 笔试题目有简答题13道,内容特别的广,下面问题不是题目本身的问题,我只是把要考的内容给提炼一下

 1.对RSA实现的详细描述

 2.对某求质素算法的实现,求时间复杂度,并估算计算1024byte的数据处理需要多长时间(好久没搞算法了,记忆有点模糊)

 3.对docker安全的简述题目提供了几条docker的容器运行时的命令参数

 4.对ios越狱操作的实现原理

 5.对越权漏洞的检验和处理思路

 6.如何使自己的代码运行到内核里面

 7.其他暂时记不得了,web类的题目也就2道左右

乙方公司:

 笔试题目是30道选择题和3道简答题,选择题有ACL等配置命令,也有web的一些问题,这里就写一下3道简答题的内容

 1.对sql注入的形成原因理解,和处理方式

 2.对中间件容器各版本的漏洞的描述,和处理方式

 3.owasp的有哪些漏洞(我答得最近的top10,最后个忘了....)

 

面试

面试都会通过电话,如果过了它会之后再打,如果没过就没消息了。如果有多轮技术面,一般是第一轮普通员工面,他们只会做记录并提交给部门技术主管,最后轮技术面会根据提交的记录选择再进行电话面试

甲方公司:

 1.自我介绍下自己吧

 2.对于ssrf的理解

  追问:如果对于某个协议进行了过滤有什么办法(我回答的是通过自己的vps进行302转发)

 3.对于扫描器的理解

  追问:逻辑漏洞常常要手挖,如果用扫描器如何实现越权漏洞的判定(这个问题我没答出来,对面教了我是用脚本申请2个账号,然后将1个账号的某些参数改成第2个账号的参数,看看是否存在越权操作)

 4.对于应急响应的理解,实际举个例子如果在内网某台机器上发现了shell,该如何处理

 5.对于jsonp(json劫持)的理解

 6.如何挖掘一个电商如淘宝的漏洞思路

 7.简述下自己的编程能力,会些什么编程语言

 8.对于csrf(跨站请求伪造漏洞的理解),如何处理这类垄断

  追问:为什么设置token可以防止csrf

 9.对csp(内容安全策略)的理解

 10.对java反序列化的理解

  追问:你刚刚举得是某个例子,但是如果处理该类问题,有什么思路(我回答的是apache的commons-collection-3.1组件的反序列漏洞的详细细节,后面对方追问的如何挖这一类漏洞的思路)

 11.对docker安全的理解(我不知道,对方告诉我主要是远程连接导致的安全问题)

乙方公司:

 1.自我介绍下自己吧

 2.对于某个web站点进行渗透的思路

  追问:有没有了解过ssql的sa提权手法(回答的时要求从获得webshell到提权的流程,内网渗透没有要我描述,当时提权我回答的udf和mof,详细的描述了udf的原理,linux回答的脏牛,对面只需要我简述下windows下的即可。)

 3.对sql注入的理解

  追问:不用讲bypass手法,讲下sql注入的几种方式

 4.对于sql注入的基于bool型盲注的描述

  追问:用该注入需要些哪些重要的函数(比如if,case,when,mid,limit,ascii,group_concat等吧)

 5.有没有自己写过sql注入的脚本

 6.目前在研究什么

   追问:请详细讲解下反序列化漏洞(我当时回答的是java反序列化,因为在面试前4天左右在先知投过一篇文章,我这里回答简要的描述了php,详细讲了下java)

 

0x02注意点

1.每个公司的面试,无论是多轮面试,还是单轮,第一个问题都是请简要介绍下自己

 回答这个问题时候,不要瞎几把扯,简要说明自己在信息安全方面的学习历程,每个阶段在研究什么,做过什么成果(我在回答的时候大一,大二的时候参加的蓝桥杯,还拿了国三的情况,我就一句话带过,其他主要都是信息安全的历程)

 

2.在面试快要结束的时候都会问,对公司有没有什么问题

 回答这个问题的时候,最好问清楚,待遇待遇待遇,以及如果入职要提交的材料,工作的内容,包不包住。待遇稍微提一下,因为是实习生所以能保证温饱就行,乙方一般在2000-4000左右,甲方不知道...

 一定不要像我一样不好意思,面完了后也没有提啥,当然待遇还是能满足我生活下去的

 

3.在面试某甲方公司的时候,第一轮和第二轮面试都提到json劫持问题

 我在第一轮的时候没答出来,倒是瞎扯了些关于json的问题,第二轮的时候也没答出来。这时候第二轮面试官就问了我个问题,“为什么中间隔了2天,不去了解下呢”。当时我听到这个时候就无地自容了,虽然提到自己那2天在做ddctf,但是都是借口。所以不懂的一定一定结束后要去了解

 

4.对于甲方和乙方你更想做哪一方向,也就是你想做攻击方还是防御方

 回答这个问题的时候一定要机灵,不要像我一样老实,在面试甲方公司的时候回答想做乙方。。。。因此面试甲方公司的时候回答想做甲方,面试乙方公司的时候回答想做乙方,当然可以补一句“做另外一个方向也是可以的”

 

5.甲方公司在面我的时候提到的csp问题,是我博客写的

 因为在提交简历的时候会写自己的github和博客的地址,面试官有时候是会看的。我在面试前最近的一次文章就是csp的研究,所以在面试的时候也就遇到了这个问题,当然自己写的文章回答起来还是稍微有底气的。

 

6.有些时候追问问题是根据回答者的回答内容进行追问的

 在乙方公司面试我最近在研究什么的时候,我回答的java反序列,我确实研究了啊,所以能回答上。切记回答问题的时候不要乱扯些只是听说,但是没有深入了解的问题,因为被追问会漏泄儿的

 

0x03总结

1.无论是甲方还是乙方公司都问过我有没有挖过src,很遗憾的是我没有提交过src,所以之后的学习过程也要去做做这方面的事

 

2.在面试某甲方公司的时候对面的面试官小哥哥很好啊,当时聊了1个小时,面的过程中我就觉得过不了。但是对面给我提了很多学习建议,这里讲讲我自己的情况和对面提的建议吧

 我自己学习信息安全一年多两个月,期间学习主要是打ctf和自己去总结下某些知识点原理的部分,所以缺乏实践。

 而公司需要的人是能解决实际问题的人,ctf和现实还是有很大的出入的,ctf主要在于对某个功能bypass技巧,而实际情况主要是功能复杂,去挖掘的思路,有漏洞就是有,不需要奇奇怪怪的bypass姿势。简而言之,ctf是对某个功能的漏洞技巧利用,现实是如何去发现这个漏洞

 对于打ctf来说,公司会仅会在意大赛排名靠前的几支队伍,但是也会看实际操作能力,所以ctf像可以学习知识游戏,但并不是信息安全的主要

 

3.在面试前也看过别人的面试经验文章之类的,看过一些不会的知识点,自己去尝试死记硬背了些,现在全忘了.....所以这也是我为什么在这篇文章没有写每道题的答案。如果你会,那么答案呼之欲出,如果你不会,你看了我的回答,不去自己总结和实验,过几天就会忘了。踏踏实实自己去学是记住知识最好的方法。大量的知识储备也是面试时候的自信。

 

4.在校大学生活快要结束了,发几句牢骚,我觉得大学学习和社会公司要解决的问题还是有很大出入的。不要为了获得老师或者在校学长学姐的称赞就觉得自己不错。讲真学校里面看的是成果,比如比赛拿奖之类的。只要有奖就会被吹成大佬,但通过面试可以看出问的问题都是细节问题,详细到知识点,所以基础真的很重要。(但是比赛奖项会决定你的简历是否能脱颖而出)

 

5.学习时候近期目标比长远目标更重要,也就是我早上想今天下午该学什么,明天该学什么比我这学期要完成什么目标更重要。在4月22日打完ciscn的预选赛的时候就突然下失去了短期目标,导致这一周都不在学习状态,现在很后悔(但是玩了几天真的很爽23333),写下这篇文章也是为了自己一下一步如何前进找回状态。

 

共勉

posted @ 2019-04-30 11:25  sijidou  阅读(3378)  评论(0编辑  收藏  举报