SQL server7.0的远程连接问题

2016-02-19 15:19 4 1 收藏

今天图老师小编要向大家分享个SQL server7.0的远程连接问题教程,过程简单易学,相信聪明的你一定能轻松get!

【 tulaoshi.com - 编程语言 】

  在发现了global.asa+.htr的bug之后,往往sql server数据库的ID和密码以明文的形式暴露在我们眼前,(写程序时候应该注意啦!)我试过几个国内知名的网站,象蚁盟的, 都可以得到他的数据库密码。于是如何进一步取得数据库的控制权限成为我们关注的问题。

  有的朋友常常有了密码确连不进对方主机,下面我来说说连接时候需要注意的问题和步骤,抛砖引玉,希望大家把好的方法公布出来,让我们一起进步。

  SQL server的两种验证模式:NT验证模式和混合安全模式。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  当用户使用Query analyzer登陆到sql server时,系统将提示用户提供登陆名和口令。缺省情况下,登陆名SA。口令为空。用户登陆到sql server后,可以访问服务器上的每一个数据库。一般只有一个数据库被设置为登陆名的缺省数据库,当Query analyzer启动后,该数据库自动使用。

  在NT验证模式下登陆,sql server检测当前使用的NT用户帐号,并在syslogins表中查找该用户,以确定用户是否有权限登陆,这种方式用户不必提供密码或登陆名让sql server验证。其实,sql server是从RPC连接中自动获得登陆过程的NT用户信息,即用户必须使用RPC连接登陆才能进行sql server的NT验证。

  混合安全模式:这是常用的模式,因为它允许以sql server验证方式或NT验证方式来进行连接,这种模式可以更好的适应各种用户的环境,也是我们可以进入对方数据库的入口。如果我们使用TCP/IP Sockets进行登陆验证,sql server将使用sql server验证模式,如果使用命名管道,sql server将使用NT验证模式。那么,sql server 的验证模式怎么处理登陆名的登陆呢?首先,在syslogins表中检测输入的登陆名和密码,如果存在,且密码正确,则可以登陆。这种模式下我们必须提供登陆名和密码来让sql server检验。当然!我们现在已经知道了他的USERID和PWD,嘿嘿!

  SQL server 的验证模式和NT注册表

  验证模式的设置保存在NT注册表的HKEY_LOCAL_MACHINE\software\microsoft\MSSQLServer\MSSQLServer中的loginmode中,如果该键值为0,则使用混合安全模式,为1,则使用NT验证模式。缺省为0。

  这也是为什么大多数主机我们可以顺利连接的原因。

  了解了登陆的基本过程,下面我来说说sql server远程连接的步骤:

  首先,ping 他的域名得到 IP,在client network utility中添加一个TCP/IP型的server alias,注意不要改变端口号,用默认的就可以。

  然后在sql server组中添加一个新的主机,把IP地址、SA和PWD填入就可以了。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  值得注意的问题是,只有取得了SA即管理员权限的才可以对整个数据库进行操作,只有一个表的密码是不行的,肯定连接失败。

  在SQL server中,是可以设置禁止远程连接的。方法如下:

  在SQL server管理中设置属性,点连接,把allow other sql servers to connect前的勾去掉就可以了。

  另外,如果sql server的版本不同有时侯也会造成连接失败。

  最后,给大家一个很烂的主机玩玩,(别说是我说的,呵呵!要不下次不给了!)

  61.132.16.68 uid=sa;pwd=tj3860315$

  记住不要搞什么破坏!全当练练手。要不人家找到了你麻烦可就大了!

  以上仅代表个人观点,有什么不正确的地方,请各位大哥大姐兄弟朋友老少爷们儿指教!

来源:http://www.tulaoshi.com/n/20160219/1609408.html

延伸阅读
标签: MySQL mysql数据库
一.设置客户端网络实用工具 点击“开始”-“程序”,在“Microsoft SQL Server”菜单中选择“客户端网络实用工具”。 screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='点击在新窗口查看全图\nCTRL+鼠标滚轮放大或缩小';}" border=0>  在“别名”选项中点击“添加”。 screen.width*0.7) {this.resize...
标签: SQLServer
  管理文本和图像数据        文本和图像数据类型列可以象其它列一样包含在SELECT语句的Select_list中。通过SELECT语句检索的最大文本大小由TEXTSIZE设置来控制。默认的TEXTSIZE的值是4096字节,使用SET TEXTSIZE语句可重新设置。当前的TEXTSIZE设置的值存放在全局变量@@TEXTSIZE中。   &nb...
标签: SQLServer
  存储过程中返回结果        从存储过程中返回结果有三种方式: 1、  返回结果集 这是客户端应用程序返回结果的最通用的方法。结果集是通过使用SELECT语句选择数据产生的。结果集可以从永久表、临时表或局部变量中产生。将结果返回到另一个存储过程不是一种有效的方法。存储过程不能访问另...
标签: SQLServer
  存取数据 select语句 1. 选择表中的所有列 “*”对Select语句有特殊意义。它指定表中的所有列,而不用列出列的名字。列的顺序和表中的顺序相同。 2. 选择不同的值 如果被选择列表中的列有重复值,这时“distinct”关键字可以用来忽略重复值。 注意: 如果Select list中多于一列,则distinct关键字对它们总体有效。如果一列有重复值,...
标签: SQLServer
  数据排序        ORDER BY子句按指定的顺序对数据排序(ordering data)。它要求一个列名字列表或非负整数列表来指定列的位置。分别用ASC代表升序,DESC代表降序,默认为ASC。 限制返回行的数目        不使用WHERE子句而限制结果中的行数是可能的。“TOP”子...

经验教程

240

收藏

65
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部