Tölvur, Forritun
Hvað er innspýting SQL?
Fjölda vefsvæða og síður á vefnum er að vaxa jafnt og þétt. Tekin fyrir þróun allra þeirra sem geta. Og nýliði Vefur verktaki nota oft óöruggt og gamla númerið. Og það skapar mikið af skotgat fyrir glæpamenn og tölvusnápur. En þeir eru. Eitt af því sem mest klassíska veikleikum - SQL inndælingu.
A hluti af kenningu
Margir vita að meirihluti af staður og þjónustu á netinu eru með SQL gagnagrunn geymsla. Þetta er Structured Query Language sem leyfir þér að stjórna og stjórna geymslu gagna. Það eru til margar mismunandi útgáfur af stjórnun gagnasafn kerfi gagnagrunninum - Oracle, MySQL, Postgre. Óháð nafni og tegund, þeir nota sömu gögn fyrirspurn. Það er hér sem liggur hugsanlega veikleika. Ef verktaki ekki að höndla rétt og tryggilega óska, sem árásarmaður geta nýtt sér þetta og nota sérstakt tækni til að fá aðgang að gagnagrunninum, og þá - og öllum vefnum stjórnun.
Til að forðast slíkar aðstæður, þú þarft að rétt bjartsýni kóðann og að fylgjast vel með á þann hátt, sem beiðni er afgreidd.
Athugaðu að SQL inndælingu
Til að koma á tilvist varnarleysi í kerfinu hefur vægi lokið sjálfvirku kerfi hugbúnaður. En það er hægt að framkvæma einfalda ávísun handvirkt. Til að gera þetta, fara til einn af the próf stöðum og í the heimilisfang bar til að reyna að valda gagnagrunni villa. Til dæmis, handrit á síðuna geta ekki séð beiðnina og ekki klippa ekki þá.
Til dæmis, það nekiy_sayt / index.php? Id = 25
Auðveldasta leiðin - til að setja 25 eftir tilvitnun og senda beiðnina. Ef engin villa kom, annaðhvort á staðnum og sía allar beiðnir eru meðhöndlaðar á réttan hátt, eða er óvirk í stillingum framleiðsla þeirra. Ef síðan er opnuð með vandamál, þá er varnarleysi við SQL inndælingu.
Eftir að hún komst að því, þú geta reyna að losna við hana.
Til að framkvæma þetta varnarleysi þörf fyrir að vita lítið um SQL-fyrirspurnir liða. Einn af þeim - UNION. Það koma saman nokkrar niðurstöður fyrirspurn í einu. Þannig að við getum reikna út fjölda sviðum í töflunni. EXAMPLE fyrsta fyrirspurn er:
- nekiy_sayt / index.php? id = 25 UNION velja 1.
Í flestum tilfellum, þetta met skal búa villu. Þetta þýðir að fjöldi reita er ekki jafnt og 1. Þannig að velja valkosti 1 eða meira, það er hægt að koma nákvæmlega fjölda þeirra:
- nekiy_sayt / index.php? id = 25 UNION SELECT 1,2,3,4,5,6.
Það er, þegar villa birtist ekki lengur, það þýðir að fjöldi reita að giska.
Það er einnig kostur lausn á þessu vandamáli. Til dæmis, þegar stór fjöldi reita - 30, 60 eða 100. Þessi skipun GROUP BY. Það hópar niðurstöðum fyrirspurn um hvaða forsendum, til dæmis ID:
- nekiy_sayt / index.php? id = 25 GROUP um 5.
Ef villa hefur ekki borist, þá sviðum en 5. Þannig skipta valkosti úr nokkuð breiðu bili, það er hægt að reikna út hversu margir af þeim í raun og veru.
Þetta dæmi SQL inndælingu - fyrir byrjendur sem vilja reyna sig í prófun á vefsíðu sinni. Það er mikilvægt að muna að fyrir óheimila aðgang að annarri tiltækri grein almennra hegningarlaga.
Helstu tegundir inndælingu
Innleiða varnarleysi með því að SQL-inndælingu í nokkrum útfærslum. Næst eru vinsælastar aðferðir:
The UNION fyrirspurn SQL innspýting. Einfalt dæmi um þessa tegund hefur þegar verið kannað ofan. Það er ljóst vegna villu í haka komandi gögn, sem eru ekki síað.
Villa-undirstaða SQL innspýting. Eins og nafnið gefur til kynna, þessi tegund notar einnig villu, senda tjáning sem samanstendur setningafræðilega rangt. Þá er það hlerun haus svar, greina sem hægt er að fara út síðar SQL inndælingu.
Staflað fyrirspurnir SQL innspýting. Þetta varnarleysi er ákvarðað með því að framkvæma röð beiðnir. Það einkennist af því að bæta í lok því að skrá ",". Þessi aðferð er oft framkvæmd að fá aðgang að framkvæmd lesa og skrifa gögn eða stýrikerfi virka, ef forréttindi leyfa það.
Hugbúnaður til að leita SQL-veikleika
Er fyrir SQL inndælingu, the program hefur yfirleitt tvo hluti - a staður leitað að hugsanlegum veikleikum og nota þá til að fá aðgang að gögnum. Það eru nokkur tæki til nánast öllum þekktum kerfum. virkni þeirra auðveldar mjög að haka vefsíðu til sprunga þinn SQL inndælingu.
Sqlmap
Mjög öflug skanni sem virkar með flestum gagnagrunna. Það styður ýmsar aðferðir við framkvæmd SQL inndælingu. Það hefur getu til sjálfkrafa þekkja þá tegund lykilorð kjötkássa sprunga og orðabók. Staðar og hagnýtur skrá hlaða og sækja frá þjóninum.
Uppsetning á Linux er framkvæmd með því að nota skipanir:
- Git klón https://github.com/sqlmapproject/sqlmap.git sqlmap-dev,
- cdsqlmap-dev /,
- ./sqlmap.py --wizard.
Fyrir Windows er í boði sem valkostur við skipanalínu og grafísku notendaviðmóti.
jSQL Injection
jSQL Injection - kross-pallur tól til að prófa notkun SQL veikleika. Skrifað í Java, þannig að kerfið verður að vera uppsett JRE. Fær um að höndla færð beiðni, staða, haus, kex. Það hefur þægilegan grafísku viðmóti.
The embættisvígsla af þessum hugbúnaði pakka er sem hér segir:
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 '| höfuð-n 1`
Keyri er með því að nota skipunina java -jar ./jsql-injection-v*.jar
Til að byrja próf staður á SQL-viðkvæmni, þú þarft að slá inn veffang í efstu sviði. Þau eru aðskilin fyrir að fá og POST. Með jákvæðu niðurstöðu, listi yfir tiltækar borðum birtist í vinstri glugganum. Hægt er að skoða þær og læra sumir trúnaðarupplýsingar.
flipi «Admin síðu» notuð til að finna stjórn spjöldum. Á það með sérstökum sniðmát leitar sjálfkrafa kerfi skráir kerfisstjórum. Frá þeim er hægt að fá bara kjötkássa lykilorð. En hann hefur í verkfærakistu af the program.
Eftir að finna allar veikleika og innspýting nauðsynlegar fyrirspurnir, tól mun leyfa þjóninum að fylla í skrá eða öfugt, sækja það þaðan.
SQLi Dumper V.7
Þetta forrit - auðvelt að nota tól til að finna og innleiða SQL veikleika. Það framleiðir SÞ byggir á svokölluðu Dorcas. Listi þeirra er hægt að finna á internetinu. Dorca fyrir SQL inndælingu - þetta eru sérstakar sniðmát af leit sinni. Með hjálp þeirra er hægt að finna hugsanlega viðkvæmt síðuna í gegnum hvaða leitarvél.
Verkfæri fyrir þjálfun
Itsecgames.com á staðnum er sérstakt verkfæri sem gerir dæmið sýnir hvernig á að gera SQL innspýting og prófa það. Til að nýta, það er nauðsynlegt að sækja og setja upp. Afritinu inniheldur safn af skrám, sem er uppbygging af the staður. Til að setja það þarf í núverandi kerfi mengi miðlara Apache vefur, MySQL og PHP.
Taka upp skjalasafn í vefþjóni möppu, þú þarft að fara á heimilisfang inn þegar þú setur þetta hugbúnað. A síða með notandi skráning. Hér getur þú þarft að slá inn upplýsingar og smella «Búa». Færa notandann í nýjan skjá, kerfið biður þig um að velja eitt af próf tilvikum. Meðal þeirra eru bæði lýst með inndælingu, og mörg önnur atriði próf.
Það er þess virði að íhuga dæmi um SQL inndælingu gerð GET / Search. Hér getur þú þarft að velja það og smella á «Hakk». Áður en notandi mun birtast, og Leitarstrengurinn eftirlíkingu af bíómynd staðnum. Til að raða bíó getur verið lengi. En það eru bara 10. Til dæmis er hægt að reyna að komast inn í Iron Man. Það mun kynna myndina, þá virkar þessi síða, og á borðum og það inniheldur. Nú verðum við að athuga hvort sérstafir handrit síur, einkum tilvísun. Til að gera þetta, bæta við "í the heimilisfang bar." Þar að auki, þetta verður að vera gert eftir titli myndarinnar. Þessi síða mun gefa villu Villa: Það er villa í SQL setningafræði þinn; athuga handbók sem svarar til þín MySQL framreiðslumaður útgáfa fyrir rétt setningafræði til að nota nálægt '%' 'á línu 1, þar sem segir að persónurnar enn eru ekki meðhöndluð á réttan hátt. Svo er hægt að reyna að skipta beiðninni. En við verðum fyrst að reikna út fjölda sviðum. Það er notað fyrir þessa röð eftir, sem er kynnt á eftir gæsalappa: http://testsites.com/sqli_1.php?title=Iron+Man þess 'af 2 - & action = leit.
Þessi skipun birtir aðeins upplýsingar um myndina, það er, fjöldi reita er meiri en 2. tvöfalt bandstrik segir miðlara sem aðrar beiðnir skal farga. Nú verðum við að leysa úr, setja aukið mikilvægi eins lengi og villa er ekki prentað. Í the endir, kemur í ljós að reitir verða 7.
Nú er kominn tími til að fá eitthvað gagnlegt út úr stöð. Mun aðeins breyta beiðni í the heimilisfang bar, uppeldi það til að mynda: http://testsites.com/sqli_1.php?title=Iron+Man 'Union velur 1, gagnasafn (), notandi (), 4, lykilorð, 6, 7 frá notendum - & action = leit. Sem afleiðing af framkvæmd hennar myndi birta streng með lykilorð kjötkássa, sem geta hæglega breytt í skiljanlegum táknum nota eitt af þjónustu á netinu. A ganda smá og tók upp reit nafn með innskráningu, getur þú fengið aðgang að færslu einhvers annars, svo sem admin á vefnum.
Sem afurðin er með welght species innspýting tegundir, sem unnt er að venjur. Það ætti að hafa í huga að beiting þessara færni í netið á raunverulegum stöðum geta verið refsivert.
Injection og PHP
Sem reglu, PHP-kóða og ber ábyrgð á nauðsynlegum vinnslu beiðna sem koma frá notanda. Því á þessu stigi sem þú þarft að byggja upp varnir gegn SQL inndælingu í PHP.
Í fyrsta lagi skulum gefa nokkrum einföldum leiðbeiningum, á grundvelli sem það er nauðsynlegt til að gera það.
- Gögn verður alltaf að vinna áður en þau eru sett inn í gagnagrunn. Þetta er hægt að gera annaðhvort með því að nota núverandi tjáning, eða með því að skipuleggja fyrirspurnir höndunum. Hér líka, ætti að taka tillit til þess að tölugildi gildin eru umreiknaðar í þeirri gerð sem er þörf;
- Forðast beðið ýmsar stofnanir stjórn.
Nú er lítið um reglur gerð fyrirspurnir í MySQL til að vernda gegn SQL inndælingu.
Við gerð nein tjáning fyrirspurn er mikilvægt að aðskilja gögn frá SQL leitarorð.
- SELECT * FROM borðið þar sem nafn = Zerg.
Í þessari stillingu, kerfið getur held að Zerg - heiti einhverju sviði, þannig að þú þarft að láta hana í gæsalöppum.
- SELECT * FROM borð HVAR nafn = 'Zerg'.
Hins vegar eru sinnum þegar gildi sjálft inniheldur tilvitnanir.
- SELECT * FROM borð HVAR nafn = 'Côte d'Ivoire ".
Hér aðeins séð hluta af Côte d, og restin er hægt að skynja sem lið, sem að sjálfsögðu ekki. Því villa kemur. Þá þarftu svona skimun gagna. Til að gera þetta, nota sviga - \.
- SELECT * FROM borð HVAR nafn = 'köttur-d \' Ivoire '.
Allt ofangreint er átt við lína. Ef aðgerðin fer fram með fjölda, þá er það þarf ekki neinum tilvitnunum eða skástrik. Hins vegar ættu þeir að vera nauðsynlegt að valdi leiða til þess að viðkomandi gögn tegund.
Það eru tillögur sem svæðið nafn verður að fylgja í backquotes. Þetta tákn er á vinstri hlið af the hljómborð, ásamt tilda "~". Þetta er til að tryggja að MySQL gæti nákvæmlega greina nafn sviði frá leitarorðinu.
Dynamic vinna með gögn
Mjög oft, til að fá nein gögn úr gagnagrunni með fyrirspurnir, mynda virk. Til dæmis:
- SELECT * FROM borðið þar sem fjöldi = '$ númer.
Hér breyta $ númerið er liðið sem ákvarða gildi sviði. Hvað mun gerast ef það gerist "Côte d'Ivoire '? Villa.
Til að koma í veg fyrir þetta vandamál, að sjálfsögðu, þú getur falið í sér "Magic vitna" stillingar. En nú gögnin verða sýnd þar sem nauðsyn krefur og ekki nauðsynlegt. Þar að auki, ef kóðinn er skrifaður af hendi, er hægt að eyða smá meiri tíma til að búa til þolir sprunga kerfið sjálft.
Fyrir sjálfstæða viðbót við skástriki getur notað mysql_real_escape_string.
$ Number = mysql_real_escape_string ($ númer);
$ Ár = mysql_real_escape_string ($ ári);
$ Query = "INSERT INTO töflu (fjöldi, ár, flokkur) VALUES ( '$ number', '$ ári', 11)".
Þótt kóða og jókst í magni, en hugsanlega myndi það virka mun öruggari.
staðgengla
Staðgengla - eins konar merkjum sem kerfið viðurkennir að þetta er staðurinn sem þú þarft til að skipta sérstaka aðgerð. Til dæmis:
$ Sate = $ mysqli-> undirbúa ( "SELECT District FRÁ Fjöldi HVAR Name =?");
$ Sate-> bind_param ( "s", $ númer);
$ Sate-> framkvæma ();
Þessi hluti af kóða tekur þjálfun beiðni sniðmát og þá bindur númer breytilegu og keyrir það. Þessi aðferð leyfir þér að skipta fyrirspurn vinnslu og framkvæmd hennar. Þannig er hægt að spara af notkun spillikóta eru SQL-.
Hvað gæti árásarmaður
Verndun Kerfi - mjög mikilvægur þáttur, sem ekki er hægt að vanrækt. Auðvitað, einföld nafnspjald síða mun vera auðveldara að endurheimta. Og ef það er stór vefgátt, þjónustu, ráðstefna? Hverjar eru afleiðingarnar ef þér finnst ekki um öryggi?
Í fyrsta lagi tölvusnápur geta skemmt heilleika bæði grunn og fjarlægja það alveg. Og ef staður stjórnandi eða Hoster ekki gera afrit, verður þú að hafa erfiða tíma. Umfram allt, boðflenna, sprunga einn staður, getur farið til annarra staða á sama miðlara.
Næst er þjófnaður af persónulegum upplýsingum af gestum. Hvernig á að nota - allt er takmarkað við ímyndunarafl spjallþráð. En í öllum tilvikum, afleiðingarnar mun ekki vera mjög þægilegt. Sérstaklega ef innihélt upplýsingar um fjármál.
Einnig, the árásarmaður geta sameinast gagnasafn sjálfur og þá kúga fé fyrir aftur þess.
Misinformation notendur á vegum the staður stjórnandi, sá sem þeir eru ekki að vera, getur líka verið neikvæðar afleiðingar og mögulegt svik staðreyndum.
niðurstaða
Allar upplýsingar í þessari grein er kveðið á um upplýsinga-tilgangur eini. Nota það þarf aðeins að prófa eigin verkefnum þeirra þegar það skynjar veikleika og takast á við þær.
Fyrir meiri dýpt rannsókn á tækni við hvernig á að framkvæma SQL inndælingu, það er nauðsynlegt að byrja með raunverulegum getu rannsóknir og lögun af the SQL tungumál. Sem unnin fyrirspurnum, leitarorð gögn gerðum, og nota það allt.
Einnig er hægt að gera án þess að skilja rekstur PHP og HTML þættir virka. Helsta notkun viðkvæma stig fyrir inndælingu - veffang línu, og ýmsum leitarreitinn. Nám PHP virka, aðferð við framkvæmd og lögun vilja reikna út hvernig á að forðast mistök.
Tilvist margra tilbúnum hugbúnaði ráð fyrir í-dýpt greiningu á síðuna þekktur veikleika. Einn af vinsælustu vörum - Kali Linux. Þessi mynd af Linux-undirstaða stýrikerfi, sem inniheldur fjölda af tækjum og forritum sem hægt er að framkvæma ítarlega greiningu á síðuna styrk.
Það sem þú þarft að vita hvernig á að hakk síðuna? Það er mjög einfalt - það er nauðsynlegt að vera meðvitaður um hugsanlega veikleika verkefnisins þitt eða vefsíðu. Sérstaklega ef það er netverslun með online greiðslu, þar sem greiðsla notandi gögn geta verið í hættu af árásarmaður.
Fyrir faglega rannsókn á núverandi öryggi starfsfólks upplýsingar verða að vera fær um að kíkja á síðuna fyrir ýmsum forsendum og dýpt. Byrjun frá einföldum HTML-stungulyf og félagslegri verkfræði og phishing.
Similar articles
Trending Now