10 ÃËÎÁÀËÜÍÀß ÝÏÈÄÅÌÈß ÑÏÅÖ 02-07îñîçíàííûéïðèìåðÐåàëüíàÿ óãðîçà SQL InjectionÑÎÁÑÒÂÅÍÍÛÅ ÎØÈÁÊÈ ÏÎÌÎÃÀÞÒ ËÓ×ØÅ ÏÎÍßÒÜ ÒÅÌÓ. ÎÍÈ ÎÒÊËÀÄÛÂÀÞÒÑß ÂÏÀÌßÒÈ È ÏÎÇÂÎËßÞÒ ÍÅ ÑÎÂÅÐØÀÒÜ ÏÎÄÎÁÍÎÃÎ Â ÁÓÄÓÙÅÌ. ÍÎ ÊÎÃÄÀÏÐÎÃÐÀÌÌÈÑÒ ÑÎÇÄÀÅÒ «ÁÎÅÂÎÉ» ÊÎÄ, ÒÎ ÎØÈÁÊÈ ÌÎÃÓÒ ÏÐÈÂÅÑÒÈ Ê ÏÅ×ÀËÜÍÛÌÏÎÑËÅÄÑÒÂÈßÌ. ÏÐÎÖÅÑÑ ÂÎÑÑÒÀÍÎÂËÅÍÈß ÍÀÑ ÑÅÉ×ÀÑ ÍÅ ÈÍÒÅÐÅÑÓÅÒ, ÍÀÑÈÍÒÅÐÅÑÓÞÒ ÑÀÌÈ ÎØÈÁÊÈ. ÄËß ÝÒÎÃÎ ÏÐÎÒÅÑÒÈÐÓÅÌ ÍÅÑÊÎËÜÊÎ ÑÀÉÒΠÍÀÏÐÅÄÌÅÒ ÓßÇÂÈÌÎÑÒÅÉ È ÏÐÎÀÍÀËÈÇÈÐÓÅÌ ÐÅÇÓËÜÒÀÒÌèõàèë Ôëåíîâ aka Horrifichttp://www.vr-online.ruÑðàçó õîòèì ïðåäóïðåäèòü, ÷òî âñå âëàäåëüöû óÿçâèìûõñàéòîâ, êîòîðûå ôèãóðèðóþò â ïðèìåðàõ, áûëèïðîèíôîðìèðîâàíû î íàëè÷èè äûð.APA Help Center. ×òîáû íàéòè ïåðâóþ æåðòâó,çàïóñêàåì ñ ïîìîùüþ google.com ïîèñê ïî Ñåòè, ãäåâ URL âñòðå÷àåòñÿ .php è èìÿ ïàðàìåòðà id. Ïåðâûéñàéò, êîòîðûé çàèíòåðåñîâàë ñâîèì íàçâàíèåì,îêàçàëñÿ ïóñòûì, òî÷íåå, ñöåíàðèè íå ïîëó÷àëè ïàðàìåòðîâ,ïîýòîìó åãî îòáðîñèëè. À âîò âòîðîé îêàçàëñÿáîëåå óäà÷íûì — APA Help Center (www.apahelpcenter.org).×òî òàêîå APA? Îêàçûâàåòñÿ,ýòî The American Psychological Association èëè àìåðèêàíñêàÿàññîöèàöèÿ ïñèõîëîãîâ. Ïðîòåñòèðóåìïñèõîëîãîâ íà âøèâîñòü…Äëÿ íà÷àëà èùåì ñöåíàðèè, êîòîðûå ïîëó÷àþòêàêèå-ëèáî ïàðàìåòðû. Äîëãî èñêàòü íå ïðèøëîñü,âîò îíî — ÷óäî ïðèðîäû: www.apahelpcenter.org/featuredtopics/feature.php.Ýòîò ñöåíàðèé ïîëó÷àåòïàðàìåòð id, êîòîðîìó ïåðåäàåòñÿ ÷èñëî.Äîáàâëÿåì â êîíåö çíà÷åíèÿ ïàðàìåòðà ñòðîêó«and 1=0» è ïåðåãðóæàåì ñòðàíè÷êó. Òà æåñòðàíè÷êà, òîëüêî ïóñòàÿ. Ïîïðîáóåì äîáàâèòüåùå union select 'Test' — èíæåêòèðóåòñÿ äîïîëíèòåëüíûéçàïðîñ, êîòîðûé ïðîñòî âîçâðàùàåò ñëîâîTest. Åñëè ýòî ñëîâî ïîÿâèòñÿ ãäå-òî íà ñòðàíèöå,çíà÷èò, íàì ñîïóòñòâóåò óäà÷à.  öåíòðå ñòðàíèöûïîÿâèëàñü íàäïèñü Next page, ïîñëå êîòîðîéêðàñîâàëàñü ññûëêà ñ èìåíåì Test. Âîò êóäà ïîïàëîèìÿ èíæåêòèðîâàííîãî çàïðîñà. Èòàê, URL, êîòîðûéïîäòâåðæäàåò íàëè÷èå óÿçâèìîñòè, âûãëÿäèòñëåäóþùèì îáðàçîì:http://www.apahelpcenter.org/featuredtopics/feature.php?id=38%20and%201=0%20union%20select%20'Test'--ÇÍÀÍÈÅ ßÇÛÊÀ SQL È ÎÑÎÁÅÍÍÎÑÒÅÉ ÐÀÇËÈ×ÍÛÕ ÁÀÇ ÄÀÍÍÛÕÏÎÌÎÆÅÒ Â ÒÂÎÈÕ ÈÑÑËÅÄÎÂÀÍÈßÕ
11ñåðâåðå åñòü òàáëèöû ñ èìåíàìè articles è users. Êîíå÷íîæå, âòîðàÿ òàáëèöà íàèáîëåå èíòåðåñíà. Íîêàêèå â íåé ïîëÿ? Ìåòîäîì ïîäáîðà âûÿñíÿåòñÿ, ÷òîåñòü ïîëÿ id è password. Ñëåäóþùèé çàïðîñ ïîêàçàëïàðîëü ïåðâîãî ïîëüçîâàòåëÿ â òàáëèöå:http://www.apahelpcenter.org/featuredtopics/feature.php?id=38%20and%201=0%20union%20select%20password%20FROM%20users%20limit%200,1--Òåïåðü ïîèùåì ÷òî-òî áîëåå èíòåðåñíîå. Ïîñìîòðèìèìÿ áàçû äàííûõ, âåðñèþ è èìÿ ïîëüçîâàòåëÿ.Äëÿ ýòîãî â URL ìåíÿåì 'Test' íà DATABASE() è ïîëó÷àåìèñêîìûå äàííûå:Áàçà äàííûõ: apahelpcenterÂåðñèÿ: 4.0.20a-debugÈìÿ ïîëüçîâàòåëÿ:prac01web@prac01.apa.orgÏðåêðàñíåíüêî. À ÷òî åùå òóò åñòü? Äîñòóïà ê ñèñòåìíîéáàçå äàííûõ MySQL íå îêàçàëîñü. Âèäèìî,õîñòåð — íå äóðàê è çàïðåòèë ëþáûå òåëîäâèæåíèÿâ ýòó ñòîðîíó. Ïîïðîáóåì ïîäîáðàòü èìåíà òàáëèö.È ñíîâà óäà÷à íà íàøåé ñòîðîíå, ïîòîìó ÷òî àìåðèêàíöûíå ëþáÿò èñïîëüçîâàòü ïðåôèêñû, à èñïîëüçóþòáàíàëüíûå ñëîâà äëÿ èìåíîâàíèÿ îáúåêòîâ. Ïàðàìèíóò ñòðàäàíèÿ, ïîñëå êîòîðûõ âûÿñíÿåòñÿ, ÷òî íàÏàðîëü áàíàëåí — apanick. Àìåðèêàíñêàÿ íàèâíîñòü:). Òàê êàê íà ñàéòå íåò ðåãèñòðàöèè, à â òàáëèöåïîëüçîâàòåëåé âñåãî äâå çàïèñè, ìîæíî ïðåäïîëîæèòü,÷òî ãäå-òî åñòü àäìèíêà è ýòî ïàññ —äëÿ äîñòóïà â íåå. Íî àäìèíêó íå íàøëè. Îáëàçèëèâåñü ñàéò: íèãäå íåò ïîëÿ äëÿ ââîäà ïàðîëÿ, à ñöåíàðèèòèïà /admin/index.php, admin.php íå ñóùåñòâóþò.Îñòàâèì ýòî äëÿ äðóãèõ è äâèãàåìñÿ äàëüøå.Àìåðèêà â÷åðà. Ïîèùåì îøèáêè â USA-íåòå.Íðàâèòñÿ àìåðèêàíñêèé net òåì, ÷òî çäåñü îøèáîê íàñàéòàõ î÷åíü ìíîãî, âèäèìî, ýêîíîìÿò íà ïðîãðàììèñòàõ.Èëè ïðîãðàììèñòû — èç ïðîøëîãî âåêà è íå çíàþòî ñóùåñòâîâàíèè òàêèõ óãðîç, êàê SQL Injection.Ñëåäóþùóþ æåðòâó äîëãî èñêàòü íå ïðèøëîñü. ïðîöåññå ïîèñêà íàòûêàåìñÿ íà www.newspaperads.com.Çàèíòåðåñîâàë òåì, ÷òî:1 ÊÐÓÏÍÛÉ;2 ÏÐÈÍÀÄËÅÆÈÒ ÇÍÀÌÅÍÈÒÎÉ USA TODAY;3 ÏÎÑÒÐÎÅÍ ÍÀ ASP + MS SQL SERVER.Îòïðàâèì USA Today â Yesterday, èáî äûð çäåñüïðåâåëèêîå ìíîæåñòâî. Íàóãàä òûêàåì ïî ññûëêàìè ïîïàäàåì íà ñòðàíèöó:http://www.newspaperads.com/usatoday/results.asp?subcatid=1600&interfaceid=82&parent=Categories&subcatname=Travel+SpecialsÇäåñü ñîáðàíû ñòàòüè íà òåìó ïóòåøåñòâèé. Ïîïðîáóåìïîïóòåøåñòâîâàòü ïî áàçå äàííûõ newspaperads.com.Âñå îôîðìëåíî â âèäå òàáëèöû èç òðåõ êîëîíîê:Advertiser, Summary è Date. Îáîæàþ ñòðàíèöûñ òàáëèöàìè, ïîòîìó ÷òî â íèõ áîëüøå ïðîñòðàíñòâàäëÿ çëûõ ìàíèïóëÿöèé è ìîæíî âèäåòü ðåçóëüòàò.Ñòðàíèöå ïåðåäàåòñÿ íåñêîëüêî ïàðàìåòðîâ,íî ñàìûé èíòåðåñíûé — subcatid. Ïî èìåíè óæå ÿñíî,÷òî ýòî èäåíòèôèêàòîð, ïî êîòîðîìó ïðîèñõîäèòïîèñê ïî áàçå. Ïîïðîáóåì äîáàâèòü â êîíåö ïàðàìåòðàîäèíàðíóþ êàâû÷êó. Àãà, ïðîèçîøëà îøèáêàçàïðîñà. Òî, ÷òî äîêòîð ïðîïèñàë.Èçó÷àåì îøèáêó è ïîíèìàåì, ÷òî â íåé êó÷àâñÿêîé åðóíäû, íî ÷òîáû èíæåêòèðîâàòü SQL-êîä,íåîáõîäèìî â êîíåö ïàðàìåòðà äîáàâèòü äâå çàêðûâàþùèåñÿêðóãëûå ñêîáêè è êîììåíòàðèåì îòøâûðíóòüâñå îñòàëüíûå óñëîâèÿ. Èòàê, ïðîáóåìâíåäðèòü â ïàðàìåòð subcatid ñëåäóþùåå çíà÷åíèå:1600)) and 1=0 -Âîò îíè — çàâåòíûå èìåíà òàáëèöÓñëîâèå «1=0» ïîñòàâèëè äëÿ òîãî, ÷òîáû ðåçóëüòàòáûë çàâåäîìî ïóñòûì. Íàì íå íóæíû ñòàòüèïðî ïóòåøåñòâèÿ, íàì íóæíî ñîäåðæèìîå áàçûäàííûõ. Òåïåðü ïîäáèðàåì êîëè÷åñòâî ïîëåé, êîòîðûåâîçâðàùàþò çàïðîñ. Äëÿ ýòîãî â çàïðîñâíåäðÿåì îáúåäèíåíèå UNION SELECT NULL, …ïîñëåäîâàòåëüíî óâåëè÷èâàÿ êîëè÷åñòâî NULLïîëåé. èòîãå ïîëó÷èëîñü 11 ïîëåé. Èìåííî ïðèòàêîì êîëè÷åñòâå NULL-çíà÷åíèé îøèáêà çàïðîñàèñ÷åçëà è ïîÿâèëàñü òàáëèöà, ïðàâäà, ïóñòàÿ.Òåïåðü íóæíî óçíàòü, êàêèå ïîëÿ è êóäà ïîïàäàþòíà ôîðìå. Äëÿ ýòîãî ìîæíî âî âíåäðåííîìçàïðîñå âûáèðàòü íå íóëåâûå çíà÷åíèÿ, à êàêèåòî÷èñëà, óíèêàëüíûå äëÿ êàæäîãî ïîëÿ. Íàïðèìåð,ñëåäóþùèé çàïðîñ âûáèðàåò â êàæäîì ïîëå÷èñëî îò 0 äî 11:1600)) and 1=0 union all select1,2,3,4,5,6,7,8,9,10,11--Àãà, ÷èñëî 7 ïîÿâèëîñü â êîëîíêå Summary. Áóäåìèñïîëüçîâàòü ñåäüìîå ïîëå äëÿ òîãî, ÷òîáû ïðîñìàòðèâàòüñèñòåìíûå äàííûå. Íàñ èíòåðåñóþò ïåðâûìäåëîì èìåíà òàáëèö, êîòîðûå èñïîëüçóþòñÿ â áàçåäàííûõ. Èõ ìîæíî ïîëó÷èòü èç òàáëèöû INFORMA-TION_SCHEMA.TABLES. Èíæåêòèðóåì ñëåäóþùèéêîä â ïàðàìåòð subcatid:1600)) and 1=0 union all select1,2,3,4,5,6,TABLE_NAME,8,9,0,11from INFORMATION_SCHEMA.TABLES--Âñå ïðîøëî óäà÷íî è ïåðåä íàìè ñïèñîê òàáëèö áàçûäàííûõ. Ñàìîå èíòåðåñíîå, ÷òî ïîêàçûâàþòñÿòîëüêî ïåðâûå 20 ñòðîê, íî âíèçó ñòðàíèöû åñòü íàâèãàöèÿïî ñòðàíèöàì 1, 2, 3… Íàâèãàöèÿ î÷åíü õîðîøàÿ,ïîòîìó ÷òî ïóòåøåñòâóåò äàæå ïî èíæåêòèðîâàííîìóçàïðîñó :). Òàê ÷òî íå íóæíî îãðàíè÷èâàòüâûâîä äàííûõ ñ ïîìîùüþ èíúåêöèè.Ìîæíî áûëî áû äâèãàòüñÿ äàëüøå è îðãàíèçîâàòüäåôåéñ èëè óíè÷òîæèòü äàííûå, íî ýòîíå íàø ìåòîä. Ìû íàïèñàëè àäìèíàì îá îøèáêå.Ñïàñèáî newspaperads.com çà ïðèÿòíîå ïóòåøåñòâèåïî èõ áàçå :).