Bezpieczeństwo aplikacji webowych · Middle · Pytanie 65 z 75
Które wywołanie Node.js jest najgroźniejsze z danymi od użytkownika?
- 1
execFile('convert', [fileName, 'out.png']) - ✓Poprawna odpowiedź:
exec('convert ' + fileName + ' out.png') - 3
fs.readFile(safePath)ze sprawdzoną ścieżką
Wyjaśnienie
exec przekazuje tekst do powłoki, więc ; rm -rf / w nazwie staje się poleceniem. execFile z tablicą argumentów omija powłokę.