安全Roadmap - 经验分享 - JoTang

标签: | 发表时间:2021-06-22 20:42 | 作者:
出处:https://d.jotang.club

写在前面

roadmap拖了很久,十分抱歉。

全文到最后除了我自己还有很多人参与了编写,无论是特别标注出来的,还是没有标注的,或多或少都有一些。

在这里十分感谢参与编写的Ath3r1s师傅,huj13k4n9师傅,centrix师傅,t1r3d师傅,vera学姐。

以上人员排名不分先后 :point_up_2:

1 一些小小的前置 :closed_book:

1.1 不得不遵守的东西

​ 我现在还记得一句话:”做网络安全就是默认你是不老实的“(你不是欺负老实人吗!.jpg),对于自己搭建环境来说,更容易去验证,复现或者研究某一个或者某一类的漏洞,而对于真实环境下来讲,更加锻炼实战能力,怎么做收集,怎么审网站,而在这种环境中,就有一个很重要的不得不遵守的东西那就是 网络安全法,其中最主要的就是第二十六和第二十七条,下面会贴出来,简单来说就是不能非法侵入,不能提供工具,不能提供支持,发布信息要遵守规定,以及还有,不得非法收集个人信息,网站不能诈骗钓鱼,不能钓鱼邮件等。

​ 我们在干正经事的时候,比如挖SRC,就需要去看每个SRC的具体要求, 遵守规则(就好比CTF),那如果不是SRC又想干正经事,比如“我只是想帮他测一测”或者“我只是想看看”,那我的建议是动作幅度小一些(笑死,指不要一把子脱裤之类的,数据库能看,只能看一点点),那如果是干不正经的事呢?如果是鲷鱼涩情菠菜之类的那冲就完事了,如果是合法网站的话这里就不说了,可以自己想想应该做什么准备,国内国外都一样。

      第二十六条 开展网络安全认证、检测、风险评估等活动,向社会发布系统漏洞、计算机病毒、网络攻击、网络侵入等网络安全信息,应当遵守国家有关规定。
第二十七条 任何个人和组织不得从事非法侵入他人网络、干扰他人网络正常功能、窃取网络数据等危害网络安全的活动;不得提供专门用于从事侵入网络、干扰网络正常功能及防护措施、窃取网络数据等危害网络安全活动的程序、工具;明知他人从事危害网络安全的活动的,不得为其提供技术支持、广告推广、支付结算等帮助。

1.2 有一些刚需(或者很通用)的知识要知道

​ 对于网络安全来说,不管做什么方向什么岗位,有一些知识就是刚需或者通用的,甚至对于不做网安的来说也是一样的,就比如哪怕你上课不听讲你下来也需要知道的计网, 计网真的是刚需啊同志们,还有的就比如说OS和汇编,从最浅层的基础指令,到更深层次的内核,这个就看自己做的方向需要的深度了,还有语言类的,各有各的需要。网络安全不仅考验深度,也考验广度,完全互通的没那么多,但是需要知道的还是挺多的(没那么多,但还是有点多)。

1.3 安全有哪些方向

​ 这个其实说复杂也有点复杂,说简单也挺简单,对于刚准备找实习或者就业的学生来说,入门网安的大多数一开始都是接触CTF,CTF的分类就是最早接触的安全方向,有哪些就不赘述了,翻一翻大一点的比赛就能知道,因为我自己只做web的,也不太好描述各类方向具体干了什么(万一有什么刻板印象那不得被锤hhhhhhhhh),一般把每个方向的easy题做一做就能摸到点苗头,虽然都很浅显,而到了具体岗位上就更方便了,每一个岗位的描述就能让你知道他们到底在干些啥。
​ 而我个人自己的感觉,最能接触到的大概能够分为三个大方向,第一个是渗透测试,也是最贴合大家对于“黑阔”认知的方向,也是相对容易入门的方向,但又很容易成为脚本小子hhhhhhh,第二个就是二进制方向,包括病毒木马分析,逆向工程,漏洞挖掘等等,第三个就是安全研发,包括一些安全产品和安全工具,这三个方向 并不能完全包括整个网络安全,划分的也很概括粗略,但也算看名字就能知道个大概,可以参考参考。
​ 当然还有一些其他的安全岗位,这个可以去招聘网站上面搜一搜,然后百度一下基本上就能知道是干啥的了。

1.4 怎么选择自己想要的

​ 学安全就是要什么都知道或者了解一丢丢,所以在这个了解的过程中,就要学会自己权衡,哪个方向自己更加有学习动力,越往深处学,就越能知道自己想做什么,并不用担心自己其他方向学多了会浪费时间, 所有的知识都是有用的,还可以多问问做某个方向的前辈,聊一聊他们平时在做什么,也是不错的启发。Ath3r1s师傅推荐了一个知道创宇的技能表,这份儿技能表融合了很多web安全应该具备的基础技能知识,覆盖面比较全,可以先大概浏览一遍来对安全所需要的基础知识有个基本的认知。 知道创宇研发技能表v3.1 2016/5/18 发布 by @知道创宇(www.knownsec.com) @余弦 & 404团队 后续动态请关注微信公众号:Lazy-Thought

1.5 关于未来的职业选择(huj13k4n9)

​ 为什么要写这一部分呢,是因为在往届的实习就业情况来看,互联网安全方向的人数往往是所有方向里面最多的一个,但是实习和毕业之后从事安全方面工作的人却并不多(10%左右?可能比这多一些吧)。开发岗是真的赚钱,这也确实安全岗很大一部分薪资水平是没有开发岗高的(但是也不会低很多),所以我想说的是,关于学习网络安全,你需要找到你的兴趣点在哪,找到了兴趣点之后再去学习会轻松很多也会快乐很多。

2 讲讲我自己以及其他师傅 :bulb:

2.1 一点点经历

Mtaun:

​ 我自己接触网络安全其实并不早,最最一开始有苗头的是大二(还是大一?)的时候,做某工作室的题目,接触了和pwn有关的知识,后面觉得好像不太适合自己,就没有再继续下去了,然后是做了焦糖的招新题,搞了点破解WiFi,但也都只是入门了一点点,一直到疫情期间,这么长的时间里面都在思考自己以后做什么,当然考虑得最多的是开发,毕竟接触的很多,但是好像自己也不会啥开发,就很迷茫,然后也不知道怎么的就稀里糊涂捡起了自己的“黑阔”梦,但是不知道怎么入门,最一开始是请教了馨悦学姐,学姐指点了很多,也鼓励了我超多,给我推荐了几本书,虽然最后没有做和学姐一样的方向,但是这种指点我一直都很感激,接下来就是疫情在家爆肝,买书看啊,做ctf题啊,一开始把每个方向的easy题都看了一下,觉得还是web适合自己的“黑阔”梦,就坚持学的web,也确实很有意思,学的时候就觉得,欸,这个知识点不错,喔,这个思路妙啊,哪个哪个洞又拿去试一试,那段时间应该是最有激情的一段时间,但是也就停留在ctf上了,去打比赛也做不出来个名堂,这是我第二次迷茫的时候。于是那段时间我又去请教了馨悦学姐(再次感谢馨悦学姐),然后学姐给我介绍了彪哥以及Aegis工作室,并且加入了他们(虽然后面看到群文件里有自己的简历感觉有点羞耻),彪哥人也很好,特别温柔,谁聊谁知道,最一开始和彪哥打电话交流了差不多一个小时,聊了特别多关于岗位的,工作内容的,学习方向的,还做了笔记(虽然好像找不到了,对唔住彪哥),感觉欣欣然又亮了起来,也是特别感谢彪哥对我的指引,工作室的朋友也很好,一开始有点社恐,后面就聊起来了,再后来就是复测学校的漏洞,看看漏洞报告,同时感觉ctf做的差不多了,就开始自己找一些鲷鱼菠菜瑟琴网站来打,迫真的感受到了自己收集信息的能力差得离谱,企业src也完全没碰,再后来就是实习工作了。

huj13k4n9:

​ 我是在大二上学期接触到的网络安全,那个时候正处于迷茫期嘛,也不知道自己以后想干啥,当时也就学了一些基础课,然后准备分流,突然Aegis工作室的招新通知啪的一下就发进年级群了,所以我当时就抱着试试看的心理参加了招新。第一次见到CTF题我是懵逼的,完全不知道要干啥,只给了一个链接点进去只能说毫无头绪。后来也是自己在网上搜这搜那,几天就入门了一下PHP和HTTP,然后网上找了个现成的Payload试了一下就把最简单的题试出来了(笑死,根本不会做),后面的题目也是到处碰壁吧,总共就做出来了三四道的Web这样子。最后交了WriteUp,然后电话面试,就进去了。进去之后第一个学的是Python爬虫,那个时候一个星期就把爬虫书啃完了,然后开始学PHP,找了一本书看了很久也没看完,后来有一天周会的时候彪哥就说不能执着于学语言上面,语言只要看得懂会用就可以了,于是我开始看白帽子讲Web安全,顺带着刷一刷靶场,当时博客也有一直在写,现在想想当时还是学了不少东西的。然后就疫情了,,,大家就只能看看有没有CTF比赛一起打一下,然后那个时候自己也是在刷靶场做CTF。后来发现有些CTF里面脑洞题巨多就不是很想做了,然后被拉去打比赛,安全就暂时放了一下,时间就直接到了大三上,开始看内网的知识,抱着那本内网渗透开始啃,一个学期也算是勉强入门。

​ 回想过来,我还是觉得之前应该多弄点实战方面的东西,比如挖SRC之类的,现在实习出来反而感觉自己没有什么经验。感觉和上几届的学长完全不是一个级别的hhhhhh,彪哥说他们那个时候天天在工作室日站,大家坐在一起交流,除了羡慕他们以外也是觉得自己没有学到位吧。所以也算是明白了实战在网络安全学习当中的重要性,希望学弟学妹们不要踩这个坑hhhhhhh

vera:

​ 如其他师傅所说,搞安全的基本都是从CTF入门,之后的方向也偏attack一点。但以后如果想去甲方公司,attack类的岗位其实很少,大多都是defense相关,也就是上面提到的第三个方向-安全研发。所以很多师傅在入职后都会面临一个身份上的转变。毕竟attack是点的突破,defense是面的防御。

​ 我做的是安全研发里的子方向,安全算法。就是运用一些算法解决安全问题,很多人以为这个方向就是用machine learning/deep learning这种很fancy的东西来做防火墙、钓鱼检测、cc域名检测,可解释度低,不如正则来得可控,其实不是,这个方向也会用到传统的粗筛、fuzzing、污点跟踪、jaccord similarity这些东西,这些算法里有些可解释性确实差,但有的并不会,主要是看业务场景需要来进行选择和取舍。通常来说,当做防守的师傅发现要写上千条正则才能搞定一个问题 或者 规则只能达到70%的效果后,就会考虑让安全算法介入、辅助解决问题。

​ 所以这个方向的技能树属于50%安全+50%算法。50%安全就意味着你不需要对某些漏洞的理解非常深刻,不需要具体focus在某个0day上,但说到心脏滴血、无文件攻击、RCE这些,你必须知道完整的攻击流程,能够从成百上千个payload里总结出它们的规律,也就是具备一定的数据敏锐度。而50%算法也意味着对于一些前沿的算法,你不需要像专门搞cv、nlp的人那样做搭积木实验(比如说花了三个月修改一个小组件,只为了提升1%的性能),但你的知识面要够广,graph、nlp、fuzzing、入侵检测、威胁情报,都得懂。由于很多厂商PPT吹逼也主要靠这块,所以这个方向的资源比较混乱(国内不忍直视,国外也好不了太多)。除了工业界比较顶级的几个会,我在大多数时候都不会去看那些ppt,而是会去关注四大会(安全四大顶会,usenix, ccs, oakland, ndss)上的论文,所以要求有比较强的英文阅读能力,否则永远会成为别人的模仿机器,被ppt唬得一愣一愣。

​ 和渗透、逆向这些方向相比,这个方向很难说清是更难还是更简单了,主要还是看个人喜好。但这个方向目前在国内还算蛮抢手,至少我们团队筛简历的时候,要是能遇到一个有安全背景的算法应届生,几乎都要乐开花了。

2.2 一点点感悟

​ 我学习网安的时间不长,很多时候是自己学,加上前辈的点拨,经历不多,但还是有一些小经验小感悟(可能很大部分是讲日站的,希望能有所帮助

  1. 一定要学会自学。要有一个大概的范围,书,公众号,题目,实战等等都可以是知识的来源。
  2. 学会记录。可以概括一下自己看过的书、文章,摘抄别人的经验也可以,实战可以记录过程,题目或者漏洞可以自己做做复现。博客是一个很好的记录学习过程的平台。
  3. 多用Google,并熟悉使用一些网络空间搜索引擎( FOFAShodanZoomeye)。
  4. 使用的工具少而精。一个很大的工具包不会让人变厉害,只会让你去查哪个工具是干啥用的,我自己常用的就那几个,包括工作后也是一样的。
  5. CTF不是万能的。不要过于依赖CTF,有些时候CTF就是偏难怪+撞运气+脑洞题。
  6. CTF既然不是万能的,那就多多实战。SRC,鲷鱼菠菜瑟琴都可以很好的练手。
  7. 别人的实战文章有时候会很有启发。公众号是很好的来源。
  8. 对于日站来讲,信息收集很重要很重要很重要。比如给了个网站,看看子域名,whois,端口扫一波,看看C段有没有其他机子,企业信息,收集一下js里面的敏感信息,有没有敏感文件泄露之类的吧啦吧啦。
  9. 找不到洞很正常,慢慢审。
  10. 外网的东西看久了可以多看看内网的东西。搭个域环境,然后自己做一做怎么从边缘机拿到域控。有些东西真的要自己做了才能知道是怎么回事。随着技术的发展,从Web开始着手想要打穿一个系统也变得不那么简单了,所以尽可能的多拓展一些思路。
  11. 不要过度依赖扫描器。
  12. 远离黑灰产!不要想搞快钱!(centrix)
  13. 实战不要在一个站上死磕,打不下就重新信息收集,实在突破不了边界,社工也是好办法(授权条件下!)(centrix)

3 关于练手的目标选择(centrix) :white_check_mark:

​ 技术上别的师傅们已经提的差不多了,我也没啥要补充的,主要提一嘴在学习的过程中可以选择的攻击目标和一些注意点。

​ 首先,就像Mtaun师傅所说的,大多数人入门安全都是从CTF开始,CTF有许多在线网站,题库数量丰富,对于入门是最好的选择,解不出来也能很容易在网上找到题解,在积累一定题量后,相关基础知识很快就能熟悉起来。除了在线靶场,也有很多知名的本地靶场可以玩,相对在线靶场,本地靶场最大的优点在于你可以随意魔改题目,同时也能学会如何搭一个简易的服务器,以及像Docker这样虚拟化工具的用法。

​ 如果没有在大型CTF比赛上拿下名次的需求,CTF的作用就是带你入门,入门之后则不需要花费太多时间,可以逐步转移到实战中。但刚刚入门的选手,对于实战往往有恐惧感(比如我),个人认为,衔接CTF与实战之间最好的方法是靶机渗透。靶机渗透虽然缺失了信息收集和内网渗透,痕迹清理等步骤,但也能够较完整地模拟出一次渗透流程。而相对于真实环境,靶机则是有定解的目标,即使无法拿下,同样有wp可以参考,作为CTF和实战之间的桥梁再合适不过了。

​ 最后的最后,还是要走到实战中。在实习之前,一般是没有对合法目标进行授权渗透测试的机会的,作为在校生,最好的实战目标就是本校系统和黑灰产了,企业SRC往往搞不动(也许是我太菜了)。搞校内系统时,要注意分寸,有位老师说过,搞学校有俩红线,钱和成绩,这俩千万不能乱搞。除此之外,数据不能乱改乱删,不要影响正常业务, 原则上是不能留马不能脱库,实际情况就看自己了,进行敏感操作的时候可以录屏,万一出了什么问题也有证据。黑灰产的话我多说两句,因为我实习时和黑灰产打交道多。yysy,黑灰产打起来是很爽的,能满足心中朴素的正义感。一般来说,渗透难度菠菜>涩琴>鲷鱼,因为量刑的轻重基本也是这个顺序。打黑灰产时,如果成功突破边界进了后台,找找流水/用户数/嫌疑人个人信息,建议直接联系公安机关,或者找学长学姐,联系相关方面的民警处理,千万不要删库,不要动任何 影响量刑的数据,黑产产业链完整,搞掉一个站他们马上就能开另一个,抓到人才有意义。技术上,黑灰产服务器用Windows的多,有些人尤其是有前科的,反侦察意识强,往往用多层境外跳板,虽然本身技术不咋样,但是仗不住人家有钱,可以请会的人来搞,所以渗透时一定不要轻敌,痕迹清理要做好,该删的日志要删。另外,玩补天之类的公益SRC一定要小心,你们之间是没有明确授权的,出了事平台也不会保你,这里水很深,你把握不住。另外的另外,少用扫描器,尤其是漏扫,尤其尤其不要扫后台,被ban ip事小,把服务打爆了就麻烦了,把数据库打没了就完蛋了。

​ 总结一下就是,练手目标的选择是CTF->靶机->实战,慢慢来,一步一个脚印,不要贪快贪多,不管什么情况下,注意合规,保护好自己。

4 t1r3d 专栏 🙋‍

​ 作为资深老学长厚颜无耻地开了个专栏,主要还是因为确实有很多话想和学弟们说,希望工作室的精神和传统可以永远地传承下去。

4.1 经历

​ 讲讲自己大学四年学习和成长的经历确实更能够让人对将来的道路有更直观形象的认识,但这只是建议和参考,大家可以当作一个小故事来看,糟粕需弃,精华可汲。

​ 我最早开始计算机方面的学习是在高三毕业的暑假,那时候确定了将来自己会学计算机,就开始自学python之类的,每天学点语法,大概到写了个查天气小程序的程度。当时在刷知乎的时候看到一篇帖子: https://www.zhihu.com/question/61176767/answer/187097625,看完就觉得黑客这个东西很酷,虽然高中的时候也偶尔搜一搜相关的东西但是一直也没有深入研究过。这个答主叫邓琦,是大连理工大学的,我加了他的微信,也和他聊了很多网络安全方面的东西,虽然那时候不懂,但是已然产生了极大兴趣,这可以算是我启蒙的地方吧。之后那个暑假就是在每天学python的同时到处搜索各种黑客、入侵什么之类的东西,混迹在各个论坛和QQ群,看那些没什么技术但是很能吹牛的人聊天,不过也从中收获了一套视频,倾旋的Web安全扫盲课,虽然那时候看得一知半解,但也对后来学习产生了不小帮助。我就是在这样一个状态下进入大学的。

​ 入学以后就是各个工作室的招新宣讲,当时我也参加了Aegis的招新会,看donot学长在讲坛上亲临指导( 现场日战)。那时候我在底下坐在了wanc学长后边,和他讨论了一堆似懂非懂的技术问题,会后加了QQ。但是实际上后来我没参加Aegis的招新赛,好像是忘了还是怎么的,但是有一天似乎在写什么抢票脚本(好像是抢成电讲坛还是抢课的)的时候,找wanc学长讨论了点技术问题,然后学长就要了我份简历,顺水推舟加入Aegis了。

​ 我在刚加入Aegis的时候是比较迷茫的,因为我最初向往或者说喜欢的是那种自由&突破规则的黑客精神,是真实世界中的Hack,后来我把这方面的学习和技能归为RealWorldHacking,只是那时候我不知道,这个层次需要成熟的综合能力,它已经是一个完全体的形态了。所以我在那时感觉到自己学了很多以后还是什么也做不到,越学习越感到前方广袤无垠,也总是缺乏正反馈。等到估计大一暑假的时候,我开始自己做一些CTF的题目,那段时间我突然就感受到了CTF的魅力,因为每道题都有自己的方向,每道题都一定有解,每解出一道题都会给我足够的正反馈,所以有大概半年多的时间我沉迷在CTF中,不断找题做题,先刷了最基础的那几个OJ,又做了进阶的JarvisOJ,然后跟进每个高品质的比赛。那时候的学习确实很畅快,因为学习的思路简单,方向很明确。但在这半年多过去以后,我又开始感觉到倦怠,感觉到CTF的乏味。CTF对于入门学习确实是非常有帮助的,也是大部分学生学安全的必经之路,它通过分类和难度分层的方式指引着学习路线,这半年多的CTF经历对于夯实我的基础油很大帮助,但是CTF始终是人为设计的,对我来说缺少了原来那种激情与刺激,刚好也到了大二暑假,凭着这两年打下的计算机基础和安全基础,在成都绿盟实习了两三个月,岗位就是渗透测试工程师嘛,天天 日站搬砖,这段时间对个人实战能力的提升也很大,毕竟实践是最好的老师,接下来的学习和研究的重心也继续回到了和真实网络世界的攻防更密切的这条路上来了。再之后的经历就比较简单了,大三下去长亭写蜜罐,然后又去阿里安全部,转正通过了以后大四也是继续在阿里实习,学习和成长也都是和工作密切相关的了。

4.2 和课内学习的平衡

​ 上面说的这么多都是技术方面的成长,没提过课业上的内容。我是在进入大学的时候就想好了毕业以后直接工作不会读研,所以也就没有在意过课内学习的事情,基本不上课也不写作业甚至期末也不 复习预习(无论是大一到各个基础课还是大二的一些技术类课程),这让我有非常多的自由时间可以支配,可以很容易规划并且实现自己的学习路线,尤其是到大二来沙河以后,我基本每天一整天都是待在工作室,少部分课会去上一下。但是实际上这样的选择是错误的,直接结果是导致了我概率论和大雾挂科了,这两门安排都比较早,我后来也一直没时间重修,一直到大四上才把这两门课重修了,有这种毕业硬性条件一直卡着对后来的实习什么的安排来说都是很不舒服的。当然,这也不是说就不能像原来那样掏出大把时间来自学技术了,更不是说技术和课业成绩二者不能兼得,实际上donot学长和wanc学长都是既拿了腾讯offer也有保研资格的。所以对那些想要毕业直接工作不准备读研的同学们来说,有几点需要谨记:

  1. 对于大一的各种数学基础课以及大雾,如果高中没有学过的话平时作业还是好好做做
  2. 对于大二以后的包括计组、操作系统和计算机网络这三门大课,是非常值得深入学习的,因为这些组成了计算机领域的地基,决定了你将来成长的高度(深度学习 != 好好上课,实际上大部分课堂都没啥营养,我是指你自己要花时间去研究和学习,考试有没有好成绩不是那么重要,理解原理是最重要的)
  3. 对于其他的专业技能课,什么数据库、Java编程还有什么乱七八糟的专业课,也是没什么听课的必要,这类课平时把作业做了期末简单复习一下就可以了,而且这类课其实也都是一些基础技能,在你自学安全的路上应该是早早就已经精通了的,考试 so easy
  4. 最后就是,不管平时付出的多少(实际上只需要一点点点),期末要好好复习,你期末能考多少全看你那最后一个月。从经验来说,就算平时没学(就是没上课没写作业的程度),概率论和大雾都只需要复习两三天就能90+了,其他课也类似,信安数学和密码学看缘分,但是肯定也不至于挂

4.3 学习Tips

​ 讲了这么多经历,想说的其实就是这么几点:

  1. 安全的学习之路是坎坷的,你需要付出很多,也会收获很多,但这条路能不能坚持下去,要看你是否真正热爱
  2. 一定要积极主动,和学长学姐们的交流能够在你困惑时提供很大帮助,我曾经受到过学长们的指引和鼓励,我也希望这种来自前辈的力量能够继续传递下去
  3. 不是说CTF打个基础就可以不用再打了,只是对于渗透&红队选手,实战带来的意义要更大,而对于二进制&安全研究的同学来说,还有更多更高难度更具挑战的CTF难题等着你

4.4 工作相关

​ 选择这条道路这个领域最早是出于热情,大学是个能够自由快乐学习的地方,为我们追求梦想提供了合适的土壤,但大家毕业以后也都要面对为自己人生负责的经济难题。有人会说网安方向的就业工资要低于开发岗或者算法岗,但是实际上,计算机领域的就业经常是个反馈非常健康的方向,你的技术能力有多强,你就能有多高的报酬,而你付出了的时间和精力有多少,也决定了你的技术能力能到怎么样的高度。再说就业薪资,这个东西其实是个范围,并不会有某个技术岗位就一定低于另外一个,小公司的开发岗只能招到低技术水平的开发,给的自然也高不了。从我的求职经验来看,在研发和安全这两个方向上对相同的付出提供的报酬也是基本相同的,只不过大厂安全岗的工作强度总体要比开发低,开发毕竟经常要干苦活。除了这一点外,很多时候工作薪酬并不是安全领域的人的唯一收入,来钱的方式很多(正规的)。但我认为这些其实都不是最重要的,首先安全岗肯定不会让你饿死,其次,我认为只有热爱这个领域的人才应该参与进来,而你最终也一定会拿到匹配你的付出的报酬。

5 一(亿?)点点资料 :writing_hand:

注:资料的推荐不分先后,且并不完全区分是哪个师傅推荐的

书籍

  • 《白帽子讲Web安全》 是很全面的一本好书涉及的方面比较全,在对应的文件夹中附带了一些思维导图,可以帮助来阅读这本书。
  • 《Web安全深度剖析》 这本书主要是对各种类型的web安全漏洞做了介绍,并且也涵盖了渗透测试手法,很基础和实践的一本书。
  • 《CTF特训营:技术详解,解题方法与竞赛技巧》,《从0到1:CTFer成长之路》:都是打CTF能看的书,前面那本我忘了,后面那本是NU1L战队写的。
  • 《内网安全攻防:渗透测试实战指南》:打内网看的。
  • 《黑客秘笈:渗透测试使用指南》:也是关于渗透测试讲的很全面的一本书。
  • 《加密与解密》:二进制方向必看书,问谁基本都会推荐的。
  • 《Machine Learning and Security》:比较系统的介绍了机器学习和安全之间的联系和实操。
  • 《数据驱动安全》:安全数据分析入门

视频

靶场

CTF 靶场

CVE 复现

渗透靶场

网站

Blog

公众号

关注公众号可以获得一些知识教程、渗透经历、最新漏洞情报、SRC以及一些安全界的新闻,碎片时间刷一刷,很多文章还是很有价值的。

(排名不分先后,按拼音首字母排序)

阿里云安全 长亭科技 红树位 Nu1L Team T00ls
阿里云应急响应 CNNS安全 i春秋 PeiQi文库 Tenable安全
安恒网络空间安全学院 滴滴安全应急响应中心 即刻安全 奇安信ATEAM 腾讯安全联合实验室
安恒信息资讯 FreeBuf 酒仙桥六号部队 奇安信CERT 腾讯安全应急响应中心
安全分析与研究 Gcow安全团队 聚锋实验室 奇安信威胁情报中心 腾讯玄武实验室
安全狗 GobySec 看雪学院 青藤云安全实验室 Tide安全团队
安全江湖 GOVULN研究所 LemonSec 七夜安全博客 Timeline Sec
安全圈 国科漏斗社区 雷神众测 Rapid7 吾爱破解论坛
安全客 HACK学习呀 LEUKOCYTE SAINTSEC 信安之路
安全龙 黑白天实验室 Le想安全 三六零CERT 行长叠报
安全牛 黑白之道 猎户攻防实验室 SecPulse安全脉搏 玄魂工作室
安全犀牛 黑客Hub 零队 Secquan圈子社区 硬土壳安全
安全祖师爷 黑鸟 零日情报局 SecWiki 知安信息
安天移动安全 黑鸟情报局 漏洞盒子 Seebug漏洞平台 铸剑网络安全实验室
白帽子社区 黑奇士 绿盟科技 渗透攻击红队 字节跳动安全中心
Bypass 合天网安实验室 moonsec 嘶吼专业版 360威胁情报中心
ChaMd5安全团队 红队防线 Ms08067安全实验室 四叶草安全 90Sec Team

实习

Ath3r1s师傅:

      建议:
如果可以的话,建议大二下找个实训,基本上会 web 常见漏洞原理和有一些安全经历就可以,ctf 和挖洞都行。如果有实训经历,实习会很加分。
方向:
如果想要投安全研究,建议多打 CTF。
如果想要投安全研发,需要懂一点安全和一点开发。
如果想要做渗透,需要多实战,可以挖洞,或者做渗透项目,没有经历的只能做做安服仔这样子,以后可以考虑做代码审计、红队、内网渗透。
安服相关:
长亭安服主要做渗透测试,web渗透和app渗透都有,一般就是挖洞。在HW期间主要是值守,监控安全设备,没什么意思。优点是给的比其他安全厂商多,里面的人都很好,技术也可以,而且大部分10点上班,6点下班。缺点是活有点杂有点捞,而且经常出差,大概一个月出差半个月。喜欢到处跑的可以公费旅游,不喜欢的就有点折磨。

面经


Ath3r1s师傅:
某不知名厂 安全开发

      一面:
1. 介绍比赛做的项目,问负载均衡模块会不会挂掉?
2. Python 字典类型能不能作为键值对的键?
3. 项目工程有用类 class 开发吗?
4. 平时用什么漏洞扫描器?
5. XSS三种类型?
6. XSS用什么扫描器?(手测
7. 对称密码和非对称密码区别?
8. HTTPS用到什么密码学知识?

二面:
(因为简历上有密码学相关综设写着,所以又问了我学过的密码学知识
1. 密码学方向有什么攻击方式?
2. 综设数字签名怎么实现?
3. SQL注入的原理?
4. SQL注入万能钥匙?
5. SQL注入 如果我在后端根据用户名查询,然后拿到的密码跟你传的密码比较,还能绕过吗?
6. 讲一讲HTTPS的流程?
7. 你在HTTPS过程中用Wireshark拿到流量,并且有服务端的私钥,能不能破解消息内容?
8. 讲讲印象深刻的 CTF?
9. XSS的原理?
10. XSS类型?
11. DOM型的原理?
12. XXE原理?
13. 文件上传原理、绕过方式?
14. 平时挖洞有什么上传漏洞吗?

CEO面:
1. 印象最深刻的项目
2. 做安全的为啥去搞SDN呢
3. 讲了一些那边的方向,问我想去什么方向
4. 有用过 C 写什么东西吗
5. CTF有取得好的名次吗
6. 有参与github项目的开发吗

深信服 安全攻防工程师

      一面:
1. 主要开发语言
2. 印象深刻的渗透经历
3. 32位机寻址空间
4. 申请内存的方式
5. malloc底层怎么做的
6. 申请的内存怎么释放
7. 如果不释放会有什么问题
8. 堆的结构
9. 僵尸进程
10. 孤儿进程
11. 怎么处理
12. 用了什么数据结构
13. 堆溢出原理
14. 栈溢出原理
15. 函数调用方式 fastcall stdcall cdecl thiscall naked call
16. C 写过什么项目
17. TCP 连接建立过程
18. socket ACCEPT的返回值如果
19. Python 写过什么项目
20. 用过哪些库
21. Kerberos 黄金票据+白银票据

字节 渗透测试(三面挂

      字节好像必考算法,其他安全厂都不大要求

一面:
1. SQL注入过程
2. 空格过滤怎么绕过
3. union select 过滤逗号怎么注(牛客网面试,需要手写SQL注入语句
4. SQL注入写Shell
5. XSS攻击与防御
6. 除了实体编码还有什么办法
7. Jinja框架有什么漏洞
8. SSTI原理
9. 点击劫持防御
10. SSO

二面:
1. SQL注入步骤、原因、危害、防御
2. updatexml能报错的原因
3. 实体编码用的什么函数
4. 除了xp_cmdshell还有什么组件能执行系统函数
5. 如果information_schema被ban怎么办
6. 同源策略
7. 跨域(CORS、JSONP
8. XSS原因、危害、防御

三面:
1. 渗透经历
2. 经历有点简单,过程有没有优化
3. 算法题(leetcode简单原题,面试前没准备算法,拍断大腿
4. TCP握手过程
5. 学习路线怎么学的
6. 绕过怎么学的
7. CTF最好的一次
(感觉死于经历不足

长亭 安全服务

      (长亭安服很多都是别人面经里的问题,虽然很离谱但是差不多一半是原题

一面:
1. 挖过洞吗,SRC?
2. SQL注入原理分类
3. 你说的都是mysql,接触过orecle吗
4. benchmark具体怎么实现
5. mysql5.7版本前后异同
6. XSS
7. SSRF
8. gopher
9. 为什么打redis gopher好于http
10. XXE
11. XXE试过ftp协议吗
12. XXE怎么探测内网
13. LocalStorage和SessionStorage区别
14. 文件包含
15. 可以包含哪些日志
16. apache配置文件怎么找
17. ssh日志怎么找
18. 逻辑漏洞
19. 条件竞争
20. 支付漏洞

最后,祝大家能在安全的领域有自己的光亮 :sunny:

相关 [安全 roadmap 经验] 推荐:

安全Roadmap - 经验分享 - JoTang

- -
roadmap拖了很久,十分抱歉. 全文到最后除了我自己还有很多人参与了编写,无论是特别标注出来的,还是没有标注的,或多或少都有一些. 在这里十分感谢参与编写的Ath3r1s师傅,huj13k4n9师傅,centrix师傅,t1r3d师傅,vera学姐. 我现在还记得一句话:”做网络安全就是默认你是不老实的“(你不是欺负老实人吗.

Qualcomm Snapdragon 2011-2012 Roadmap 现身,新制程、四核心、双通道通通有

- xll - Engadget 中国版
虽然之前就有过不少的风声,但这次高通新一代的 Snapdragon 总算是有新的 Roadmap 出来啦 - 代号为Krait(蛇的一种,那 Snapdragon Krait 到底是植物还是动物. ),全线采用 28nm 制程,最大的优点当然是电源管理. 当中时间上与我们最接近的 MSM8960/8270/8260A 就已经加入了对双通道 RAM 的支持,频率为双核心 1.5GHz 起跳,而影像方面就支持高达 2000 万像素的 3D 照片.

渗透测试:我的企业安全经验之账号安全

- - Seay's blog 网络安全博客
安全管理要想真正做好真不容易,主要是看高层和业务方的支持. 我专门针对密码安全这块做过一些研究,也根据自己的一些经验,最终是产出了一些密码和用户名字典,有手写了上千个,也有根据自己写的词根来生成一些,当然只是普性字典,还有一个专门针对的企业员工信息安全的大数据平台(大杀器)正在研发,我们要把经验做成自动化来玩.

我所认知的甲方信息安全建设经验

- - IT瘾-dev
推开门 烟火中的红尘 宣纸上 是故事里的人.   毕业至今,从最初在乙方安全厂商做安全服务,辗转到互联网公司做安全研发,现今在金融国企做安全建设工作. 几年信息安全职业生涯,我经历了从乙方到甲方的角色转换,经历了从互联网到国企的转变. 兜兜转转的几年时间里,随着日常工作内容的改变,我对信息安全的认知也发生了一些变化.

scrum经验

- - CSDN博客研发管理推荐文章
Scrum是基于过程控制理论的经验方法,倡导自组织团队;其运行框架核心是迭代增量型并行开发,也是“适应性”的软件开发方法. Scrum提供了高度可视化的用于管理软件开发复杂性管理的敏捷项目管理的实践框架或敏捷过程,可以用于对现存软件工程实践的包装,提高软件生产率,改善沟通和合作的方法,使人们协作并注重业务目标.

Scrum 实施经验

- bluesnail - 新浪UED
Scrum是一种迭代式增量软件开发过程,通常用于敏捷软件开发. Scrum在英语的意思是橄榄球里的争球. 虽然Scrum是为管理软件开发项目而开发的,它同样可以用于运行软件维护团队,或者作为计划管理方法:Scrum of Scrums. Scrum定义了许多角色,根据猪和鸡的笑话分为两组,猪和鸡:.

减肥小经验

- 超群 - 中文热文榜|最新
kergee 在 GoogleReader 说. 还有 可可, scavin, 推荐,查看全部 17 个推荐. UnIndexed发表于2010-08-20 17:12:58. Shared by 南闲. 腹肌也是我高中之后一直消失了的东西……不过我不爱腹肌……. 我实在是太懒了,这篇东西三个月前就想写了,竟然能拖到现在.

SQLAlchemy 使用经验

- - keakon的涂鸦馆
上篇文章提到了,最近在用 Python 做一个网站. 除了 Tornado ,主要还用到了 SQLAlchemy. 这篇就是介绍我在使用 SQLAlchemy 的过程中,学到的一些知识. 首先说下,由于最新的 0.8 版还是开发版本,因此我使用的是 0.79 版,API 也许会有些不同. 因为我是搭配 MySQL InnoDB 使用,所以使用其他数据库的也不能完全照搬本文.