PHPweb万能密码破解的原理

2015-12-16 14:01:05 8815

对于一个网站后台是十分重要的部分,对于后天密码的保存尤为重要,通常我们都需要设置比较复杂的密码来阻止他人进行访问的。但是对于PHPweb网站的后台却存在着这么一个漏洞。就是利用对数据库查询的漏洞导致利用特殊的输入方法来造成无需密码直接进入网站后台。

万能密码的用户名和密码: admin or 1=1 或者1 or 1=1 or 1=1

这个的原理就是利用了数据库在查询过程中的代码漏洞造成的。

例如:

select use from tb_admin where use=11 and pwd=123;

这是一个普通的查询语句。

我们理解这条是查询数据库中表名为tb_admin中的use列,并且查询需要满足的条件是use列中值为“11”而且还要pwd列值为“123”的数据信息。

通常我们会使用这种方法来验证网页上用户输入的账号和密码,如果是有这条信息的则出现另一个登录成功。

但是:如果登录时候我们用了类似or 1=1的输入的话那语句会变了样了

如果use的值是用户账号pwd的值是密码,那么假如我们输入的是这样那语句在提交的时候就标称了:

select use from tb_admin where use=or 1=1 and pwd=123;

那么我们在看这条语句,就相当于只需要满足use的值为空,或者是1=1和pwd等于’123‘。这样一来因为加入了‘或’的原因并且use至于为空就可以返回值。这样无论怎么操作都会显示成功了。达成条件。利用这种方法就可以登录成功。

所以我们需要注意这一些利用漏洞的方法。


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: