作者:好人___夏洁 | 来源:互联网 | 2023-08-08 13:24
黑客其实和一般的程序员一样,但是他们的关注点不一样。黑客关注的是如何破坏,通过这些有创造性的破坏来获取利益,展现自己的能力。而程序员关注的是如何创造,通过创造来获取利益,展现自己的能力。
就如同一个硬币的两面,一个新技术出现时,黑客总会关注其缺陷,而程序员更多的是关注它的优点。
程序员把一个东西的技术吹的再厉害,但是黑客总会通过技术手段找出它的缺陷,并证明出来。
程序员一般只是跟着技术明面上的内容走,但是黑客总会看到技术明面之外的东西,别人看不到的、意想不到的地方,这些地方会被黑客挖出来并且利用。在黑客眼里,一个软件总会有漏洞、都是垃圾,程序员不是在开发垃圾就是已经完成了垃圾,但是没有程序员的努力工作,黑客也没有用武之地。
程序员和黑客就是这般如同矛和盾的共生关系一样。
一般来说,黑客和程序员各有侧重,技能树不一样,比如前端的XSS攻击,黑客知道这个输入框内的内容如果没有被处理,那么可以通过构造特殊的输入内容来达到攻击目的,但是对于这个输入框如何弄得更好看,对用户交互友好这些他一般不关心,可能下一个关注点就是你的表单是不是可以做CSRF攻击。还有一个例子是,框架/语言爆出了很多漏洞,黑客就会利用这些漏洞发起一些攻击,很大概率黑客对这个框架/语言都不是很熟悉。相对的,普通程序员也不会关注黑客关注的很多点,比如CAPTCHA这种可能就直接引入个第三方的来防御了,并不会自己去实现一遍。还有加密算法这种,也几乎只有黑客才会去研究。普通程序员可能研究的就是压缩算法。
黑客的攻击手法多种多样,有的甚至不会写代码,电影《我是谁:没有绝对安全的系统》里就有一个根本不需要写代码,通过翻垃圾桶、开锁偷资料的操作搜集了很多有用的信息,从而发起攻击。这种手段称为“社工”
另外,有的初级黑客可能会利用别人写好的工具干坏事,也不用写代码。比如利用嗅探工具/安全扫描工具搞你的系统,利用字典暴力破解你的账号密码登录。这些人被称为『脚本小子』,是最令人头疼的,好防但是架不住人多,而且成本低,有事儿无事儿干你一炮,失败了也没啥影响,要是成功了可以吹一年。这些人大部分也不写代码,就是纯粹的操作工具,一般这类人不称为黑客。比如当年有个专科生,直播攻击自己学校的系统,就是用的这种方式。还用360浏览器…被吐槽惨了。
正常的,能被称为黑客的,大多都是会写代码的
搞你路由器/网关,拦截你的收发数据算温和的,暴力点儿的直接通过和你处在同一个局域网内这个便利能搞非常多事儿。一个真正的黑客,一定是以『获取你的ROOT权限』为最终目的的,没有这个追求,都不叫黑客。
其实Hacker一词最初是一个敬称,是对那些具有极客精神的程序员的称呼,后来不知道为啥,就有了『黑客』这一指代。
黑客和骇客是两种截然不同的两种概念,这也是区分程序员和黑客主要标志。
大家传统意义上的理解其实是骇客,真正的黑客如同顶级的武林高手点到为止,而且具备真正的人文情怀,如同顶级高手不但武功高强而且谦卑深藏不漏。这些都不是普通程序员所具备的,程序员主要分解任务,转化成各种功能模块,然后用对应的代码去实现,按部就班的来。黑客从心里不愿意受到限制,有点像我们武侠小说里边的侠客,路径不平拔刀相助,见到有奖规则的公司准会有黑客去收拾。
大家理解的黑客其实是骇客,专门搞个密码破解了,破解个游戏为自己某点私利,获取点黑色收入
其实想成为一个黑客,最重要的一点就是要看看自己够不够黑。
有一句古话说的非常好,也能非常好的描述黑客和程序员的关系,那就是:道高一尺魔高一丈。
程序员是道,黑客是魔!程序员是建造房子,设计院子的人,黑客就像是盗贼,可以神不知鬼不觉的来到程序员盖的房子,造的院子里来偷东西。
程序员中有白客来加强房子的安全,比如把院墙盖的更高,更宽,更结实,再弄上电网等,加强防护,保卫安全。
黑客就会想办法,找漏洞钻进来。
一矛一盾!
道高一尺魔高一丈,道可能在魔千万次的冲击中都抵挡住了,只有一次出了问题,没挡住,就感觉魔很厉害!
- 程序员:学习如何在计算机语言语法给定的框架内更好地做事情,注重语法理解与业务逻辑;
- 黑客:研究计算机语言对计算机底层逻辑的封装与映射关系,注重背后原理与底层逻辑。
所以想要成为一名黑客的首要任务就是转换学习视角,不能总是从程序员的角度去看待问题,否则学完之后充其量只能是一个更高级的程序员。而这种转换其实是挺难的,这也算得上是快速学习黑客技术的心法了,没有这个心法虽然坚持到最后也能学会,但是会耗费非常多的时间在无意义的知识细节上。
黑客都需要掌握什么
第一是背景知识,需要理解语言结构、操作系统、网络、计算机体系结构等原理;
第二必须能够熟练使用各种黑客攻击工具,寻找系统漏洞并实施攻击是一项重复性工作,灵活使用各种黑客攻击工具可以将这项工作自动化,并以人们易于理解的图形方式展现复杂的系统结构;
第三必须掌握某种编程语言,无论黑客攻击工具多么强大,进行高难度黑客攻击时,必须亲自编写适合自己使用的工具,此时需要掌握编程语言。
需要注意的是,有经验有能力的程序员对于具体行业业务的经验积累则是黑客所不具备的,因此仅仅从技术层面对比,是在拿程序员的短处去对比黑客的长处。
而之所以黑客更受尊敬,主要原因是黑客的标准线非常高,达不到成为不了一名黑客,而程序员的标准线非常低,天天码砖重复劳动就能成为程序员
任何一个领域,只要做到极致,都可以很牛.