Idanwo fun Awọn nkan ti o ni iṣiro SQL

Awọn iṣiro Injection SQL n mu ewu nla si awọn ohun elo ayelujara ti o da lori ibi ipamọ data lati ṣe afihan akoonu ti o lagbara. Ni iru ipolowo yii, awọn olutọsọna gige n ṣe abojuto ohun elo ayelujara kan ni igbiyanju lati lo awọn ofin ti ara wọn si awọn ti oniṣowo naa ti pese. Fun apẹẹrẹ, wo Awọn iṣiro Ibẹrẹ SQL lori Awọn apoti isura infomesonu. Nínú àpilẹkọ yìí, a ṣàyẹwò ọpọlọpọ ọnà tí o le ṣe idanwo awọn ohun elo ayelujara rẹ lati pinnu boya wọn jẹ ipalara si awọn iṣiro Injection SQL.

Aṣayan Antivirus Injection laifọwọyi

O ṣeeṣe kan ni lilo oluṣakoso ohun elo ọlọjẹ oju-iwe ayelujara ohun elo, bi HPI WebInspect, IBM's AppScan tabi Cenzic's Hailstorm. Awọn irinṣẹ wọnyi gbogbo nfunni ni irọrun, awọn ọna laifọwọyi lati ṣe itupalẹ awọn ohun elo ayelujara rẹ fun awọn ipalara abẹrẹ SQL ti o pọju. Sibẹsibẹ, wọn jẹ gbowolori, ṣiṣe ni to to $ 25,000 fun ijoko.

Awọn idanwo afọwọsi Afowoyi Afowoyi

Kini olugbala ohun elo ti ko dara lati ṣe? O le ṣe awọn igbesilẹ akọkọ lati ṣe atunyẹwo awọn ohun elo ayelujara rẹ fun awọn ipalara Injection SQL nipa lilo ohunkohun diẹ sii ju aṣàwákiri wẹẹbù kan. Ni akọkọ, ọrọ ti itọju: awọn idanwo ti mo ṣalaye nikan wa fun awọn abawọn Injection SQL akọkọ. Wọn kii yoo ri awọn ilọsiwaju to ti ni ilọsiwaju ati pe o ni itara lati lo. Ti o ba le fun u, lọ pẹlu ọlọjẹ ti a ṣakoso ẹrọ. Sibẹsibẹ, ti o ko ba le mu idaniloju owo naa, igbeyewo awọn itọnisọna jẹ igbesẹ akọkọ.

Ọna to rọọrun lati ṣe akojopo boya ohun elo kan jẹ ipalara jẹ lati ṣe idanwo pẹlu awọn ipalara ti o mọ laisi ti kii yoo ṣe ipalara fun database rẹ ti o ba ṣe aṣeyọri ṣugbọn yoo fun ọ ni ẹri pe o nilo lati ṣatunṣe isoro. Fun apẹẹrẹ, ṣebi o ni ohun elo ayelujara ti o rọrun kan ti o n wo ẹnikan ni ibi ipamọ data ki o pese alaye olubasọrọ gẹgẹbi abajade. Oju ewe yii le lo ọna kika URL yii:

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

A le ro pe oju-ewe yii n ṣe awari wiwa data, nipa lilo ibeere kan gẹgẹbi awọn atẹle:

Yan foonu lati LINI WHERE lastname = 'chapple' ati namename = 'mike'

Jẹ ki a ṣe idanwo pẹlu eyi diẹ. Pẹlu ori ero wa loke, a le ṣe iyipada rọrun si URL ti o ṣe idanwo fun awọn iṣiro iṣiro SQL:

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

Ti ohun elo ayelujara ko ba ni idaabobo daradara si iṣiro SQL, o ni afihan orukọ akọkọ orukọ yii ni ọrọ gbólóhùn SQL ti o ṣe lodi si ibi ipamọ naa, ti o mu ni:

Yan foonu lati LORI LORI orukọ ti o kẹhin = 'chapple' ati orukọ akọkọ = 'mike' ATI (yan nọmba (*) lati iro)> 0 OR '1' = '1'

Iwọ yoo ṣe akiyesi pe iṣeduro loke jẹ kekere ti o yatọ ju eyi lọ ni URL akọkọ. Mo ti mu ominira ti yiyipada iyipada ti URL naa fun iyipada ASCII wọn lati mu ki o rọrun lati tẹle apẹẹrẹ. Fún àpẹrẹ,% 3d jẹ ìṣododò URL fún ọrọ '='. Mo tun fi kun awọn ila kan fun awọn idi kanna.

Ṣayẹwo awọn esi

Idanwo naa wa nigbati o ba gbiyanju lati ṣafikun oju opo wẹẹbu pẹlu URL ti a darukọ loke. Ti o ba jẹ pe ohun elo ayelujara ti dara daradara, o yoo yọ awọn fifa ti o gba silẹ kuro ni titẹ sii ṣaaju ki o to pin ibeere si database. Eyi yoo ṣe iyipada ni wiwa isokuso fun ẹnikan ti o ni orukọ akọkọ ti o ni pẹlu opo SQL! Iwọ yoo ri ifiranṣẹ aṣiṣe kan lati inu ohun elo ti o dabi iru ti o wa ni isalẹ:

Aṣiṣe: Ko si olumulo ti o wa pẹlu orukọ mike + ATI (yan + count (*) + lati iro) +% 3e0 + OR + 1% 3d1 Ogbo!

Ni apa keji, ti elo naa ba jẹ ipalara si iṣiro SQL, yoo ṣe alaye naa taara si database, ti o mu ki ọkan ninu awọn ọna meji ṣee ṣe. Ni akọkọ, ti olupin rẹ ba ni alaye aṣiṣe alaye ti a ti ṣiṣẹ (eyiti ko yẹ!), Iwọ yoo ri nkan bi eyi:

Olupese OLE DB Microsoft fun Olupese Awakọ Awakọ ODBC '80040e37' [Microsoft] [ODBC Driver Server SQL] [SQL Server] Orukọ orukọ ailewu 'iro'. /directory.asp, laini 13

Ni apa keji, ti olupin ayelujara rẹ ko ba han awọn ifiranṣẹ aṣiṣe alaye, iwọ yoo gba aṣiṣe diẹ sii, gẹgẹbi:

Asise Ašiše ti Abẹnu Ojuṣe ti pade aṣiṣe ti abẹnu tabi aiṣe deedee ati pe ko le pari ibeere rẹ. Jowo kan si alakoso olupin lati sọ fun akoko ti aṣiṣe ṣẹlẹ ati ti ohunkohun ti o le ṣe ti o le fa aṣiṣe naa. Alaye siwaju sii nipa aṣiṣe yii le wa ni apoti aṣiṣe olupin.

Ti o ba gba boya ọkan ninu awọn aṣiṣe meji loke, ohun elo rẹ jẹ ipalara si ipalara inira SQL! Diẹ ninu awọn igbesẹ ti o le gba lati daabobo awọn ohun elo rẹ lodi si awọn iṣiro Injection SQL ni: