Zostałem zatrudniony przez kogoś do drobnych prac na stronie. To strona dla dużej firmy. Zawiera bardzo wrażliwe dane, więc bezpieczeństwo jest bardzo ważne. Po przeanalizowaniu kodu zauważyłem, że jest on wypełniony lukami w zabezpieczeniach - czytaj, wiele plików PHP rzuca dane wejściowe użytkownika bezpośrednio do żądań mysql i poleceń systemowych.
Problem polega na tym, że osoba, która stworzyła dla niego witrynę, jest programistą z rodziną i dziećmi zależnymi od tej pracy. Nie mogę po prostu powiedzieć: „Twoja strona to park rozrywki dla dzieciaków ze skryptami. Pozwól, że zrobię to za ciebie, a wszystko będzie dobrze”.
Co byś zrobił w tej sytuacji?
Aktualizacja:
Postępowałem zgodnie z kilkoma dobrymi radami i uprzejmie poinformowałem programistę, że znalazłem kilka możliwych luk bezpieczeństwa w witrynie. Wskazałem linię i powiedziałem, że może tam istnieć podatność na ataki typu SQL injection i zapytałem, czy on o tym wie. Odpowiedział: „Jasne, ale myślę, że aby go wykorzystać, atakujący powinien mieć informacje o strukturze bazy danych; muszę lepiej zrozumieć” .
Aktualizacja 2:
Powiedziałem, że nie zawsze tak jest i zasugerowałem, że podąża za linkiem do pytania Przepełnienie stosu, aby sobie z tym poradzić: Jak zapobiec iniekcji SQL w PHP? Powiedział, że to przestudiuje i podziękował mi za to, że mu wcześniej powiedziałem. Myślę, że moja część się skończyła, dzięki chłopaki.