Używam Fortify SCA, aby znaleźć problemy bezpieczeństwa w mojej aplikacji (jako zadanie domowe uniwersytetu). Napotkałem kilka problemów związanych z "Kuciem kłód", których nie jestem w stanie się pozbyć.log forging fortyfikacja fix
Zasadniczo Loguję pewne wartości, które przychodzą jak wprowadzanych przez użytkownika za pomocą interfejsu WWW:
logger.warn("current id not valid - " + bean.getRecordId()));
i wzmacnia to jak donosi dziennik kucia problem, ponieważ getRecordId() powraca wejście użytkownika.
Śledzę ten article i jestem zastępując nową linię „” z miejsca, ale problem jest nadal zgłaszane
logger.warn("current id not valid - " + Util.replaceNewLine(bean.getRecordId()));
Czy ktoś może zaproponować sposób na rozwiązanie tego problemu?
IMHO to wszystko o treści :) za dobrą praktykę trzeba zdezynfekować wprowadzania danych przez użytkownika, a to powinno być traktowane jako ostrzeżenie, że w pewnych sytuacjach, takich jak heterogeniczne architektury oprogramowania (wywoływanie aplikacji C z JAVA), niesanitaryzowane dane wejściowe użytkownika mogą być niebezpieczne (zastąpienie nowej linii dalece nie jest właściwą sanityzacją;)), również ataki formatów mogą stanowić zagrożenie, jeśli rekord ID to liczba (Long, Integer, Double), którą możesz pominąć :), jeśli jest to ciąg, możesz go pominąć, ale pamiętaj o tym :). – fatfredyy