Tendurist Ji bo Agahdariya SQL-Insjection

Êrişên SQL Injection rîskên ku ji bo serîlêdanên malperê ve girêdayî daneyên danûstendinê ve girêdayî ye ku malperên dînamîkî çêbikin. Di vê rengê êrîşê de, hackers bi serîlêdana malperê veguhestin ku hewldanên xwe yên SQL-ê ku ji hêla daneyên xwe ve têne belav kirin. Ji bo nimûne, gotara bendavên SQL-Insjection li Databases. Di vê gotarê de, em li ser çend awayan de binêrin ku hûn dikarin serîlêdanên malperên xwe tehlîm bikin ku diyar bikin ka gelo ew neheqiyên li hemberî êrîşên SQL-êkêş in.

Sazkirina SQL Injection Automated

Dibe ku derfetek ji bo malpera xezebkirina malpera otomatîkî ya xweya xweserî, wekî wekî Web-Web-Inspectîf, IGM-AppScan an Hailstormê ya Cenzîk. Ev amûrên hemî hêsan, hêsanên hêsan pêşkêş dikin ku hûn daxwaznameyên malperên xwe yên ku ji bo derfetên derheqê SQL-Insjectionê vekolîn dikin. Lêbelê, ew gelek giran in, li ser rûniştinê bi $ 25,000 dimeşe.

Tests Manual SQL Injection

Pêşveçûna serîlêdanê ya belengaz e ku çi bikin? Hûn dikarin hin ceribandinên bingehîn digerin ku hûn serîlêdanên malperên xwe yên binirxînin ji bo ji bo malperên gerdûnî yên bêhtir tişt bi karanîna SQL-înjectionê binirxînin. Ya yekem, gotina hişyariyê: testên ku ez binirxîne tenê ji bo astengiyên însanî yên SQL-ê binêrin. Ew ê teknolojiyên pêşkeftî nebin û hin tiştek tedawî ne. Heke hûn dikarin xwe bistînin, bi scanek otomatîk go. Lêbelê, heger hûn nikarin tagê bihayê, lêgerîna destûra testê yekemîn yekem e.

Reya herî zor e ku nirxandin ka ka daxwaznameyeke neheq e ku hûn bi êrişên înfeksiyonê neheqok ên bêbawer ên ku derheqê xwe bisekinin, lê hûn ê belgeyên ku hûn pêdivî ye ku pirsgirêk rast bikin. Ji bo nimûne, bifikirin ku hûn pêdivî ye ku malpera hêsan heye ku kesek di danûstendiyek de heye û agahiyên pêwendiyê wekî encamek pêşkêşî dide. Ew rûpel dikare pelê jêrîn bikar bînin:

http://myfakewebsite.com/directory.asp?lastname=chapple&firstname=mike

Em dikarin bifikirin ku vê rûpelê pirtûka databatîfê digire, lêpirsînek bi heman awayî re bikar tîne :

SELECT telefon FROM DÎREVIRÎNE WHERE lastname = 'pêşniyar' û yekemname = 'mike'

Bila bi ceribandina vê yekê bitikîne. Bi ramanên me yên jorîn, em dikarin bi navnîşana hêsan a URL-ê ku ji bo êrîşên înfeksiyonê SQL SQL ceribandin:

http://myfakewebsite.com/directory.asp?lastname=chapple&firstname=mike'+AND+(select+count(*)+from+fake)+%3e0+OR+'1'%3d'1

Heke ku serîlêdana malperê li dijî SQL Înfîlasyonê nayê parastin, ew tenê navnîşa vê yekem navnîşa navnîşana SQL-ê da ku ew li dijî databases bi dest pê dike, ji ber vê yekê:

SELECT telefon FROM DÎREVÎNE WHERE lastname = 'serpapel' û yekemname = 'mike' AND (hilbijêre (*) ji mêjûyê hilbijêre)> 0 an '1' = '1'

Hûn dizanin ku sîteya jor li gorî URL-navekî cuda cuda ye. Min azadiya xwe guherand ku di navnîşana URL-encoded de ji bo ASCII wekhevên xwe hêsantir bikin ku nimûne nimûne mînak. Ji bo nimûne,% 3d ji bo kîtreya '=' ji URL-encoding ye. Min ji bo armancên heman rengî hin rêzikên din jî zêde kirin.

Nirxandin encama

Vê ceribandinê tête ku hûn hewl bidin ku malperê bi navnîşana navnîşana navnîşana URLê barkirin. Heke ku serîlêdana malpera xwe baş e, bexşeyê tenê ji hêla veguhestina pelê bi databases veguherîne. Ev dê bi tenê ji bo kesek bi navê yekemek xerîb encam dibe ku di navenda kovara SQL de heye! Hûn ê ji peymana jêrînek jêrînek çewtiyek xuya dibînin:

Çewtiyek: Bikarhêner nike ku mike mike ye û + (hilbijêre + count (*) + ji + fake) +% 3e0 + OR + 1% 3d1 Chapple!

Ji aliyê din ve heke, eger serîlêdana têkildar a SQL-aşkereyê ye, ew daxuyaniyek bi rasterast bi databases re derbas bibe, ji ber ku yek ji du derfetan. Ya yekem, heke ger server ji bo peyamên çewtiyê veguherandiye (heqê ku hûn naxwazin!), Hûn ê tiştek vê yekê bibînin:

Microsoft OLE DB Provider ji bo çewtiya ODBC Drivers '80040e37' [Microsoft] [ODBC SQL Server Driver] [SQL Server] Navnîşa navekî navekî 'çewt' çewt. /directory.asp, line 13

Ji aliyê din ve, eger ger malpera we neyên peyamên danûstendinên berfireh nîşan bide, hûn ê çewtiyek gelemperî, wekî:

Xeletiya Xweseriya Navxweyî Serêvekê çewtiyek navxweyî an jî tunekirinê nexwest û nikaribû daxwaza we temam bike. Ji kerema xwe ji rêveberê serverê re têkilî bikin ku dema ku çewtiyek çêbû û ji tiştek ku we çêbûye agahdar dibe ku dibe sedema çewtiyê. Zêdetir agahdarî li ser vê çewtiyê dibe ku di çewtiyê serverê de têketin kirin.

Heke hûn yek ji du çewtiyên jorîn bistînin, daxwaznameya we neheq e ku êrîşa înfeksiyonê SQL SQL! Hin pêngavên ku hûn dikarin ji bo serîlêdanên xwe biparêzin li hemberî dijî êrîşên însanê SQL jî hene: