Przykład niestarannego sprawdzania argumentów

Należy sprawdzić, czy wiersz polecenia zawiera poprawne znaki niektóre języki interpretują znaki specjalne w nazwach plików jako instrukcję „wykonaj wskazany program i podaj mi jego wyniki, zamiast odczytywać dane z pliku”. Jeśli program ma opcję pozwalającą na użycie alternatywnego pliku konfiguracyjnego, napastnik może skonstruować zastępczy plik, który da mu szerszy dostęp. Środowisko wykonawcze może pozwalać na modyfikowanie zmiennych, na przykład w celu wskazania miejsca na pliki tymczasowe takie wartości powinny zostać zweryfikowane przed użyciem. Wszystkie wymienione usterki pojawiają się regularnie w prawdziwych programach dla wszystkich systemów operacyjnych.

Przykład niestarannego sprawdzania argumentów to jeden z demonstracyjnych programów CGI dostarczanych wraz z serwerem HTTP NCSA (napastnicy do dzisiaj szukają tego programu w atakowanych komputerach). Program używał zewnętrznego narzędzia, aby przeprowadzić pewne operacje, i przekazywał temu narzędziu informacje podane przez zdalnego użytkownika. Autor był świadom pro

blemów, które występują podczas używania zewnętrznych narzędzi z odebranymi danymi, więc dołączył kod, który szukał błędnych wartości. Niestety, lista błędnych wartości była niekompletna, przez co serwer HTTP mógł wykonywać dowolne polecenia. Lepiej sprawdziłaby

Strony: 1 2

Leave a reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>