本文目录一览:
程序员和黑客哪个更厉害?
黑客就是程序员,只不过是从事不正当行为的,你可以这么理解,好比程序员是魔法师,那么黑客就是魔法师里面的死灵法师,把它单列出来,不是因为他厉害,而是因为他干的事和其他行当不太一样,一不小心就走入禁区了。
大家都知道高级程序员很吃香,那么高级程序员和黑客到底谁更厉害?
非从业人员对于程序员和黑客的外在形象就存在着不一样的认知,因为电视电影和网络上的段子,普通的程序员一般都是有才能却一点不风趣的男性,常年一件格子衬衣,几根稀疏的头发,虽然赚的钱不少,却不会花钱装扮自己;而黑客的形象就完全是另一种,他们很神秘,可能我们身边随便一个人在暗地里都可以是黑客,黑客还喜欢穿黑衣服,带黑色的帽子,不喜欢以真面目示人。
其实黑客和普通程序员只是各有侧重而已,说不上孰高孰低。黑客给人很厉害的感觉主要是他带来的破坏性比较直观,对于普通人来说比较好理解。比如电影里最常见的入侵别人系统搞坏事这类。而『普通程序员』如何通过各种精妙的设计构建出了一个又复杂牛逼的应用,抗住了天大的流量,一般人是没法理解的,比如淘宝这种,还有抗住春晚活动的流量这些。两者都是普通人做不到的。
一般来讲,黑客和普通程序员各有侧重,技能树不一样,比如前端的XSS攻击,黑客知道这个输入框内的内容如果没有被处理,那么可以通过构造特殊的输入内容来达到攻击目的,但是对于这个输入框如何弄得更好看,对用户交互友好这些他一般不关心,可能下一个关注点就在你的表单是不是可以做CSRF攻击上。还有一个例子是,框架/语言爆出了很多漏洞,黑客就会利用这些漏洞发起一些攻击,很大概率黑客对这个框架/语言都不是很熟悉。
相对的,普通程序员也不会关注黑客关注的很多点,比如CAPTCHA这种可能就直接引入个第三方的来防御了,并不会自己去实现一遍。还有加密算法这种,也几乎只有黑客才会去研究。普通程序员可能研究的就是压缩算法。黑客的攻击手段多种多样,有的甚至不会写代码,比如《我是谁–没有绝对安全的系统》里就有一位,根本不写代码,通过翻垃圾桶,开锁偷看资料这类操作搜集很多有用的信息,从而发起攻击。一般称这种为手段『社工攻击』。
程序员与黑客的差别
先用一句话概括:
程序员未必是黑客,黑客一定是优秀的程序员。
程序员:
一般叫软件工程师,他们喜欢自嘲“码农”或者“搬砖的”。等级一般分初级、中级、高级和资深,主要工作是根据公司的业务需求(主要是产经的脑洞)设计软件编写代码。需要熟练掌握至少一门语言,比如Java。
黑客:
不要以为上传木马啊盗号啊破解软件啊翻个外网啊就能叫黑客了,他们最多算脚本小字,或者叫骇客。真正的黑客虽然没有黑客帝国那样酷炫,但至少是个攻防高手。不同于程序员,他们一般能通用多种编程语言,但不会经常敲业务代码。他们更侧重于找出软件的破绽,发现系统的漏洞。其实现在很多互联网公司的首席安全管理都是名副其实的黑客,只不过他们更注重防守,而不是主动攻击。
当然,黑客也有好坏之分。好黑客又称红客,出于检测安全为目的,不以恶意攻击为目的。而坏黑客,以非法入侵、破坏、勒索为目的,这些就是触犯法律的行为。