Thread CGI Sicherheit: Vermeidung gefährlicher Inhalte
(165 answers)
Opened by Gast at 2005-12-12 17:10
[quote=Bauhaus,19.12.2005, 16:36]Sag mir doch einfach was gefährlich ist.
Den Code zum Abschalten kann ich dann schon schreiben (und auch hier zur Diskussion vorstellen).[/quote] truncate blabla ist gefährlich - wenn es an eine datenbank übergeben wird. system("rm -rf /") ist gefährlich - wenn es an den perl-interpreter übergeben wird. . To: spam@test.example Subject: Spam-Mail[...] ist gefährlich, wenn es an sendmail übergeben wird, ohne die option -oi <script>/* irgendwas übles in javascript */</script> ist gefährlich, wenn es an einen browser übergeben wird. alles oben genannte ist nicht gefährlich, wenn es in eine datei geschrieben wird. der springende punkt ist, du wirst keinen code entwickeln können, der generell allen input ungefährlich macht. es gibt encode_entities für HTML. es gibt platzhalter für SQL. es gibt -oi für sendmail. es gibt -T zum checken. es gibt nichts für eval (nichts wirklich sicheres z.Zt. jedenfalls) glaubst du, esskar beschäftigt sich seit 6 jahren damit und hatte bisher einfach keine lust, sowas zu programmieren, und kein anderer experte, aber du schreibst uns sowas in ein paar tagen? ich sage es zum x-ten mal: du musst wissen, wo in deinem programm welcher user-input verwendet wird. dann kannst du dich konkret absichern. generell zu sagen: make_secure(%input) geht nicht. edit: naja, es geht doch: %input = ();\n\n <!--EDIT|pq|1135011463--> Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: ![]() ![]() |