15. Beispiele
• Benutzereingaben (params-Hash)
• Daten aus der DB
• Hartgecodete Strings von unvorsichtigen
Programmierern
• Kombinationen davon (z.B. Helper)
• …alles, was evtl. ein böses Script sein könnte
18. Der h-Helper
• Alias für html_escape
• Escaped alle gefährlichen Zeichen, z.B:
HTML-Tags, in unsicheren Strings
• <li>foo</li> ➜ <li>foo</li>
29. Crazy, not so paranoid
stuff (1/2)
def bar_helper
"<p>bar</p>"
end
def foo_helper
content_tag "p" do
'<script type="text/javascript">alert("foo");</script>'
end
end
32. Ich hab ne Rails 2.3-App,
und ich würde gerne die Templates an das
neue Default-Verhalten anpassen, hab aber keinen Bock, das
noch recht instabile Rails 3.0 zu nehmen, weil ich da ja quasi ne ganze Menge Zeugs
mitheirate, das ich entweder nicht gebrauchen kann, wo ich aktuell keine Zeit habe, mich reinzuarbeiten oder was ich
einfach zu unausgegoren halte, und ich hab einfach keine Zeit oder keinen Bock oder beides, um mich nach jeden paar Commits da wieder reinzufrickeln
um zu checken was eigentlich dieses mal wieder kaputt gegangen ist und dann irgendwelche Entwicklungsversionen von abhängigen Gems zu installieren und all der aufwändige
Scheiß, weil irgendwann muss ich ja auch noch mal arbeiten und so denn von alleine verdient sich Geld ja bekanntlich nicht.
34. rails_xss von NZKoz
• Plugin für Rails 2.3
• Verwendet erubis-Gem zum erb-Parsen
• Imitiert Default-Verhalten von Rails 3
• http://github.com/NZKoz/rails_xss/