老实说,学习黑客攻防知识还是挺复杂的。
攻防?
明明林枫是要进攻,这里怎么涉及到“防”了。
虽然攻防不能说是一体的。
但了解攻击当然得先知道防御。
很多黑客其实本质上也是网络安全专家。
可惜了,正邪之分,存乎一心。
想要更好的理解进攻,就得先学会防守。
而且是重头学一遍,林枫先前掌握的那些防守技巧还不够。
也正因此整个过程很复杂。
好吧,不是一般意义的复杂,而是非常之复杂。
你得懂得跟计算机和网路相关的很多细碎但基础的知识。
要熟练掌握操作系统的工作原理及结构;
要熟悉TCP/IP协议和网络协议栈;
要理解路由、交换、网络拓扑背后的深层次奥秘;
要熟练掌握服务器和客户端的通信机制;
要通晓基本的网络安全知识……
而在密码学方面,你要掌握对称加密和非对称加密的基本原理和应用。
要能理解常见的加密算法(如AES、RSA等)。
准备跟比特币打交道你还得熟悉哈希算法及其在数据完整性中的应用。
其次要了解数字签名和证书体系的工作机制。
还要试着具备破解和绕过加密系统的能力。
此外呢,还得掌握Python、JavaScript等常用编程语言。
要熟悉Bash、PowerShell等脚本语言,自动化任务。
要能编写各种网络扫描、嗅探和注入脚本。
要理解漏洞并能编写漏洞利用程序。
要熟悉多线程、并发编程,这样才能提高攻击效率。
此外漏洞分析和逆向工程能力也要强。
毕竟不是所有的漏洞都是现成的。
要有能使用调试器和分析工具排查程序漏洞的能力。
此外要熟悉常见的缓冲区溢出、SQL注入等手段……
光是看到这一堆“要如何如何”林枫就觉得很麻烦。
相比于数学这些东西绝对算不上难。
但有些东西确实不难,但不等于不折磨人。
因为繁琐。
想象一道分类讨论题,要分一百种情况,每个情况再要细分1000个要点,每个要点还要再分几个分支,每个分支还要……
那种感觉怎么说呢无限套娃。
当你要在知识的汪洋大海里游泳,得知这个知识海还有好几个“深渊”,每个“深渊”里都充满了看不见底的细节,而这些细节你又必须得全须全尾地了解。