ArvutidProgrammeerimine

Mis on süsti SQL?

Saitide arv ja veebilehti kasvab pidevalt. Võetud arendamiseks kõigile neile, kes saavad. Ja algaja Web arendajad kasutavad sageli ohtlik ja vana koodi. Ja see tekitab palju lünki ja häkkerid. Kui nad on. Üks klassikaline turvaaukude - SQL süstimise.

Natuke teooria

Paljud inimesed teavad, et enamus saite ja teenuseid võrgus kasutavad SQL andmebaasi ladustamiseks. See on struktureeritud päringu keel , mis võimaldab teil kontrollida ja juhtida andmete säilitamise. Seal on palju erinevaid versioone andmebaasi juhtimissüsteemi andmebaas - Oracle, MySQL, Postgre. Sõltumata nimi ja tüüp, mida nad kasutavad sama päringu andmed. Just siin peitub potentsiaal haavatavust. Kui arendaja ei käsitlenud õigesti ja kindlalt nõuda, ründaja võib seda ära ning kasutada spetsiaalseid taktika juurdepääsu andmebaasi, ja siis - ja kõik saidihaldusfunktsiooni.

Selliste olukordade vältimiseks, peate korralikult optimeerida koodi ja tähelepanelikult jälgida viisil, kus taotlust töödeldakse.

Saate SQL süstimise

Esinemise kindlakstegemiseks haavatavus on võrgu kaal lõpetanud automatiseeritud tarkvara süsteemid. Aga see on võimalik teostada lihtne kontrollida käsitsi. Selleks minge üks test saite ja aadressiribale proovida põhjustada andmebaasi viga. Näiteks skripti kohapeal ei oska taotluse ja ei kärpimine.

Näiteks on olemas nekiy_sayt / index.php? Id = 25

Lihtsaim viis - panna 25 pärast tsitaati ja saata taotluse. Kui ei viga, kas kohapeal ja filter kõik taotlused on korrektselt käsitleda, või on keelatud seadeid oma toodangut. Kui leht on laetud probleemidega, siis haavatavust SQL süstimine on.

Pärast ta teada, võite proovida vabaneda sellest.

Rakendada seda haavatavust vaja teada veidi SQL-päringuid meeskonnad. Üks neist - Liitu. See ühendab mitu päringu tulemused ühte. Nii saame arvutada arvu tabeli väljadel. Näide esimest päringut on:

  • nekiy_sayt / index.php? id = 25 LIIDU SELECT 1.

Enamikul juhtudel see kirje peaks tekitama viga. See tähendab, et paljudes valdkondades ei ole võrdne 1. Seega, valides võimalusi 1 või suurem, siis on võimalik luua oma täpne arv:

  • nekiy_sayt / index.php? id = 25 LIIDU SELECT 1,2,3,4,5,6.

See tähendab, et kui viga ei ilmu enam, see tähendab, et mitmetes valdkondades, et arvata.

On ka alternatiivne lahendus sellele probleemile. Näiteks, kui suur hulk väljad - 30, 60 või 100. See käsk GROUP BY. See rühmade tulemused päringule mis tahes põhjustel, näiteks ID:

  • nekiy_sayt / index.php? id = 25 GROUP BY 5.

Kui viga ei ole saanud, siis põllud üle 5. Seega asendades valikut üsna laia valikut, on võimalik arvutada, kui palju neist tegelikult.

See näide SQL süstimise - algajatele, kes tahavad proovida end katsetada oma koduleheküljel. Oluline on meeles pidada, et volitamata juurdepääsu teise saadaval artikkel kriminaalkoodeksi.

Peamised liigid süstimist

Rakendada haavatavust SQL-süstimiseks mitmele variandile. Järgmine on kõige populaarsem meetodit:

  • Liidu päringu SQL süst. Lihtne näide seda tüüpi on eespool juba uuritud. See saavutatakse sellega, et kontrollimisel vea sissetulevate andmeid, mida ei ole välja filtreeritud.

  • Viga põhinev SQL süst. Nagu nimigi ütleb, seda tüüpi kasutab ka vea, saates väljendeid koosseisus süntaktiliselt vale. Siis on pealtkuulamine vastus päised, analüüsimine, mida saab läbi hiljem SQL süstimise.

  • Püstine päringu SQL süst. See probleem on määratud Korduvate taotluste. Seda iseloomustab lisaks lõpus märk ";". Selline lähenemine on tihti rakendatud juurdepääsu rakendamist lugeda ja kirjutada andmeid või operatsioonisüsteemi funktsioone, kui privileegid luba seda.

Tarkvara otsimiseks SQL-turvaaukude

Kas seal SQL süstimise programm on tavaliselt kaks komponenti - saidi otsida võimalikke turvaauke ja kasutada neid saada juurdepääsu andmetele. Leidub tööriistu peaaegu kõik tuntud platvormid. Nende funktsionaalsus lihtsustab oluliselt kontrollides kodulehel crack oma SQL süstimise.

Sqlmap

Väga võimas skanner, mis töötab kõige andmebaase. See toetab erinevaid meetodeid rakendamise SQL süstimise. See on võime automaatselt ära parooli tüüp hash pragunenud ja sõnastik. Olevik ja funktsionaalne faili üleslaadimise ja allalaadimise alates server.

Paigaldamine Linux läbi, kasutades käske:

  • git kloon https://github.com/sqlmapproject/sqlmap.git sqlmap-dev
  • cdsqlmap-dev /,
  • ./sqlmap.py --wizard.

Windows on saadaval lisana käsurea ja graafilise kasutajaliidese.

jSQL Injection

jSQL Injection - platvormidel testimisel kasutamise SQL kohti. Kirjutatud Java, nii et süsteem peab olema paigaldatud JRE. Suuteline käitlema GET päringuid, POST, päise, küpsise. See on mugav graafiline kasutajaliides.

Paigaldamine see tarkvarapakett on järgmine:

wget https://github.com/`curl -s https: //github.com/ron190/jsql-injection/releases | grep-E -o '/ron190/jsql-injection/releases/download/v[0-9]{1,2}.[0-9]{1,2}/jsql-injection-v[0-9] . {1,2} [0-9] {1,2} jar "| Pea-n 1`

Käivitamine on käsuga java-jar ./jsql-injection-v*.jar

Et alustada test saidi SQL-haavatavust, pead sisestama aadressi üleval valdkonnas. Nad on eraldi GET ja POST. Positiivse tulemusena saadaolevate tabelid ilmuvad vasakul aknas. Saate neid vaadata ja õppida mõned konfidentsiaalset teavet.

tab «Admin leht» kasutatakse leida administratsiooni paneeli. On see spetsiaalsete malle otsib automaatselt süsteemi salvestab privilegeeritud kasutajad. Neilt saad vaid räsi parool. Aga ta on tööriistakasti programmi.

Pärast leida kõik turvaaukude ja süsti vajalikud järelepärimised, tööriist võimaldab serveris täita oma faili või vastupidi, sealt alla laadida.

SQLi Dumper v.7

See programm - lihtne kasutada vahend leida ja rakendada SQL kohti. See toodab ÜRO põhineb nn Dorcas. Nende nimekirja võib leida internetis. Dorca SQL süstimise - need on spetsiaalsed malle otsingupäringutest. Nende abil saab leida potentsiaalselt haavatavad saidi mis tahes otsingumootor.

Tööriistad koolitus

Itsecgames.com kohapeal on olemas spetsiaalne tööriistade komplekt, mis võimaldab näiteks näitab, kuidas seda teha SQL süst ja testida seda. Et saada, on vaja alla laadida ja paigaldada. Arhiiv sisaldab kogum faile, mis on struktuuri saidile. Paigaldada see tuleb olemasoleva süsteemi komplekt Apache veebiserver, MySQL ja PHP.

Paki arhiiv veebiserver kausta, sa pead minema kantud aadressil paigaldamisel seda tarkvara. Leht, kus kasutaja registreerimist. Siin tuleb sisestada andmed ja klõpsa «Loo». Liikumine kasutajal uue ekraani, küsib süsteem valida üks test juhtudel. Nende seas on nii kirjeldatud süstimise teel, ja paljud teised katsealuste.

Tasub kaaluda näiteks SQL süstimise tüüp GET / otsing. Siin tuleb see valida ja klõpsake «Hack». Enne kasutaja kuvatakse ja otsisõna imitatsioon filmi saidile. Sorteerida filme võib olla pikk. Aga seal on ainult 10. Näiteks võite proovida siseneda Iron Man. See näitab filmi, siis sait töötab ja tabelid see sisaldab. Nüüd tuleb kontrollida, kas erisümboleid skripti filtrid, eriti tsiteerida. Selleks lisage "aadressiribale." Lisaks sellele tuleb teha pärast filmi pealkiri. Sait annab vea Viga: Sul on viga teie SQL süntaks; kontrollida käsiraamatu, mis vastab teie MySQL server versiooni õigus süntaksit kasutada lähedal "% '' at line 1, mis sätestab, et tegelased ikka ei käidelda nõuetekohaselt. Nii võite proovida asendada oma taotluse. Aga peame esmalt arvutada mitmes valdkonnas. Seda kasutatakse selles järjekorras poolt, mis on kehtestatud pärast hinnapakkumisi: http://testsites.com/sqli_1.php?title=Iron+Man "Et 2 - & action = otsing.

See käsk kuvab ainult informatsioon film, see tähendab, et paljudes valdkondades on suurem kui 2. topelt sidekriipsuga ütleb server, et muud taotlused tuleb ära visata. Nüüd on meil praakima, pannes kasvavat tähtsust nii kaua, kui viga ei ole trükitud. Lõpuks selgub, et väljad on 7.

Nüüd on aeg, et saada midagi kasulikku alusest välja. Kas veidi muuta taotluse aadressiribale, tuues selle vormi: http://testsites.com/sqli_1.php?title=Iron+Man ametiühingu valige 1, andmebaasi () kasutaja (), 4, parool, 6, 7 kasutajad - & action = otsing. Selle tulemusena selle rakendamine kuvada string parooliga räsi, mida saab kergesti konverteerida mõistetav sümbolitega kasutades ühe online teenuseid. Manas vähe ja kiirenenud valdkonnas nime login, siis pääsevad kellegi kanne, nagu admin kohas.

Toode on kaal liikide süstimist liiki, mille praktiseerida. Tuleb meeles pidada, et taotlus nende oskusi võrgu tegelikel saidid võivad olla kuritegu.

Injection ja PHP

Üldjuhul PHP-koodi ja vastutab vajalike töötlemise tulevad päringud kasutaja. Seetõttu sellel tasandil teil on vaja ehitada kaitseliin SQL süstimise PHP.

Esiteks anname mõned lihtsad juhised, tuginedes mis on vaja teha.

  • Andmed tuleb alati töödelda enne paigutatakse andmebaasi. Seda saab teha kasutades kas olemasolevate väljenditega või korraldades küsitlusi käsitsi. Siingi peaks arvestama, et arvväärtused on konverteeritud tüüp, mis on vajalik;
  • Vältida küsitakse erinevate juhtimisstruktuure.

Nüüd veidi koostamise korda päringuid MySQL kaitseks SQL süstimise.

Koostamisel tahes väljendeid päringuid on oluline eraldada andmeid SQL märksõnu.

  • SELECT * FROM tabel WHERE name = Zerg.

Selle konfiguratsiooni süsteemi võib arvata, et Zerg - nimi mis tahes valdkonnas, nii et sa pead lisama need jutumärkidega.

  • SELECT * FROM tabel WHERE name = "Zerg.

Kuid on aegu, kui väärtus ise sisaldab hinnapakkumisi.

  • SELECT * FROM tabel WHERE name = "Côte d'Ivoire".

Siin käsitleda ainult osa Côte d ja ülejäänud võib tajuda meeskonna, mis muidugi mitte. Seetõttu tekib viga. Siis tuleb selline sõelumine andmed. Selleks, kasutage backslash - \.

  • SELECT * FROM tabel WHERE name = "kass-d \ 'Ivoire'.

Kõik ülaltoodud viitab read. Kui tegevus toimub mitmete, siis ei vaja hinnapakkumisi või kaldkriipsuga. Kuid nad peaksid olema kohustatud sunniviisiliselt viia soovitud andmed tüüp.

On soovitusi, mis valdkonnas nimi peab olema ümbritsetud backquotes. See sümbol on vasakul pool klaviatuuri koos tilde "~". See on tagada, et MySQL võiks täpselt eristada nime väli märksõna.

Dünaamiline töö andmed

Väga sageli, et saada kõik andmed andmebaasis päringuid, dünaamiliselt. Näiteks:

  • SELECT * FROM tabel WHERE number = '$ number ".

Siin muutuja $ number läbitakse väärtuse kindlaksmääramisel valdkonnas. Mis juhtub, kui see läheb "Côte d'Ivoire"? Viga.

Selle vältimiseks probleeme, muidugi, võite sisaldama "magic hinnapakkumisi" seaded. Aga nüüd andmete linastub vajaduse ja ei ole vajalik. Lisaks, kui kood on kirjutatud käsitsi, saate kulutada veidi rohkem aega, et luua vastupidavad lõhenemist süsteem ise.

Sõltumatu lisamine kaldkriipsuga saab kasutada mysql_real_escape_string.

$ Arv = mysql_real_escape_string ($ number);

$ Aasta = mysql_real_escape_string ($ aastas);

$ Query = "lisada tabeli (number, aasta, klass) VALUES ( '$ number", "$ aasta, 11)".

Kuigi koodi ja maht suurenes, kuid potentsiaalselt see töötaks palju turvalisem.

kohahoidjad

Kohatäitjad - mingi markerid, kui süsteem tuvastab, et see on koht, mida on vaja asendada spetsiaalse funktsiooni. Näiteks:

$ Šašlõkk = $ mysqli-> valmistada ( "SELECT District FROM arv KUS Name =?");

$ Sate-> bind_param ( "s", $ number);

$ Sate-> Run ();

See osa kood võtab koolitus taotluse malli ja seejärel seondub muutuja number, ja täidab seda. Selline lähenemine võimaldab teil jagada päringu töötlemiseks ja selle rakendamist. Seega saab salvestada kasutamise pahatahtliku koodi on SQL-.

Mis võib ründaja

Protection System - väga oluline tegur, mida ei saa tähelepanuta jätta. Muidugi, lihtne visiitkaart saidi lihtsam taastada. Ja kui see on suur portaal, teenuse foorum? Millised on tagajärjed, kui sa ei mõtle turvalisuse?

Esiteks häkker saab murda terviklikkuse nii aluse ja eemaldage see täielikult. Ja kui saidi administraator või hoster ei tee backup, siis on rasked ajad. Ennekõike sissetungija, lõhenemine ühes kohas, võib minna teise postitatud samas serveris.

Järgmine on varguse isikuandmeid külastajaid. Kuidas kasutada - kõik on piiratud ainult kujutlusvõime häkker. Aga igal juhul, tagajärjed ei ole väga meeldiv. Eriti kui need sisalduvad finantsandmed.

Ka ründaja saab ühendada andmebaasi ennast ja siis pressima raha selle tagasi.

Väärinformatsiooni kasutajad nimel saidi administraator, isik neid ei saa olla ka negatiivseid tagajärgi võimaliku pettuse fakte.

järeldus

Kõik käesoleva artikli teave on ette nähtud üksnes teavitamise eesmärgil. Kasutage seda ainult vaja katsetada oma projekti, kui ta avastab turvaaukude ja nende lahendamiseks.

Sest rohkem põhjalik uuring tehnikaid, kuidas teha SQL süstimise, on vaja alustada tegelikku teaduspotentsiaali ja funktsioone SQL keelt. Nagu koostatud päringute, võtmesõnad, andmete liiki ja kasutamise seda kõike.

Samuti ei saa ilma töö mõistmiseks PHP ja HTML elemente funktsioone. Esmane kasutus haavatavad punkte süstimist - aadress rida ja erinevate otsinguväljale. Õppimine PHP funktsioone, rakendamise meetod ja funktsioonid nuputada, kuidas vältida vigu.

Juuresolekul paljud valmis tarkvarasse võimaldab süvaanalüüsi kohapeal tuntud kohti. Üks populaarsemaid tooteid - kali linux. See pilt Linux põhinev operatsioonisüsteem, mis sisaldab suure hulga vahendeid ja programme, mida saab läbi viia põhjalik analüüs saidi tugevust.

Mida on vaja teada, kuidas häkkida saidi? See on väga lihtne - on vaja olla teadlik võimalikke nõrku külgi oma projekti või veebilehel. Eriti kui see on poe online makse, kui makseteenuse kasutaja andmeid saab kahjustada ründaja.

Professionaalsete uuring olemasolevate infoturbe personali saab kontrollida kohapeal erinevaid kriteeriume ja sügavus. Alates lihtne HTML-süstid ja sotsiaalse inseneri ja phishing.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 et.unansea.com. Theme powered by WordPress.