黑客到底比普通程序员高在哪里?
在一些影视剧里,经常可见那些超级厉害的黑客,可以靠一台电脑,敲几个字符就能让整个网络系统出现大规模的瘫痪,侵入到各种高大上的企业网络中,来去自如,看别人的电脑秘密如探囊取物一般;
还有一个工种是与黑客不同的存在——程序员,每天坐在工位上,噼里啪啦敲着一行行的代码,还总被产品经理改需求。不爱说话,穿着邋遢,爱穿格子衫冲锋衣、牛仔裤、背双肩背包、黑眼圈配疲惫的脸,头顶越来越聪明,这是大众对程序员们的综合认知......
一提起黑客,人们一脸崇拜,那种神秘感好像听说了明星的一个爆炸新闻一样;一提起程序员,人们记住的却只是那些黑程序员的段子。同样是敲代码,差距咋就那么大呢?
黑客之所以让人崇拜,一是因为其神秘性,二是各种电影里对黑客的演绎夸张。可以这样说“黑客因其神秘性,更加容易造英雄。程序员给人印象加班多,整天加班还是有无穷无尽的问题。一个在明处,一个在暗处,暗处的给人更多遐想空间”。
如果要成为黑客,必须是一名合格的程序员,掌握必备的编程语言,而且黑客相对于普通的程序员,在某些专业领域做的而更加惊喜,而且很多都是标准的程序的逆向。这就给了人们一种“黑客是最牛的程序员”的印象,其实不然,术业有专攻而已,而且黑客和程序员的关系就是剪不断理不乱。
很多程序员和黑客其实都是难兄难弟,程序员编程为生,黑客以发现程序员的错误为生,国内的许多大公司的网络安全部门,多数是黑客招安来的,黑客化身成为公司的安全工程师,然后以工程师的名义继续和黑客对战。看似是难兄难弟,其实是相亲相爱一家人,两者随时可能角色互换。
就像阿里巴巴的首席安全技术专家吴翰清,在20岁的时候去阿里面面试的时候,被面试官问到有啥技术特长,吴二话没说,拿着面试官的电脑当场黑掉了阿里一台路由设备,导致阿里内部网络中断,从此在阿里传为佳话,更是在业内流传开来。
黑客碾压程序员这种说法在很多人眼里是真理,其实黑客和程序员不是水平高低的区别,是分工不同,就像长枪兵和魔法师。举个简单的例子,程序员就是建筑工人,有的人做设计,有的人做施工,有人搬砖,有人和泥,有人砌墙,各有所专,分工合作,建筑一幢大厦。
黑客呢就是想方设法钻到大厦里面非开放区域,或者偷点东西,或者在墙上喷个图案,或者就是看看,窥测心理。攻防技术不分伯仲。都可以非常强,或许能强的离谱,你眼中的一般程序员能创造黑客使用的C语言,脚本语言等。同样强悍的黑客能一夜间让你辛苦做好的程序系统瘫痪、数据库彻底消失。他们互相制约,同样也能使得产品更加安全。
最后,黑客和程序员的区别就是一句话的区别:程序员是一种职业,而黑客是一种兴趣,并且黑客也分好坏两种。
那么作为企业开发中至关重要的程序员岗位,只有具备更强更完备的编程技术,才能更好的避免一些不良黑客的侵入,更好的保障公司的网络及软件安全,这也要求程序员们在技术上的学习任何时刻都不应该松懈。
非从业人员对于程序员和黑客的外在形象就存在着不一样的认知,因为电视电影和网络上的段子,普通的程序员一般都是有才能却一点不风趣的男性,常年一件格子衬衣,几根稀疏的头发,虽然赚的钱不少,却不会花钱装扮自己;而黑客的形象就完全是另一种,他们很神秘,可能我们身边随便一个人在暗地里都可以是黑客,黑客还喜欢穿黑衣服,带黑色的帽子,不喜欢以真面目示人。
其实黑客和普通程序员只是各有侧重而已,说不上孰高孰低。黑客给人很厉害的感觉主要是他带来的破坏性比较直观,对于普通人来说比较好理解。比如电影里最常见的入侵别人系统搞坏事这类。而『普通程序员』如何通过各种精妙的设计构建出了一个又复杂牛逼的应用,抗住了天大的流量,一般人是没法理解的,比如淘宝这种,还有抗住春晚活动的流量这些。两者都是普通人做不到的。
一般来讲,黑客和普通程序员各有侧重,技能树不一样,比如前端的XSS攻击,黑客知道这个输入框内的内容如果没有被处理,那么可以通过构造特殊的输入内容来达到攻击目的,但是对于这个输入框如何弄得更好看,对用户交互友好这些他一般不关心,可能下一个关注点就在你的表单是不是可以做CSRF攻击上。还有一个例子是,框架/语言爆出了很多漏洞,黑客就会利用这些漏洞发起一些攻击,很大概率黑客对这个框架/语言都不是很熟悉。
相对的,普通程序员也不会关注黑客关注的很多点,比如CAPTCHA这种可能就直接引入个第三方的来防御了,并不会自己去实现一遍。还有加密算法这种,也几乎只有黑客才会去研究。普通程序员可能研究的就是压缩算法。黑客的攻击手段多种多样,有的甚至不会写代码,比如《我是谁–没有绝对安全的系统》里就有一位,根本不写代码,通过翻垃圾桶,开锁偷看资料这类操作搜集很多有用的信息,从而发起攻击。一般称这种为手段『社工攻击』。
假设老板今天给了我们一个任务,让我们判断一个IP是否在线。我们可以用Python编写ping IP代码importost=input('请输入要检测的IP:')result=os.popen('ping-C 1-t1%s'%(主机))。Read()如果'ttl'inresult:Print('Ip online')否则:Print('Ip offline')。
现在,作为一个代码审阅者,您不会考虑代码的总体结构,也不会考虑编写此代码的程序员为什么使用Ping或Popen。你觉得有什么问题吗?如果没有,请考虑两个问题:波本的本质是什么?如果您不知道或没有使用过Popen,请不要查找它并猜测此函数的用。在这个程序中,Popen要执行的命令是什么?既然 popen 后面执行的语句中的 host 变量是由用户输入的,那恶意用户是不是可以输入一个localhost && whoami 呢?这样 popen 执行的代码就变成了 ping -c 1 -t 1 localhost && whoami。注意,就算上述例子中没有将运行结果直接打印出来,但没打印出来并不代表代码没有运行。例如如果我直接输入 host 为 localhost && whoami的话,输出结果还是 IP 存在, 但这并不代表 whoami 命令没有运行,我们依旧可以建立一个 Reverse Shell。为了验证结果,我们在代码里面让 result 被打印出来。
这种技术称为命令注入。如果普通程序员没有遇到这种问题,他们就不会碰这种技术。当他们看到上面的漏洞代码时,他们会觉得没有问题。他们至多认为这有点不愉快,但能反映出第一时间安全漏洞的少数人是少数。这听起来像是一种简单的技术,比反向和动力提升简单得多。但这项技术很有创意,有低下限和高上限。例如,我们现在知道上面的问题存在,所以在输入阶段中过滤一些关键字是可以的。在这个问题中,我们希望用户输入一个IP地址,所以我们需要直接过滤掉空间。普通IP地址中没有空格。
我认为它在脆弱性敏感度和创造力方面都很强。在CVE、黑客论坛等场所提高脆弱性敏感度需要花费大量时间,而创造力只有靠天赋和运气才能提高。你可能认为有很多方法可以避免这个例子。首先,我承认这个例子是一个暂时的例子,这是不好的,但请注意,我的例子是非常简单和不成熟的。在现实的红蓝战场上,以SQL注入为例,经过这么多年,我们能完全避免它吗?我记得今年年初黑网曝光的收藏数据库,1000克各种注入数据库,涉及世界各地的各种论坛,甚至包括一些银行、一些人口办公室和一些政府机构。代码思想是有限的,创造力是无限的。
这是个非常奇怪的问题,可能提出这个问题就不是非常了解黑客和程序员这两个职业,其实我更喜欢称黑客为网络安全工作者,虽然都是码代码的,但是其工作的目的性完全不同,作为一个程序猿,你的产品是面向大众,所以他们追求的是程序的实用性,稳定性,以及重复性,他们最宝贵的不是他们的技术,而是创意,一个软件程序的创意,好的程序员有很多,但好的想法和创意就很少,只要有了创意,有大把的程序员可以写出好程序。而所谓的黑客他们更加注重自身的技术,即使是创造,他们创造的也是一些算法,而且由于网络安全的逐渐完善,正真能够创造出新东西的黑客越来越少,他们多半就职于一些大型网络企业,或者国家部门当中,那些人我们则称为网络安全专家,黑客的创造与程序员的创意本质的差别就是,黑客更趋近于计算上,而程序员更贴近于生活,一个好的软件,好的游戏,不是简简单单一个段程序,一个人就可以完成的,一个优秀贴图师和建模师,他们不一定需要知道他们用的软件的底层代码是什么,但是他们一定在美术,色彩等方面有着极深的造诣。所以说拿黑客和程序员直接比较,是非常欠妥的。一个好的程序员不一定是一名优秀的黑客,一名好的黑客也不一定是一个出色的程序员。程序员为我们描绘出了一个丰富多彩的虚拟世界,让我们享受到了更加舒适便利的生活。而网络公司工作者们为这个美丽的世界制定了秩序与规则,让我们支付宝里的钱不会无缘无故的消失。职业无贵贱,如果硬要说黑客比程序员多了些什么,那么可能就是他们更加默默无闻,更加神秘吧。
可能是因为黑客他们并不是什么正当的职业所以说他们做起事情来可能会比他们更加的厉害一些。
黑客他在很多方面比程序员懂得的更加的多,更加的深入
其实不论是黑客还是普通的程序员,他们都是非常厉害的,没有高低之分。
黑客和程序员都是一样的吗?我的意思是黑客能做到的只要程序员愿意也可...
本质上是一样的,但是终归是两个截然相反的两个方向!聪明用在了不同的地方了!
电脑黑客都是程序员出身吗?
黑客基本上都是对计算机技术非常感兴趣的,他们比一般的程序员更加关注,他们把代码当成自己的兴趣爱好而不是一种工作。而且他们写的代码不用想科班出身那样想着具有可维护性,也不在意可不可升级,也不需要团队开发,也不需要考虑交互页面用户好看度,只要自己能看的懂就行了。
程序员划分:看顶级高手如何编程
大多数技术专家的代码阅读量是普通程序员的百倍,代码阅读的时间比写代码的时间要长得多。 多数程序员只把程序开发当成一份工作,他们在乎平台的前景、语言的优劣、报酬的高低;他们不愿为一个技术点反复钻研,不愿为一个bug精心测试,不愿为自身技术水平的提高多花时间。而开发高手往往具有单纯的技术梦想,愿意为技术...
黑客的技术比软件工程师高么(黑客是程序员还是网络工程师)
现在黑客广泛流行于网络,所以网络安全知识是网络工程的主要课程 2个专业都学语言,所以黑客语言从这里都能学 其实你学了这2个课程,也当不了真正的黑客 为什么呢,你得有实际入侵和发现漏洞,并破解漏洞的能力才行,这个需要的知识太多了,当个害客容易,当个黑客需要的知识太多,很难 ...
所谓的黑客所有程序员都可以当,只要他的能力达到是不是?
并不是,网站编程和网站安全以及网络安全都是分开的计算机学科,黑客是需要精通机会所有的计算机知识才能够远程入侵的。
黑客到底是靠什么活着?
这种敛财的手段拉风且直接,钱来得太快,自然过着红灯酒绿的生活,其实事实上并非如此,中国的黑客绝大部分资深的基本上已经成了兼职黑客,平时有一份体面的工作,多是设计网络安全方面的,并没有人们想得那么夸张。这么讲吧,一个程序员可能不是黑客,但一个黑客必定是程序员。既然黑客是一份平常的...
普通的程序员和大神级的程序员有什么区别?
有自己的思想框架,走出自己的思路。不是按部就班,非常的灵活,而且严谨。普通的程序员,大部分没有自己的格局思维
请问,游戏开发中,服务器端程序员的主要工作是什么?他与客户端程序员对比...
1。服务器端程序员的主要工作是将服务器端提供来的数据请求进行合理的对数据库进行安全的读写.以及将游戏内相对玩家的信息及时转发给其他玩家2。个人感觉都差不多.客户端工程师的压力主要来自bug的修复。数据库端工程师的压力来自合理的分配系统资源对数据库操,以及对更新的数据进行读写,和日常的技术...
黑客是什么意思黑客?
事实上,黑客不是一种固定的职业,更多是一种技能,一个普普通通的人只要热爱互联网或者编码技术,多花时间研究这方面的问题,就可开始从事黑客的行业。黑客作为一类优秀程序员,其编程能力拥有独特的创造力,因此具有非常高的市场价值。同时,黑客也是当前世界中为数不多的社会公正维护者,他们可以通过技术...
黑客是什么
但是记住,如果你只会一门语言,你将不会达到黑客所要求的技术水平,甚至也不能达到一个普通程序员的水平---你需要学会如何以一个通用的方法思考编程问题,独立于任何语言。要做一名真正的黑客,你需要学会如何在几天内通过一些手册,结合你现在所知,迅速掌握一门新语言。这意味着你应该学会几种不同的语言。 如果要做...
戈虹罗立: 黑客和程序员本质上是没区别的,都是通过编程实现自己的目的,敲的代码都一样,各自的代码也都认识.只是研究方向不一样而巳,很多程序即是上班族,也是黑客.程序员除了安全人员,更多是研究现实功能,架构,优化,这些事情上面.黑客更多是研究你有没漏洞,抓到漏洞我就利用.古话说不怕贼偷,就怕贼垫记,所以很多人总是以为黑客比程序员牛逼,其实是误区,只是两者重点研究方向不一样而巳.
海阳市17251722461: 黑客比程序员编程强么??
戈虹罗立: 黑客也是程序员吧,他们破解系统或者网络基本上是一项业余嗜好,通常是出于自己的兴趣,而非为了赚钱或工作需要,对一个黑客来说,学会入侵和破解是必要的,但最主要的还是编程,毕竟,使用工具是体现别人的思路,而程序是自己的想法.一句话--编程实现一切.貌似没有什么可比性的呢
海阳市17251722461: 黑客和程序员的差异是什么? - ?
戈虹罗立: 黑客也是程序员,程序员是总称,黑客是众多程序员中的一种,同时黑客也只是一种俗称,你也可以称它为“精通网络安全领域的程序员”.当然也有很多伪黑客,比如为了个人利益盗取其他主机资料,权限等.
海阳市17251722461: 码农,黑客和普通程序员之间的区别 - ?
戈虹罗立: 码农.没有很高水平,从事体力性敲写代码的工作.程序员.比码农要有思维,会设计,会思考算法.真正懂程序.黑客:有能力侵入别人计算机的都叫黑客,但是现在广泛应用于网站入侵和系统破解领域的高手,国内有一个很畸形的定义就是黑客是干坏事的计算机人员
海阳市17251722461: 黑客和程序员哪一个更厉害 - ?
戈虹罗立: 黑客也是程序员,你说哪个厉害
海阳市17251722461: 程序员和黑客有什么区别?? - ?
戈虹罗立: 程序员编写程序 黑客找程序存在的漏洞(或者称为BUG) 程序员盖房屋 黑客就找这所房屋的除了门以外可以进入该房屋的地方(或者摸索不用钥匙就能开门的方法) 这时就有了黑客与骇客之分了.. 黑客会通知程序员修补那个地方 而骇客会利用这点非法进入该房屋内进行破坏或者实施盗窃
海阳市17251722461: 黑客和程序员谁的知识储备量要多一点? - ?
戈虹罗立: 黑客分:二逼黑客(特指拿着百度来淘宝来的工具到处攻击的SB)、一般黑客、高手、超级黑客 程序员分:码农,一般程序员,项目负责人,架构师、工程师 知识储备量不好比,上下差距太大.
海阳市17251722461: “程序员”与“黑客”有什么区别?各自的意义是什么? - ?
戈虹罗立: 程序员范围更大,只要工作涉及到写代码都可以称为程序员.而黑客是一类特殊的程序员,指利用自身的信息安全方面的专业知识技能,恶意破坏网络健康,危害他人信息财产安全,从中谋利.
海阳市17251722461: 黑客与程序员谁更有价值、 - ?
戈虹罗立: 腾讯问问电脑安全特聘专家 李涛 : 二者没太大区别. 黑客所涉及的技术都是来源于学习.本质上来说 只是后期的发展 方向不同而已.类似软件制作、网页制作、编程解码、等等等等 都是一样的.只是用处不同用意不同而已. 根本区别在于 所用方向
海阳市17251722461: 黑客的技术比软件工程师高么 - ?
戈虹罗立: 说差不多没区别,了解到这种地步的算已经个是高等级来的了.黑客技术了解还是更比较全面点的.