神刀安全网

经常听说某某网站被黑,请问黑人家网站的基本原理是什么呢?

题主问的是原理,

而目前排第一的答主@魏十七给的是一个实践性的例子,

我尝试从原理层面解释一下他做的事情吧。

首先说明几点基本背景知识:

1. 不管是代码还是数据,它在计算机底层看来,都不过是二进制字节流而已,没有区别;

2. 与程序交互往往意味着数据的输入,黑客就可以写一段代码输入进去;

3. 这就是" 远程代码执行 "漏洞了,感觉大部分漏洞都可以归类于此。他本质上就是:使用某个输入数据的时候,因为各种各样的原因,把这段数据作为可执行程序运行了,然后就会出现写这个输入的黑客希望的结果了;

然后具体讨论这个案例。

第一步是sql注入,网站里最常见的注入攻击之一。

由于网站需要存储数据,通常而言都会使用数据库,而数据库的查询通常而言都会使用sql语句。

关于sql的介绍参见 SQL

这里提到的"注入点",其实就是"提交一个特殊数据让网站执行有害sql语句"的点。

例如:

可能网站功能是输入名字查询信息,假设输入的数据在后台是$data,

那么写得不好的后台可能会执行 select * from info where name = ‘$data’,

正常情况可能就是 select * from info where name = ‘thyyyy’,

然而黑客可以写这么一个输入: abc’ or ‘a’=’a

这样的话 语句变成了 select * from info where name = ‘abc’ or ‘a’=’a’,就变成查询到全部数据了。

更实际的sql注入会有更复杂的情况,以上只是举例。

总之,他找到这样的点之后,就可以执行他需要的语句,然后显示出本无法看到的数据库内容了。

第二步是找到管理员权限,

这里他是利用上面的注入,查询出数据库里的用户数据,然后得到了admin密码的MD5值。

md5的介绍参见 MD5

简单来说md5是一个不可逆的函数,会把密码映射成一个没有规律的字符串,原则上讲这样是可以保护密码的。

但它毕竟是一个确定的函数,因此input和output是对应的,因此机智的黑客们就想到,可以造一个表预先存好一些密码对应的md5,这样就可以反查。 这个叫彩虹表: 彩虹表

因此利用这样的根据,使用了简单密码的话,还是很容易就被查表破解,于是这里管理员密码就被拿到了。

第三步就是利用管理员权限去黑网站了

不过管理员权限不是万能的,所以这里答主提到一句没有上传点,也就是说功能受限。

这里他提到使用一个工具叫做"菜刀"打开了他的权限,这个工具我不太熟悉,了解的知友可以帮我补充一下。

这里简单查了一下,它的核心原理应该还是远程代码执行,通过给网站提交有害的php代码,达到提升权限做各种各样事情的能力。

做到这一步,网站里所有文件都可以被修改了,那就意味着“黑进去一个网站”了。

以上根据个人浅薄的知识回答,望各位指正~

转载本站任何文章请注明:转载至神刀安全网,谢谢神刀安全网 » 经常听说某某网站被黑,请问黑人家网站的基本原理是什么呢?

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址