黑客和程序员谁厉害 黑客与程序员谁的技术要求高
黑客和一般程序员在某些方面相似,但他们的关注点不一样。黑客专注于破坏,并通过这些创新的破坏来获取利益并展示自己的能力。而程序员则关注于创造,通过创造来获取利益并展示自己的能力。
就像硬币的两面一样,当一个新技术出现时,黑客总是关注其缺陷,而程序员更多地关注其优点。程序员会夸大一样东西的技术实力,但黑客总能通过技术手段找到其缺陷并加以证明。
程序员通常只会按照技术表面上的内容前进,而黑客总能看到技术表面之外的东西,那些别人看不到、意想不到的地方。黑客会挖掘并利用这些地方。在黑客眼中,每个软件都有漏洞,都是垃圾。没有程序员的努力工作,黑客也就无从施展。
程序员和黑客之间形成了一种相互依存的关系,就像矛和盾一样。
一般来说,黑客和程序员各自有着不同的专注点和技能树。比如,对于前端的XSS攻击,黑客会知道如果未处理输入框内的内容,可以通过构造特殊的输入来实现攻击目的。但是对于如何美化该输入框,使其对用户友好,他们一般不会关心。可能他们下一个关注点就是该表单是否容易受到CSRF攻击。另一个例子是,当一个框架/语言出现漏洞时,黑客会利用这些漏洞发起攻击,而对于该框架/语言的了解通常很有限。相比之下,普通程序员也不会关注黑客关注的很多点,比如CAPTCHA等。他们可能会直接引入第三方工具来防御,而不是自己重新实现。另外,加密算法几乎只有黑客会去研究,而普通程序员可能会研究压缩算法。
黑客的攻击手段多种多样,有些甚至不需要编写代码,就像电影《我是谁:没有绝对安全的系统》中的那个通过翻垃圾桶、开锁偷取资料来搜集有用信息并发起攻击的人一样,这种手法被称为"社工"。此外,一些初级黑客可能会利用他人编写的工具进行破坏,而无需自己编写代码。比如使用网络嗅探工具或安全扫描工具来入侵系统,或使用字典暴力破解账号密码。这些人被称为"脚本小子",他们是最令人头疼的一类黑客,容易防范但难以应对人多的情况。失败了对他们无影响,但如果成功了,他们会夸大其成就。这些人大多不会写代码,只懂得操作工具,一般不被称为黑客。例如,曾有一名专科生利用这种方式直播攻击自己学校的系统,还使用了360浏览器,结果受到了无数吐槽。
通常情况下,能被称为黑客的人大多会写代码。对于黑客来说,干扰你的路由器/网关,拦截你的数据收发只算是温和的手段,更极端的是直接进入与你同一局域网内,这将给黑客带来更多的机会。一个真正的黑客一定以获取你的ROOT权限为终极目标,如果没有这样的追求,就不能被称为黑客。
实际上,"Hacker"一词最初是一个敬意的称呼,用来称呼那些具有极客精神的程序员。但后来不知为何,出现了"黑客"这个代指。
黑客和骇客是两个完全不同的概念,它们是区分程序员和黑客的主要标志。我们传统意义上理解的黑客其实是骇客。真正的黑客就像顶级武林高手一样,只点到为止,并且具备真正的人文情怀。他们不仅技术高强,而且非常谦虚。这些特质都是普通程序员所不具备的。程序员主要是分解任务,将其转化为各种功能模块,然后用相应的代码实现。他们按部就班地进行工作。黑客内心不愿受到限制,有点像武侠小说中的侠客,他们会刀枪不入,而对于存在奖励规则的公司,肯定会有黑客去整顿。
总之,我们通常所理解的黑客其实是骇客,专门从事密码破解,为了个人私利而攻击游戏,获取非法收入。