Jakiś czas temu oglądałem wystąpienia z ostatniej konferencji BlueHat, było to chyba z wiosny 2006. Dość dobrze zapamiętałem wystąpienie Caleb’a Sima z SPI Dynamics dot. wykorzystywania dziur w aplikacjach webowych, tzw. code injections i temu podobnych.
Zapamiętałem to dość dobrze dlatego, że kiedy w 2001 roku tworzyłem stronę dla dużej firmy, w całości opartej na PHP+SQL, code injection było czymś na co w ogóle nie zwracałem uwagi. Konwersja i sprawdzanie stringów, które bezpośrednio były wplatane w SQL, jakoś nie były potrzebne … nikt nie zwracał na to uwagi. Strona działała przez około 2 lata, aż obsługa została przejęta przez pewien duży portal i została (prawdopodobnie, mam nadzieję) napisana od nowa.
A piszę to dlatego, że przeglądając dzisiaj bugtraqa znalazłem opis code injection w oprogramowaniu pewnego sklepu internetowego. I znów przeszły mnie ciarki, kiedy sobie przypomnę jak 6 lat temu się programowało.

Hmm… Szesc lat temu podchodzilem do danych pochodzacych od uzytkownika w identyczny sposob jak obecnie: zero zaufania. Sprawdzanie typow, filtrowanie niechcianych znakow itp. itd.
Co najzabawniejsze, w druga strone to samo, bo gdzie jest powiedziane, ze aplikacja ma ufac danym pochodzacym z serwera baz danych?