Tès pou SQL Piki frajilite yo

Atak enpak SQL poze risk gwo nan aplikasyon pou entènèt ki depann sou yon backend baz done jenere kontni dinamik. Nan sa a kalite atak, entru manipile yon aplikasyon entènèt nan yon tantativ pou yo enjekte pwòp SQL kòmandman yo nan sa yo ki te pibliye pa baz done a. Pou yon egzanp, gade atlèt la SQL atik sou baz done. Nan atik sa a, nou pran yon gade nan plizyè fason ou ka fè tès aplikasyon pou entènèt ou a detèmine si yo ap vilnerab a atak SQL enjeksyon.

Otomatik SQL enjeksyon piki

Yon posibilite se lè l sèvi avèk yon scanner otomatik ki fonksyone sou entènèt, tankou WebInspect HP a, AppScan IBM a oswa Hailstorm Cenzic a. Zouti sa yo tout ofri fasil, fason otomatik ki fonksyone pou analize aplikasyon entènèt ou pou frajilite SQL enpak potansyèl yo. Sepandan, yo ap byen chè, kouri nan jiska $ 25,000 pou chak chèz.

Manyèl SQL enjeksyon Tès

Ki sa ki nan yon pwomotè aplikasyon pòv fè? Ou ka aktyèlman kouri kèk tès debaz pou evalye aplikasyon entènèt ou pou frajilite SQL enjeksyon lè l sèvi avèk pa gen anyen plis pase yon navigatè entènèt. Premyèman, yon mo nan prekosyon: tès yo mwen dekri sèlman gade pou defo SQL enjeksyon defo. Yo pa pral detekte teknik avanse epi yo yon ti jan fatigan yo itilize. Si ou kapab peye li, ale ak yon scanner otomatik. Sepandan, si ou pa ka okipe ke tag pri, tès manyèl se yon gwo premye etap.

Fason ki pi fasil yo evalye si yon aplikasyon ki vilnerab se fè eksperyans ak atak piki enkoni ki pa pral aktyèlman mal baz done ou yo si yo reyisi men yo pral ba ou prèv ke ou bezwen korije yon pwoblèm. Pou egzanp, sipoze ou te gen yon aplikasyon entènèt senp ki sanble yon moun nan yon baz done epi li bay enfòmasyon kontak kòm yon rezilta. Paj sa a ta ka itilize fòma URL sa yo:

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

Nou ka asime ke paj sa a ap fè yon rezo baz done, lè l sèvi avèk yon rechèch ki sanble ak sa ki annapre yo:

SELECT telefòn nan anyè KOTE non = chapple 'ak premye =' mike '

Se pou yo eksperyans ak sa yon ti jan. Avèk sipozisyon nou an pi wo a, nou ka fè yon chanjman senp nan URL la ki tès pou atak SQL piki:

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

Si aplikasyon entènèt la pa te byen pwoteje kont piki SQL, li tou senpleman ploge fo fo sa a nan deklarasyon an SQL li ègzekutra kont baz done a, sa ki lakòz:

SELECT phone FROM ANYÈK KI KOTE non = chapple 'ak premye = mike' AK (chwazi konte (*) soti nan fo)> 0 OR '1' = '1'

Ou ap remake ke sentaks ki anwo a se yon ti kras diferan pase sa nan URL orijinal la. Mwen te pran libète pou konvèti varyab varyab URL yo pou ekivalan ASCII yo pou fè li pi fasil pou swiv egzanp lan. Pou egzanp, 3D se URL-kodaj la pou '=' karaktè la. Mwen menm mwen te ajoute kèk repo liy pou rezon menm jan an.

Evalye rezilta yo

Tès la vini lè ou eseye chaje Paj Web la ak URL ki nan lis anwo a. Si aplikasyon entènèt la byen-Konpòte, li pral dezabiye soti quotes yo sèl nan opinyon an anvan ou pase rechèch la nan baz done a. Sa a pral tou senpleman rezilta nan yon Lookup bizarre pou yon moun ki gen yon non premye ki gen ladan yon pakèt moun sou SQL! Ou pral wè yon mesaj erè nan aplikasyon an ki sanble ak youn ki pi ba a:

Erè: Pa gen itilizatè ki te jwenn ak non mike + AND + (chwazi + konte (*) + soti nan + fo) + 3e0 + OSWA + 1% 3d1 Chapple!

Nan lòt men an, si aplikasyon an se vilnerab a SQL piki, li pral pase deklarasyon an dirèkteman nan baz done a, sa ki lakòz youn nan de posiblite yo. Premyèman, si sèvè ou a gen mesaj erè detaye pèmèt (ki ou pa ta dwe!), Ou pral wè yon bagay tankou sa a:

Microsoft OLE DB Founisè pou ODBC chofè erè '80040e37' [Microsoft] [ODBC SQL sèvè chofè] [SQL sèvè] Envalid fo 'non objè'. /directory.asp, liy 13

Nan lòt men an, si sèvè wèb ou pa montre mesaj erè an detay, ou pral jwenn yon erè plis jenerik, tankou:

Entèn sèvè Erè sèvè a rankontre yon erè entèn oswa misconfiguration e li te kapab ranpli demann ou an. Tanpri kontakte administratè sèvè a enfòme nan tan an erè a ki te fèt ak nan nenpòt bagay ou ta ka te fè ki ka lakòz erè a. Plis enfòmasyon sou erè sa a ka disponib nan boutèy demi lit sèvè a.

Si ou resevwa youn nan de erè yo pi wo a, aplikasyon ou an vilnerab a SQL piki atak! Gen kèk etap ke ou ka pran pou pwoteje aplikasyon ou kont atak SQL enkli: