本文目录一览:
黑客到底比普通程序员高在哪里?
假设老板今天给了我们一个任务,让我们判断一个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克各种注入数据库,涉及世界各地的各种论坛,甚至包括一些银行、一些人口办公室和一些政府机构。代码思想是有限的,创造力是无限的。
程序员和黑客有什么区别??
1.
黑客是程序员的子集。
2.
程序员在解决那些原先已经被解决过的问题。而黑客通常是在尝试解决一些新的问题。
3.
程序员是一种职业,而黑客是一种兴趣。
4.
程序员的工作有很多限制,而黑客可以尽情发挥。
5.
程序员都想把自己说得更好,因为他们要推销自己,而真正的黑客更谦虚,他们知道自己懂得还不够多。
6.
程序员是一种“职责”,需要的是对编程语言的使用,更希望尽快完成工作,而不是探寻为什么要做这项工作。做一个程序员没有什么错,但生活中有
很多比编程更重要的事情。相反,黑客是一种“心态”,对技术有着极大的好奇,希望理解核心的工作原理,喜欢创造。尝试理解如何工作,如何做得更好,如何让事情做得特别。黑客就像艺术家或哲学家,同时有着科学工程的天赋,有很多“为什么”和“为什么不”。
7.
程序员和黑客,就如同画匠和艺术家,DIYer和工匠,教科书的方式和创新的方式。
8.
程序员的目标是写出程序,完成需求,而黑客是要让程序为自己而用,满足自身需求。
9.
程序员和黑客都在写代码,只是黑客把不可能变为了可能。
程序员和黑客有什么区别
程序员和黑客有什么区别,程序员和
黑客只是研究方向不一样,程序员更
多是研究现实功能,架构,优化,黑
客是研究漏洞,程序员是职业,黑客
是兴趣爱好,程序员的目标是写出程
序完成需求挣到工资,而黑客是要让
程序为自己而用,程序员写代码是为
了完成任务,黑客写代码是为了爱好。
程序员和黑客哪个更厉害?
黑客就是程序员,只不过是从事不正当行为的,你可以这么理解,好比程序员是魔法师,那么黑客就是魔法师里面的死灵法师,把它单列出来,不是因为他厉害,而是因为他干的事和其他行当不太一样,一不小心就走入禁区了。
大家都知道高级程序员很吃香,那么高级程序员和黑客到底谁更厉害?
非从业人员对于程序员和黑客的外在形象就存在着不一样的认知,因为电视电影和网络上的段子,普通的程序员一般都是有才能却一点不风趣的男性,常年一件格子衬衣,几根稀疏的头发,虽然赚的钱不少,却不会花钱装扮自己;而黑客的形象就完全是另一种,他们很神秘,可能我们身边随便一个人在暗地里都可以是黑客,黑客还喜欢穿黑衣服,带黑色的帽子,不喜欢以真面目示人。
其实黑客和普通程序员只是各有侧重而已,说不上孰高孰低。黑客给人很厉害的感觉主要是他带来的破坏性比较直观,对于普通人来说比较好理解。比如电影里最常见的入侵别人系统搞坏事这类。而『普通程序员』如何通过各种精妙的设计构建出了一个又复杂牛逼的应用,抗住了天大的流量,一般人是没法理解的,比如淘宝这种,还有抗住春晚活动的流量这些。两者都是普通人做不到的。
一般来讲,黑客和普通程序员各有侧重,技能树不一样,比如前端的XSS攻击,黑客知道这个输入框内的内容如果没有被处理,那么可以通过构造特殊的输入内容来达到攻击目的,但是对于这个输入框如何弄得更好看,对用户交互友好这些他一般不关心,可能下一个关注点就在你的表单是不是可以做CSRF攻击上。还有一个例子是,框架/语言爆出了很多漏洞,黑客就会利用这些漏洞发起一些攻击,很大概率黑客对这个框架/语言都不是很熟悉。
相对的,普通程序员也不会关注黑客关注的很多点,比如CAPTCHA这种可能就直接引入个第三方的来防御了,并不会自己去实现一遍。还有加密算法这种,也几乎只有黑客才会去研究。普通程序员可能研究的就是压缩算法。黑客的攻击手段多种多样,有的甚至不会写代码,比如《我是谁–没有绝对安全的系统》里就有一位,根本不写代码,通过翻垃圾桶,开锁偷看资料这类操作搜集很多有用的信息,从而发起攻击。一般称这种为手段『社工攻击』。