23

我对黑客这个词很熟悉。虽然我永远不会成为那些骗人或制造麻烦的黑客之一,但我相信这是任何自称为程序员的人必须能够做到的一个重要方面,因为它主要是关于解决问题。但它是如何工作的?当那些人破解游戏或网站或破解索尼的人时,他们是否使用像 ANSI C 或 c++ 或汇编这样的编程语言。假设他们使用一种编程语言,是否可以像使用任何其他语言进行黑客攻击一样使用 javascript 进行黑客攻击。此外,您还必须做什么才能破解。我只想知道它是如何工作的,以及它背后的理论。

4

5 回答 5

70

黑客每次都是独一无二的。利用某些类型的漏洞根本不需要任何特定的语言。有时你破解那里的任何东西,用你找到的任何语言或形式。有时有必要使部分过程自动化,例如密码破解,您可以使用任何您喜欢的语言。

破解商业游戏通常涉及研究其反汇编的机器代码,找出 CD 或许可证检查的部分,并通过手术替换代码的几个字节以便跳过检查。

入侵网站通常涉及发现其开发人员的一些小笨拙,这允许查看应该是私人数据,或者如果没有正确清理数据,则允许执行自定义代码。当发送到数据库的值没有在引号(“...”)内得到适当保护时, SQL 注入是一个常见缺陷,因此您可以提供超出引号的值以执行您自己的命令。跨站脚本是一种使用 JavaScript 的 hack:如果网站盲目地从 URL 或提交的表单数据中获取参数并在页面上显示它们而没有将它们安全地编码为文本(令人担忧的常见),您可以提供一个 <script> 标记以执行那个页面。使某人访问此类 URL 允许代表他们执行脚本操作。如果草率的代码允许访问类似eval的函数,或者如果服务器错误配置允许用户上传的文件被服务器解释为脚本,则代码注入也可以在服务器端使用 PHP(或 Perl 或类似)进行。

远程入侵操作系统或服务器程序可能会利用其处理网络命令时的错误。对格式错误的网络命令的不当处理可能会导致其破坏用户身份验证检查,甚至直接执行网络数据包中提供的代码,例如通过缓冲区溢出

Web 浏览器、插件和文档查看器中的错误是相似的。可以使用非标准或损坏的值来制作应该是安全类型的文件。如果程序员忘记安全地处理这些情况,它们通常可以用来逃避文件类型的正常限制。

病毒也可以通过 USB 记忆棒或 CD 的物理交换或说服某人安装载有病毒的软件而溜到机器上。此类病毒通常针对每种目的重新编写(以避免防病毒软件),但也有一些常见的可用。

较弱或实施不当的加密可能允许对加密数据或密码进行暴力解码。不存在的加密可以允许直接窃听数据。缺乏加密也可能允许将未经身份验证的命令发送给用户或服务器。

非常明显的密码或未更改的默认密码可能会让简单的猜测进入系统。有些人在任何地方都使用相同的密码。这使网站能够简单地进入用户的电子邮件帐户,然后控制与之相关的所有内容。这也意味着一个不安全网站上的密码泄露可能会被用来访问许多其他网站上的帐户。

有时,“黑客”是社会工程。例如,想象一下给一名初级员工打电话并假装是负责人,以诱骗他们泄露内部信息或重置密码。网络钓鱼电子邮件是一种常见的、半自动化的社会工程形式。

闯入系统很少只是这些步骤之一。分析系统、识别小缺陷并利用它们查看是否暴露了有用的攻击向量,然后从中扩展以获得更多访问权限,这通常是一个漫长的过程。

当然,我从来没有这样做过。

于 2012-12-12T15:44:28.260 回答
3

javascript 可能会进行某种“黑客攻击”。您可以从地址栏运行 javascript。尝试javascript: alert("hello");在此网站上输入您的地址栏。

这样就可以劫持局部变量,例如cookies。

但是由于 javascript 在客户端运行。人们必须使用您的工作站才能访问您的 cookie。这是一种可用于更改登录数据并伪装成其他人的技术(如果该站点构建得不好)。

如果您真的想了解更多关于这方面的信息,可以在这里找到一些“javascript hacking 课程”:http ://www.hackthissite.org/pages/index/index.php

于 2012-11-14T19:02:53.963 回答
1

旁注,黑客攻击和破解是有区别的。参考:http ://en.wikipedia.org/wiki/Hacker_(programmer_subculture )

有许多可以使用 javascript 的漏洞利用,其中最著名的可能是跨站点脚本 (XSS)。

http://en.wikipedia.org/wiki/Cross-site_scripting

要跟进 Michael 的回答,最好了解软件中的漏洞以及人们如何利用这些漏洞来防范这些漏洞,但是黑客并不是您想要为人所知的事情。

于 2012-11-14T19:00:43.823 回答
1

首先,您实际上指的是所谓的Cracking,而不是 hacking。这个问题肯定会结束,但是一些简短的观察^_^

破解来自对计算机系统构建方式的基本理解,因此您不学习如何破解/破解,而是学习计算机工程以进行逆向工程

一个流行的黑客平台是 Linux。以windows为例,因为它是开源的,所以有经验的程序员可以编写自己的程序。尽管有经验的黑客可以在任何平台上实现他们的目标。

黑客有很多级别,但是,简单的网站安全性与入侵索尼并面临牢狱之灾是天壤之别^_^

不过,您可能会在http://www.hackthis.co.uk上获得一些乐趣

于 2012-11-14T19:01:09.250 回答
0

这取决于很多事情,例如:html 代码的结构,例如,我不知道您是否可以破解 iframe,但普通网页相对容易破解。程序员通常做的另一个安全陷阱是通过 url 查询字符串传递敏感信息,然后您可以获取这些数据并将它们提交到 html 代码中使用的任何位置。

可能还有其他细节,但我现在不知道。

于 2012-11-14T19:03:56.003 回答