我是一名高级开发人员,我正在努力将我的安全知识提升到更深层次。也就是说,我知道这些黑客可以做什么/有什么风险,但我想知道他们一般是怎么做的。关于这一点,如果有人能就以下项目启发我,我将不胜感激:
数据包嗅探:我知道数据包可以被嗅探和分析,但它们是如何做到的呢?我的理解是,为了做到这一点,需要在服务器本身上运行实际的软件,因为它需要访问网卡才能这样做......这准确吗?如果没有,他们如何在不直接访问服务器的情况下远程捕获传入的数据包到服务器?
会话劫持:再一次,我在这里感到困惑。我知道他们可以做到,但是怎么做呢?session ID是服务器自己发出来的,然后根据什么返回给浏览器呢?来电者的IP地址?MAC地址?这些黑客使用什么来从 Web 会话中捕获会话 ID?它是被感染的电脑上的软件吗?
站点劫持:再次,我知道他们可以做到这一点,但据我目前所知,这意味着他们必须劫持/感染 DNS 发布服务器,并将对该站点的查询重定向到他们选择的 IP 地址......再次: 准确吗?
劫持服务器:这怎么可能?例如,一个开放的端口如何允许任何黑客获得对盒子的完全访问权限,以便他们可以感染它或安装一些可以启用上述 1、2 和 3 的软件?我目前的理解是端口用于通信,但除非某些软件/服务正在监视该端口并等待命令,否则该端口不会打开......这准确吗?如果是这样,为什么关闭港口等如此重要?
劫持一些超级安全的网站:我每天都在考虑安全性,并不断使用诸如:SSL、RSA、SHA512、SSL TOKENS、IP 限制等之类的东西……我的问题是:他们仍然能够做到启用所有这些功能?
我知道这是很多东西,但我真的很好奇,想把我的安全知识提升到一个新的水平。如果你是一个和我有同样想法的开发者,你会遇到问题,只是使用一些预构建的库或控件,而不知道它在后台详细做了什么,你就会明白为什么我不高兴只知道哪个要实现的协议、库或加密方法。
知道敌人,对吧?