diff --git a/docs/labs/count-tiers b/docs/labs/count-tiers index 5f74ca48..1cd58b59 100755 --- a/docs/labs/count-tiers +++ b/docs/labs/count-tiers @@ -1,5 +1,7 @@ #!/bin/sh +# This simple script lets us quickly report lab status + echo 'Per tier here is done; planned and assigned; planned and unassigned:' for tier in 0 1 2; do diff --git a/docs/labs/xss.html b/docs/labs/xss.html index 5501c145..8f2bd307 100644 --- a/docs/labs/xss.html +++ b/docs/labs/xss.html @@ -111,9 +111,10 @@

Background

In theory you could call an escape routine every time you make a call to generate an output. -In practice this approach is insecure, -because it's too easy to accidentally forget to call the escape routine. -It's instead safer to use mechanisms which escape by default. +In practice this approach is insecure. +Sooner or later a developer will accidentally forget to +call the escape routine while generating output. +It's much safer to use mechanisms which escape by default.

Flask is a lightweight server-side web application framework @@ -129,13 +130,12 @@

Background

this serves as a great example. In short, sometimes libraries must be specially configured to be less dangerous to use. -This isn't ideal, but it can still be used. -You simply need to ensure that you correctly +This isn't ideal, but such libraries can still be used. +You simply need to ensure that you correctly configure the library to be used securely.

-It turns out that Flask by default configures Jinja2 to automatically escape of HTML. +>Flask by default configures Jinja2 to automatically escape HTML. So as far as users of Flask are concerned, the Jinja templating system does automatically escape HTML by default. @@ -207,10 +207,10 @@

Part 2

Unfortunately, this template below has a vulnerability. Its "| safe" marking tells the templating system that the data is safe and shouldn't be escaped. -However, when the data should be escaped -(as is often the case), this would lead to a vulnerability. -For example, this would often lead to a vulnerability -if an attacker can slip characters like "<" into a name, +However, as shown in the code above, the person's name is from an untrusted +user. Thus the person's name (as with most data) is not safe. +Currently an attacker can slip characters like "<" into a name as a +way to attack others. Please fix this vulnerability.