给初学安全的人的建议

这篇文章呢,主要是写给本校想学安全的同学。因为最近总有人问我,说不知道如何入门这个专业,不清楚学什么(包括非信息安全专业的同学)。我觉得我回答这个问题是不太够格的,我只是比大家多了一次CTF的经历而已,比大家强不到哪去。既然大家看得起我,我就给大家说说我的理解,如果哪里不认同,也没关系,我只是给大家一个参考,异议你可以提出来,大家一起讨论。

首先,先解决下非信息安全专业同学的疑惑,主要针对计算机类的。有人问我说,我不是信息安全专业的,课程有好多地方不一样,我能学好安全吗?答案是肯定的,那就是能。河北大学新校区三个计算机专业课程设置上大同小异,交叉的地方非常多,不交叉的地方少,尤其是网络工程和信息安全专业。本校的网络工程有专门的网络安全方向,这是安全方面非常重要的一个领域啊,根本不要怕接触不到安全相关的知识啊,甚至好多东西比信安还信安!而且,网工密码学之类的都会学的,好好学想学好没问题的,计算机科学同理。如果你是非计算机专业的,也没关系,你可以参考TK教主的例子,人家开始是医生。

接下来通过我在准备省CTF比赛的经历,我来给大家说说安全入门需要学什么(更偏向CTF入门)。

首先你需要先简单的了解密码学(尤其是古典密码),先知道点概念和他们大概的样子。听着很复杂的样子,你真去了解的时候就放心了。举个凯撒密码的例子吧。凯撒密码的加密方式就是将字母的的明文在字母表中的顺序后移3位,比如,明文是a,密文就是d,解密就是后推三位。常见的加密方式还有base64,凯撒,置换,猪圈,栅栏,培根,md5等等。

然后你需要了解一些简单的隐写术。隐写术就是将你的数据隐藏起来的一种手段,比如,有人可能知道图种,就是在图片文件尾部藏一个压缩包,而你直接以图片格式打开的时候他就是一张正常的图片,跟原图无任何差别,很神奇。通常密码学可以和隐写术结合起来用,比如,利用图片隐写藏一段利用了n种手段加密的密文,效果会很好。

然后就是比较烧脑的一块了,那就是逆向工程,这个需要懂点汇编语言。emmmm,我这个方面很弱,就不给大家说了。有兴趣的同学可以试试。(难度不小)

最后我要给大家说的一个就是web安全。和逆向一样,这都是大板块,需要的知识非常的综合。你需要了解一些SQL语句,并且能发现SQL注入漏洞,还要接触PHP,以便于进行PHP代码审计,发现一些常见漏洞。除此,你还要了解像HTTP协议之类的东西,学会看一些请求头,会抓包和数据包分析等等,总之,很杂。

纸上得来终觉浅,得知此事要躬行。光学习知识是不行的,必须要经过练习才能发现问题,取得进步,以及获得成就感。大家可以去一些像实验吧之类的网站去刷一些简单的CTF题目,并且不会的可以看一些别人的解题思路,相信坚持一段时间大家就会取得很大的进步的。工欲善其事必先利其器,没有好的工具是不行的,大家在学习的时候一定要学好一些常见工具的使用,比如burpsite,sqlmap,metasploit等等,需要一些隐写术和密码学工具的也可以私聊我。还有就是一定要学一门脚本语言,以便于自己编写一些适合特定环境的工具,在这里我给大家推荐Python,你会感谢我的。

希望能对大家有所帮助吧,我能力有限,难免有一些疏忽的地方,希望大家多提意见。也祝大家在学习安全的道路上更加顺利。有问题大家可以私我。真心希望河北大学搞安全的人越来越多啊,以后大家一起比赛,一起拿奖,一起进步,多好!

欢迎加入我们!NSN,we never say never!明年刷个一等奖回来!(今年二等,第一次参加,很满意了,遇到好多大佬,学到些东西)

发布于 2018-09-16 11:46