KompyutaProgramu

Sindano ya SQL ni nini?

idadi ya maeneo na kurasa kwenye mtandao ni kukua kwa kasi. Kuchukuliwa kwa ajili ya maendeleo ya ambaye anaweza wale wote. Na novice watengenezaji Web mara nyingi hutumia code usio salama na ya zamani. Na inajenga mengi ya mianya ya wahalifu na walaghai. Kuliko wao. Moja ya udhaifu zaidi classic - SQL-sindano.

kidogo ya nadharia

Watu wengi kujua kwamba wengi wa tovuti na huduma kwenye mtandao ni kutumia kuhifadhi SQL database. Hii ni muundo lugha swala kwamba utapata kudhibiti na udhibiti hifadhi ya data. Kuna matoleo mbalimbali ya usimamizi database mfumo wa kompyuta - Oracle, MySQL, Postgre. Bila kujali jina na aina, wao kutumia data hiyo swala. Ni hapa kwamba ipo hatari uwezo. Kama developer alishindwa kushughulikia ipasavyo na salama kuomba, mshambulizi anaweza kuchukua faida ya hii na kutumia mbinu maalum ya kupata huduma database, na kisha - na kwa usimamizi tovuti wote.

Ili kuepuka hali kama hizo, unahitaji vizuri kuongeza kanuni na kufuatilia kwa makini sana kwa namna ambayo ombi linashughulikiwa.

Angalia SQL-sindano

Kuanzisha kuwepo kwa mazingira magumu katika mtandao ina uzito wa kumaliza mifumo automatiska programu. Lakini kuna uwezekano wa kufanya kuangalia rahisi kwa mikono. Ili kufanya hivyo, kwenda moja ya maeneo mtihani na katika sehemu ya anwani kujaribu kusababisha hitilafu database. Kwa mfano, script kwenye tovuti hawezi kushughulikia ombi na wala trim yao.

Kwa mfano, kuna nekiy_sayt / index.php? Id = 25

Njia rahisi - kuweka 25 baada kunukuu na kutuma ombi. Kama hakuna Hitilafu imetokea, ama kwenye tovuti na filter maombi yote ni kushughulikiwa kwa usahihi, au ni walemavu katika mazingira ya pato lao. Kama ukurasa ni reloaded na matatizo, basi hatari ya SQL-sindano ni.

Baada alikuta, unaweza kujaribu kujikwamua ni.

Kutekeleza hili mazingira magumu haja ya kujua kidogo juu ya timu SQL-maswali. Mmoja wao - UNION. Ni pamoja huleta matokeo kadhaa swala katika moja. Ili tuweze kuhesabu idadi ya mashamba katika meza. MFANO swala la kwanza ni:

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

Katika hali nyingi, rekodi hii inapaswa kuzalisha kosa. Hii ina maana kwamba idadi ya mashamba si sawa na 1. Hivyo, kuchagua chaguzi ya 1 au zaidi, inawezekana kuanzisha idadi yao kamili:

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

Hiyo ni, wakati makosa haitaonekana tena, inamaanisha kuwa idadi ya mashamba kubahatisha.

Pia kuna ufumbuzi mbadala kwa tatizo hili. Kwa mfano, wakati idadi kubwa ya mashamba - 30, 60 au 100. Hii GROUP amri BY. makundi Ni matokeo ya swala kwa misingi yoyote, kwa mfano id:

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

Hitilafu haijawahi kupokea, kisha mashamba zaidi ya 5. Hivyo, badala ya chaguzi kutoka mbalimbali haki pana, inawezekana kwa mahesabu ya jinsi wengi wao kwa kweli.

Hii mfano SQL-sindano - kwa Kompyuta ambao wanataka kujaribu wenyewe katika upimaji wa tovuti yake. Ni muhimu kukumbuka kwamba kwa kupata ruhusa kwa makala mengine inapatikana wa Kanuni ya Jinai.

aina kuu ya sindano

Kutekeleza mazingira magumu na SQL-sindano katika embodiments kadhaa. Next ni mbinu maarufu:

  • UNION swala SQL sindano. mfano rahisi ya aina hii tayari kuchunguza zaidi. Ni barabara kutokana na hitilafu katika kuangalia data zinazoingia, ambazo kuchujwa.

  • Kosa makao SQL sindano. Kama jina ina maana, aina hii pia hutumia hitilafu, kutuma maonyesho linajumuisha syntactically sahihi. Kisha kuna kutekwa kwa headers majibu, kuchambua ambayo yanaweza kufanyika baadaye SQL-sindano.

  • Iliyopangwa maswali SQL sindano. hatari hii imedhamiria kwa kufanya maombi mfululizo. Ni sifa kwa kuongeza katika mwisho wa ishara ";". Mbinu hii ni mara nyingi kutekelezwa ili kufikia utekelezaji wa kusoma na kuandika data au mfumo wa uendeshaji kazi, ikiwa fursa kuruhusu.

Programu kwa ajili ya kutafuta SQL-udhaifu

Je, kuna kwa SQL-sindano, mpango kwa kawaida sehemu mbili - tovuti ziangalie udhaifu iwezekanavyo na kuzitumia ili uweze kuwafikia watu data. Kuna baadhi ya zana kwa ajili ya majukwaa karibu wote kujulikana. utendaji wao kwa kiasi kikubwa kuwezesha kuangalia tovuti ya kuvunja yako SQL-sindano.

Sqlmap

Nguvu sana skana ambayo inafanya kazi na hifadhidata zaidi. Ni inasaidia mbinu mbalimbali za utekelezaji wa SQL-sindano. Ina uwezo wa moja kwa moja kutambua aina ya nywila hash Kuvunja na kamusi. Sasa na kazi ya kupakia faili na download kutoka kwa seva.

Ufungaji kwenye Linux ni kazi kwa kutumia amri:

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

Kwa ajili ya Windows inapatikana kama chaguo na mstari amri na interface graphical user.

jSQL sindano

jSQL Injection - msalaba jukwaa chombo kwa ajili ya kupima matumizi ya udhaifu SQL. Imeandikwa katika Java, hivyo mfumo lazima imewekwa JRE. Uwezo wa kushughulikia KUPATA maombi, POST, header, kuki. Ina rahisi graphical interface.

ufungaji wa mfuko programu hii ni kama ifuatavyo:

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 '| kichwa-n 1`

Uzinduzi ni kwa kutumia amri java -jar ./jsql-injection-v*.jar

Ili uanze mtihani tovuti ya SQL-mazingira magumu, unahitaji kuingia barua katika uwanja wa juu. Wao ni tofauti kwa GET na POST. Kutokana na matokeo mazuri, orodha ya meza inapatikana itaonekana katika dirisha kushoto. Unaweza kuona yao na kujifunza baadhi ya taarifa za siri.

tab «Admin ukurasa» hutumiwa kupata paneli utawala. Juu yake kwa njia ya templates maalum moja kwa moja misako mfumo rekodi watumiaji upendeleo. Kutoka kwao unaweza kupata tu hash ya password. Lakini yeye ana katika Vifaa ya mpango huo.

Baada ya kupata udhaifu na sindano maswali yote muhimu, chombo itaruhusu server kujaza faili yako au, kinyume chake, kushusha ni kutoka huko.

SQLi Dumper v.7

Mpango huu - rahisi kutumia zana kwa ajili ya kutafuta na kutekeleza SQL udhaifu. Inazalisha UN ni msingi kinachojulikana Dorcas. Orodha yao yanaweza kupatikana kwenye mtandao. Dorca kwa SQL-sindano - haya ni templates maalum ya utafutaji wako. Kwa msaada wao, unaweza kupata tovuti uwezekano wa mazingira magumu kupitia search engine yoyote.

Zana kwa ajili ya mafunzo ya

Itsecgames.com kwa tovuti kuna maalum seti ya vifaa ambayo inaruhusu mfano inaonyesha jinsi ya kufanya SQL sindano na mtihani. Ili kunufaika, ni muhimu ya kufungua na kufunga. Kumbukumbu ina seti ya faili, ambayo ni ya muundo wa tovuti. Kufunga hiyo unahitaji katika mfumo wa sasa wa seti ya Apache mtandao wa kompyuta, MySQL na PHP.

Unpack archive katika folder mtandao wa kompyuta, una kwenda kwa anwani iliyoingizwa wakati wa kufunga hii programu. ukurasa na usajili mtumiaji. Hapa unahitaji kuingiza taarifa yako na bonyeza «Kujenga». Kusonga mtumiaji screen mpya, mfumo wa papo kwa kuchagua moja ya kesi mtihani. Kati yao kuna wawili ilivyoelezwa na sindano, na wengi vitu vingine mtihani.

Ni thamani ya kuzingatia mfano wa SQL-sindano aina GET / Search. Hapa unahitaji kuchagua ni na bonyeza «Hack». Kabla user itaonekana, na tafuta kamba kuiga ya filamu tovuti. Kutatua sinema inaweza kuwa kwa muda mrefu. Lakini kuna 10 tu Kwa mfano, unaweza kujaribu kuingia Iron Man. Itakuwa kuonyesha filamu, kisha tovuti kazi, na meza ina. Sasa tuna kuangalia kama filters herufi maalum script, katika kunukuu fulani. Ili kufanya hivyo, kuongeza 'katika sehemu ya anwani. " Zaidi ya hayo, ni lazima kufanyika baada taji katika filamu hii. tovuti nitakupa Kosa kosa: Una makosa katika SQL syntax yako; kuangalia mwongozo kwamba sambamba na wako MySQL version server kwa syntax haki ya kutumia karibu '%' 'katika mstari wa 1, ambayo inasema kwamba wahusika bado si kushughulikiwa kwa usahihi. Hivyo unaweza kujaribu kubadilisha ombi lako. Lakini ni lazima kwanza mahesabu ya idadi ya mashamba. Ni kutumika kwa utaratibu huu na ambao huingizwa baada quotes: http://testsites.com/sqli_1.php?title=Iron+Man 'ili na 2 - & action = utafutaji.

Amri hii inaonyesha tu habari kuhusu filamu, yaani, idadi ya mashamba ni zaidi ya 2. kistari mara mbili anaelezea server kwamba maombi mengine lazima kutupwa. Sasa tuna kutatua, kuweka kuongeza umuhimu mradi makosa si kuchapishwa. Mwishowe, ni zamu kuwa mashamba itakuwa 7.

Sasa ni wakati wa kupata kitu muhimu kutoka katika msingi. Je kidogo kurekebisha ombi katika sehemu ya anwani, na kuleta kwa namna: http://testsites.com/sqli_1.php?title=Iron+Man 'muungano kuchagua 1, database (), user (), 4, password, 6, 7 kutoka kwa watumiaji - & action = utafutaji. Kutokana na utekelezaji wake kuonyesha kamba na hashes password, ambayo inaweza kuwa rahisi kubadilishwa na kuwa ishara ya kueleweka kwa kutumia moja ya huduma online. A conjured kidogo na ilichukua jina shamba na kuingia, unaweza kupata huduma ya kuingia mtu mwingine, kama vile admin wa tovuti.

bidhaa ina uzito aina ya sindano aina, ambayo kufanya mazoezi. Ikumbukwe kuwa maombi ya stadi hizi katika mtandao katika maeneo halisi inaweza kuwa kosa la jinai.

Sindano na PHP

Kama kanuni, PHP-code na ni wajibu wa maombi muhimu usindikaji kuja kutoka kwa mtumiaji. Kwa hiyo, katika ngazi hii unahitaji kujenga ulinzi dhidi ya SQL-sindano katika PHP.

Kwanza, hebu kutoa miongozo chache rahisi, juu ya msingi ambayo ni muhimu kufanya hivyo.

  • Data lazima iwe kushughulikiwa kabla ya kuwekwa ndani database. Hii inaweza kufanyika ama kwa kutumia maneno ya zilizopo, au kwa kuandaa hoja za mkono. Hapa, pia, lazima kuzingatia kwamba thamani tarakimu ni kubadilishwa kwa aina kwamba inahitajika;
  • Kuepukwa ilisababisha miundo mbalimbali kudhibiti.

Sasa kidogo kuhusu sheria za kukusanya maswali katika MySQL ili kulinda dhidi ya SQL-sindano.

Katika kuandaa maneno yoyote swala ni muhimu kutenganisha data kutoka SQL maneno.

  • SELECT * FROM meza WAPI name = Zerg.

Katika usanidi hii, mfumo wanaweza kufikiri kwamba Zerg - jina la uwanja wowote, hivyo unahitaji uambatanishe katika quotes.

  • SELECT * FROM meza WAPI jina = 'Zerg.

Hata hivyo, kuna nyakati ambapo thamani yenyewe ina quotes.

  • SELECT * FROM meza WAPI jina = 'Ivory Coast.

Hapa tu kushughulikia sehemu ya Côte d, na wengine inaweza kuonekana kama timu, ambayo, bila shaka, si. Kwa hiyo, makosa hutokea. Basi haja aina hii ya data za uchunguzi. Ili kufanya hivyo, kutumia backslash - \.

  • SELECT * FROM meza WAPI jina = 'paka d \' Ivoire.

Yote ya juu inahusu mistari. Iwapo hatua unafanyika na idadi, basi haina haja yoyote ya quotes au mikwaju. Hata hivyo, wanapaswa inatakiwa kulazimisha kusababisha aina ya taka data.

Kuna mapendekezo ambayo ya jina lazima iliyoambatanishwa katika backquotes. alama hii ni upande wa kushoto wa keyboard, pamoja na tilde "~". Hii ni kuhakikisha kwamba MySQL inaweza usahihi kutofautisha jina la uwanja kutoka keyword yako.

Dynamic kazi na data

mara nyingi sana, kwa kupata data yoyote kutoka database kutumia maswali, yanayotokana dynamically. Kwa mfano:

  • SELECT * FROM meza WAPI idadi = '$ simu.

Hapa, variable $ nambari imepitishwa kama kuamua thamani ya shamba. Nini kitatokea kama anapata 'Ivory Coast? Hitilafu.

Ili kuepuka matatizo hayo, bila shaka, unaweza ni pamoja na "uchawi quotes" mazingira. Lakini sasa data itakuwa visas inapobidi na si lazima. Aidha, kama kanuni imeandikwa na mkono, unaweza kutumia muda kidogo zaidi ya kujenga sugu kwa ngozi mfumo yenyewe.

Kwa kuongezea huru ya kufyeka unaweza kutumia mysql_real_escape_string.

$ Idadi = mysql_real_escape_string ($ simu);

$ Mwaka = mysql_real_escape_string ($ mwaka);

$ Query = "Kuingiza ndani ya meza (idadi, mwaka, darasa) VALUES ( '$ nambari', '$ mwaka', 11)".

Ingawa kanuni na kuongezeka kwa kiasi, lakini uwezekano ingekuwa kazi salama zaidi.

placeholders

Placeholders - aina ya alama ambazo mfumo inatambua kuwa hii ni mahali unahitaji kubadilisha na kazi maalum. Kwa mfano:

$ Sate = $ mysqli-> kujiandaa ( "SELECT District FROM Idadi WAPI Jina =?");

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

$ Sate-> kutekeleza ();

Sehemu hii ya kificho inachukua mafunzo ombi template na kisha kumfunga idadi hutofautiana, na executes yake. Mbinu hii utapata mgawanyiko usindikaji swala na utekelezaji wake. Hivyo, inaweza kuhifadhiwa na matumizi ya hasidi ni SQL-.

Kitu gani mshambulizi

Ulinzi System - jambo muhimu sana, ambayo haiwezi kupuuzwa. Bila shaka, rahisi kadi ya biashara tovuti itakuwa rahisi kurejesha. Na kama ni kubwa portal, huduma, jukwaa? Je, ni madhara kama huna kufikiria usalama?

Kwanza, hacker unaweza kuvunja uadilifu wa wote msingi na kuondoa kabisa. Na kama tovuti msimamizi au hoster haina mbadala, utakuwa na wakati mgumu. Zaidi ya yote, intruder, ngozi tovuti moja, unaweza kwenda nyingine posted katika server sawa.

Next ni wizi wa taarifa binafsi ya wageni. Jinsi ya kutumia - kila kitu ni mdogo tu na mawazo ya hacker. Lakini katika hali yoyote, matokeo si kuwa mazuri sana. Hasa kama ilikuwa na taarifa za fedha.

Pia, mshambulizi anaweza kuunganisha database yako mwenyewe na kisha kujipatia fedha kwa ajili ya kurudi kwake.

Taarifa potofu watumiaji kwa niaba ya msimamizi wa tovuti, mtu wao si kuwa, inaweza pia kuwa matokeo mabaya kama iwezekanavyo udanganyifu ukweli.

hitimisho

Taarifa yote katika makala hii hutolewa kwa madhumuni ya habari tu. Itumie tu haja ya kupima miradi yao wenyewe wakati hutambua udhaifu na kushughulikia yao.

Kwa zaidi katika utafiti wa kina wa mbinu ya jinsi ya kufanya SQL-sindano, ni muhimu kuanza na uwezo halisi ya utafiti na sifa za lugha SQL. Vile hoja imeandaliwa, maneno, aina data, na matumizi ya kila kitu.

Pia hawezi kufanya bila kuelewa uendeshaji wa PHP na mambo HTML kazi. Matumizi ya msingi pointi katika mazingira magumu kwa sindano - mstari wa anwani, na shamba mbalimbali ya utafutaji. Kujifunza kazi PHP, utaratibu wa utekelezaji na makala utakuwa kufikiri jinsi ya kuepuka makosa.

uwepo wa tayari-alifanya zana nyingi programu kuruhusu uchambuzi wa kina juu ya tovuti inayojulikana udhaifu. Moja ya bidhaa maarufu - kali linux. Picha hii ya mfumo wa Linux makao uendeshaji, ambayo ina idadi kubwa ya zana na programu zinazoweza kufanya uchambuzi wa kina wa nguvu tovuti.

Nini unahitaji kujua jinsi ya hack tovuti? Ni rahisi sana - ni muhimu kufahamu udhaifu uwezo wa mradi wako au tovuti. Hasa kama ni kuhifadhi online na malipo online, ambapo data za malipo mtumiaji anaweza kuathirika na mshambulizi.

Kwa masomo ya taaluma ya zilizopo wafanyakazi habari usalama watakuwa na uwezo wa kuangalia nje ya tovuti kwa vigezo mbalimbali na kina. Kuanzia-sindano HTML rahisi na kwa uhandisi ya kijamii na hadaa.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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