Format String Attack
Format String Attack (pol.: Atak na łańcuch formatujący) jest błędem w programowaniu, który może zostać wykorzystany przez hakerów, aby przejąć kontrolę nad systemem komputerowym.
W językach programowania takich jak C, C++ czy Python, programiści często używają funkcji printf lub podobnych, które pozwalają na formatowanie wyjścia, czyli sposobu, w jaki program prezentuje wyniki. Jednakże, jeśli programista użyje tych funkcji w nieprawidłowy sposób, to może stworzyć podatność na atak.
W ataku na łańcuch formatujący, haker wykorzystuje specjalne ciągi znaków, zwane łańcuchami formatującymi, aby zmusić program do wyświetlenia informacji, które powinny być chronione, takie jak hasła, klucze dostępu czy inne poufne informacje.
Na przykład, jeśli programista używa funkcji printf, przekazując mu ciąg znaków pobranych od użytkownika (tzw. “user input”) bez uprzedniej weryfikacji zawartości, haker może wprowadzić do ciągu znaków specjalny łańcuch formatujący, który spowoduje wyświetlenie innych danych z pamięci programu.
W celu zapobieżenia atakom na łańcuch formatujący należy zawsze weryfikować dane podawane przez użytkowników oraz używać funkcji formatujących z odpowiednią ostrożnością.