Tá rioscaí ollmhór ag ionsaithe Instealladh SQL d'iarratais gréasáin atá ag brath ar chúlchiste bunachar sonraí chun ábhar dinimiciúil a ghiniúint. Sa chineál seo ionsaí, déanann na hackers iarratas gréasáin a ionramháil i dtreo iarracht a n-orduithe SQL féin a instealladh sna cinn a eisíonn an mbunachar sonraí. Mar shampla, féach alt Ailtirí Instealladh SQL ar bhunachair shonraí. San Airteagal seo, déanaimid breathnú ar roinnt bealaí inar féidir leat do chuid iarratais gréasáin a thástáil chun a chinneadh an bhfuil siad inghlactha le hionsaithe Instealladh SQL.
Scanadh Uathoibrithe Instealladh SQL
Is é an fhéidearthacht amháin ná scanóir leochaileachta iarratais gréasáin uathoibrithe a úsáid, mar shampla WebInspect HP, AppScan IBM nó Hailstorm Cenzic. Tairgeann na huirlisí seo bealaí uathoibríocha go léir chun anailís a dhéanamh ar d'iarratais gréasáin ar leochaileachtaí Iniúchta SQL a d'fhéadfadh a bheith ann. Mar sin féin, tá siad an-daor, ag rith suas le $ 25,000 in aghaidh an tsuímh.
Tástálacha Instealladh SQL Lámhleabhar
Cad is forbróir iarratais bocht a dhéanamh? Is féidir leat roinnt tástálacha bunúsacha a reáchtáil chun meastóireacht a dhéanamh ar d'iarratais gréasáin le haghaidh leochaileachtaí Instealladh SQL ag baint úsáide as aon bhreis ar bhrabhsálaí gréasáin. Gcéad dul síos, focal rabhaidh: níl na scrúduithe a chuireann mé i bhfeidhm ach amháin le haghaidh lochtanna bunúsacha insteallta SQL. Ní bhfaighidh siad teicnící chun cinn agus tá siad beagán tedious le húsáid. Más féidir leat é a thabhairt, téigh le scanóir uathoibrithe. Mar sin féin, mura féidir leat an praghas praghas sin a láimhseáil, is é an chéad tástáil láimhe an chéad chéim iontach.
Is é an bealach is éasca chun a mheas an bhfuil iarratas leochaileach ná triail a dhéanamh le hionsaithe insteallta neamhchiontach nach ndéanfaidh dochar do bhunachar sonraí é má éiríonn leo ach tabharfaidh sé fianaise duit go gcaithfidh tú fadhb a cheartú. Mar shampla, is dócha go raibh iarratas gréasáin simplí agat a bhreathnaíonn duine aonair i mbunachar sonraí agus mar thoradh air sin soláthraíonn sé faisnéis teagmhála. D'fhéadfadh an leathanach sin an fhormáid URL seo a leanas a úsáid:
Is féidir linn glacadh leis go gcomhlíonann an leathanach seo cuardach bunachar sonraí, ag baint úsáide as ceist cosúil leis an méid seo a leanas:
SELECT SEIRBHÍSÍ A GHABHÁIL AN BHOIR ATHBHREITHNIÚ = 'chapple' agus an chéadainm = 'mike'Déan triail as seo le beagán. Leis an toimhde thuas, is féidir linn athrú simplí a dhéanamh ar an URL a thástáil le haghaidh ionsaithe instealladh SQL:
http://myfakewebsite.com/directory.asp?lastname=chapple&firstname=mike'+AND+(select+count(*)+from+fake)+%3e0+OR+'1'%3d'1Mura bhfuil an t-iarratas gréasáin cosanta i gceart i gcoinne instealladh SQL, cuireann sé ach an chéad ainm falsa seo isteach sa ráiteas SQL a fhorghníomhóidh sé i gcoinne an bhunachar sonraí, agus mar thoradh air sin:
SELECT fón Ó eolaire go háit anuas = 'chapple' agus an chéadainm = 'mike' AGUS (roghnaigh comhaireamh (*) ó falsa)> 0 NÓ '1' = '1'Feicfidh tú go bhfuil an comhréir thuas beagán difriúil ná sin sa URL bunaidh. Ghlac mé an tsaoirse maidir leis an athróg ionchódaithe URL a thiontú as a gcoibhéis ASCII chun é a dhéanamh níos éasca an sampla a leanúint. Mar shampla, is é% 3d an ionchódú URL don carachtar '='. Chuir mé roinnt sosanna líne le haghaidh críocha comhchosúla freisin.
Meastóireacht ar na Torthaí
Tagann an tástáil nuair a dhéanaimid iarracht an leathanach gréasáin a luchtú leis an URL atá liostaithe thuas. Má tá an t-iarratas gréasáin go maith, déanfaidh sé na sleachta aonair ón ionchur a scriosadh sula gcuirfear an cheist chuig an mbunachar sonraí. Is éard a bheidh i gceist leis seo ach go gcuirfí cuardach ar leith do dhuine a bhfuil a gcéad ainm ann lena n-áirítear bunchlár SQL! Feicfidh tú teachtaireacht earráide ón iarratas cosúil leis an gceann thíos:
Earráid: Níor aimsíodh aon úsáideoir le ainm mike + AND + (roghnaigh + comhaireamh (*) + ó + falsa) +% 3e0 + NÓ + 1% 3d1 Chapple!Ar an láimh eile, má tá an t-iarratas leochaileach in instealladh SQL, cuirfidh sé an ráiteas ar aghaidh go díreach chuig an mbunachar sonraí, rud a eascraíonn as ceann de dhá fhéidearthacht. Ar dtús, má tá teachtaireachtaí earráide mionsonraithe ar do fhreastalaí ar chumas (nár chóir duit!), Feicfidh tú rud éigin mar seo:
Soláthraí Microsoft OLE DB d'earráid ODBC Tiománaithe '80040e37' [Microsoft] [Tiománaí Freastalaí SQL SQL] [Freastalaí SQL] Ainm an ruda neamhbhailí 'falsa'. /directory.asp, líne 13Ar an láimh eile, mura léiríonn do fhreastalaí gréasáin teachtaireachtaí earráide mionsonraithe, gheobhaidh tú earráid níos ginearálta, mar shampla:
Earráid Freastalaí Inmheánach Bhí earráid inmheánach nó míchruinniú ag an bhfreastalaí agus ní raibh sé in ann d'iarratas a chomhlánú. Téigh i dteagmháil le riarthóir an fhreastalaí chun eolas a thabhairt faoin am a tharla an earráid agus d'aon rud a d'fhéadfadh a bheith déanta agat a d'fhéadfadh an earráid a dhéanamh. Is féidir tuilleadh eolais faoin earráid seo a bheith ar fáil i logáil earráide an fhreastalaí.Má fhaigheann tú ceann amháin den dá earráid thuas, tá do iarratas i mbaol d'ionsaí insteallta SQL! I measc na n-ionsaithe Instealladh SQL tá roinnt céimeanna is féidir leat a dhéanamh chun d'iarratais a chosaint i gcoinne ionsaithe Instealladh SQL:
- Seiceáil paraiméadar ar gach iarratas. Mar shampla, má tá tú ag iarraidh ar dhuine dul isteach ar uimhir chustaiméara, déan cinnte go bhfuil an t-ionchur uimhriúil roimh an cheist a dhéanamh .
- Teorainn le ceadanna an chuntas a fhorghníomhaíonn ceisteanna SQL . Baineann an riail pribhléid ar a laghad i bhfeidhm. Mura bhfuil cead ag an gcuntas a úsáidtear chun an cheist a fhorghníomhú é a fhorghníomhú, ní éireoidh leis!
- Bain úsáid as nósanna imeachta stóráilte (nó teicnící den chineál céanna) chun cosc a chur ar úsáideoirí idirghníomhú go díreach le cód SQL.