├── .gitignore ├── CODE_OF_CONDUCT.md ├── LICENSE ├── README.md ├── exercises ├── 10 │ ├── _INSTRUCTIONS.md │ ├── _SOLUTION.md │ ├── evil.com │ │ ├── hijack.html │ │ ├── index.js │ │ └── static │ │ │ └── index.html │ └── site │ │ ├── index.js │ │ ├── routes │ │ ├── login.js │ │ └── messages.js │ │ └── static │ │ └── index.js ├── 11 │ ├── _INSTRUCTIONS.md │ ├── _SOLUTION.md │ ├── evil.com │ │ ├── hijack.html │ │ ├── index.js │ │ └── static │ │ │ └── index.html │ └── site │ │ ├── index.js │ │ ├── routes │ │ ├── login.js │ │ └── messages.js │ │ └── static │ │ └── index.js ├── 12 │ ├── _INSTRUCTIONS.md │ ├── _SOLUTION.md │ ├── evil.com │ │ ├── hijack.html │ │ ├── index.js │ │ └── static │ │ │ └── index.html │ └── site │ │ ├── index.js │ │ ├── routes │ │ ├── login.js │ │ └── messages.js │ │ └── static │ │ └── index.js ├── 13 │ ├── _INSTRUCTIONS.md │ ├── _SOLUTION.md │ ├── evil.com │ │ ├── hijack.html │ │ ├── index.js │ │ └── static │ │ │ └── index.html │ └── site │ │ ├── index.js │ │ ├── routes │ │ ├── login.js │ │ └── messages.js │ │ └── static │ │ └── index.js ├── 14 │ ├── _INSTRUCTIONS.md │ ├── _SOLUTION.md │ ├── evil.com │ │ ├── hijack.html │ │ ├── index.js │ │ └── static │ │ │ └── index.html │ └── site │ │ ├── index.js │ │ ├── routes │ │ ├── login.js │ │ └── messages.js │ │ └── static │ │ └── index.js ├── 15 │ ├── _INSTRUCTIONS.md │ ├── _SOLUTION.md │ ├── evil.com │ │ ├── hijack.html │ │ ├── index.js │ │ └── static │ │ │ ├── hijack.js │ │ │ └── index.html │ └── site │ │ ├── index.js │ │ ├── routes │ │ ├── login.js │ │ └── messages.js │ │ └── static │ │ └── index.js ├── 16 │ ├── _INSTRUCTIONS.md │ ├── _SOLUTION.md │ ├── evil.com │ │ ├── hijack.html │ │ ├── index.js │ │ └── static │ │ │ ├── hijack.js │ │ │ └── index.html │ └── site │ │ ├── index.js │ │ ├── routes │ │ ├── login.js │ │ └── messages.js │ │ └── static │ │ └── index.js ├── 17 │ ├── _INSTRUCTIONS.md │ ├── _SOLUTION.md │ ├── evil.com │ │ ├── hijack.html │ │ ├── index.js │ │ └── static │ │ │ ├── hijack.js │ │ │ ├── index.html │ │ │ └── steal.html │ └── site │ │ ├── index.js │ │ ├── routes │ │ ├── login.js │ │ └── messages.js │ │ └── static │ │ └── index.js ├── .vscode │ └── settings.json ├── 01 │ ├── _INSTRUCTIONS.md │ ├── _SOLUTION.md │ ├── evil.com │ │ ├── index.js │ │ └── static │ │ │ └── index.html │ └── site │ │ ├── index.js │ │ ├── routes │ │ ├── login.js │ │ └── messages.js │ │ └── static │ │ └── index.js ├── 02 │ ├── _INSTRUCTIONS.md │ ├── _SOLUTION.md │ ├── evil.com │ │ ├── index.js │ │ └── static │ │ │ └── index.html │ └── site │ │ ├── index.js │ │ ├── routes │ │ ├── login.js │ │ └── messages.js │ │ └── static │ │ └── index.js ├── 03 │ ├── _INSTRUCTIONS.md │ ├── _SOLUTION.md │ ├── evil.com │ │ ├── index.js │ │ └── static │ │ │ └── index.html │ └── site │ │ ├── index.js │ │ ├── routes │ │ ├── login.js │ │ └── messages.js │ │ └── static │ │ └── index.js ├── 04 │ ├── _INSTRUCTIONS.md │ ├── _SOLUTION.md │ ├── evil.com │ │ ├── index.js │ │ └── static │ │ │ └── index.html │ └── site │ │ ├── index.js │ │ ├── routes │ │ ├── login.js │ │ └── messages.js │ │ └── static │ │ └── index.js ├── 05 │ ├── _INSTRUCTIONS.md │ ├── _SOLUTION.md │ ├── evil.com │ │ ├── index.js │ │ └── static │ │ │ └── index.html │ └── site │ │ ├── index.js │ │ ├── routes │ │ ├── login.js │ │ └── messages.js │ │ └── static │ │ └── index.js ├── 06 │ ├── _INSTRUCTIONS.md │ ├── _SOLUTION.md │ ├── evil.com │ │ ├── index.js │ │ └── static │ │ │ └── index.html │ └── site │ │ ├── index.js │ │ ├── routes │ │ ├── login.js │ │ └── messages.js │ │ └── static │ │ └── index.js ├── 07 │ ├── _INSTRUCTIONS.md │ ├── _SOLUTION.md │ ├── evil.com │ │ ├── index.js │ │ └── static │ │ │ └── index.html │ └── site │ │ ├── index.js │ │ ├── routes │ │ ├── login.js │ │ └── messages.js │ │ └── static │ │ └── index.js ├── 08 │ ├── _INSTRUCTIONS.md │ ├── _SOLUTION.md │ ├── evil.com │ │ ├── index.js │ │ └── static │ │ │ └── index.html │ └── site │ │ ├── index.js │ │ ├── routes │ │ ├── login.js │ │ └── messages.js │ │ └── static │ │ └── index.js └── 09 │ ├── _INSTRUCTIONS.md │ ├── _SOLUTION.md │ ├── evil.com │ ├── index.js │ └── static │ │ └── index.html │ └── site │ ├── index.js │ ├── routes │ ├── login.js │ └── messages.js │ └── static │ └── index.js └── package.json /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/.gitignore -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/CODE_OF_CONDUCT.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/README.md -------------------------------------------------------------------------------- /exercises/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | } -------------------------------------------------------------------------------- /exercises/01/_INSTRUCTIONS.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/01/_INSTRUCTIONS.md -------------------------------------------------------------------------------- /exercises/01/_SOLUTION.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/01/_SOLUTION.md -------------------------------------------------------------------------------- /exercises/01/evil.com/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/01/evil.com/index.js -------------------------------------------------------------------------------- /exercises/01/evil.com/static/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/01/evil.com/static/index.html -------------------------------------------------------------------------------- /exercises/01/site/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/01/site/index.js -------------------------------------------------------------------------------- /exercises/01/site/routes/login.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/01/site/routes/login.js -------------------------------------------------------------------------------- /exercises/01/site/routes/messages.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/01/site/routes/messages.js -------------------------------------------------------------------------------- /exercises/01/site/static/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/01/site/static/index.js -------------------------------------------------------------------------------- /exercises/02/_INSTRUCTIONS.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/02/_INSTRUCTIONS.md -------------------------------------------------------------------------------- /exercises/02/_SOLUTION.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/02/_SOLUTION.md -------------------------------------------------------------------------------- /exercises/02/evil.com/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/02/evil.com/index.js -------------------------------------------------------------------------------- /exercises/02/evil.com/static/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/02/evil.com/static/index.html -------------------------------------------------------------------------------- /exercises/02/site/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/02/site/index.js -------------------------------------------------------------------------------- /exercises/02/site/routes/login.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/02/site/routes/login.js -------------------------------------------------------------------------------- /exercises/02/site/routes/messages.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/02/site/routes/messages.js -------------------------------------------------------------------------------- /exercises/02/site/static/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/02/site/static/index.js -------------------------------------------------------------------------------- /exercises/03/_INSTRUCTIONS.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/03/_INSTRUCTIONS.md -------------------------------------------------------------------------------- /exercises/03/_SOLUTION.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/03/_SOLUTION.md -------------------------------------------------------------------------------- /exercises/03/evil.com/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/03/evil.com/index.js -------------------------------------------------------------------------------- /exercises/03/evil.com/static/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/03/evil.com/static/index.html -------------------------------------------------------------------------------- /exercises/03/site/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/03/site/index.js -------------------------------------------------------------------------------- /exercises/03/site/routes/login.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/03/site/routes/login.js -------------------------------------------------------------------------------- /exercises/03/site/routes/messages.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/03/site/routes/messages.js -------------------------------------------------------------------------------- /exercises/03/site/static/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/03/site/static/index.js -------------------------------------------------------------------------------- /exercises/04/_INSTRUCTIONS.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/04/_INSTRUCTIONS.md -------------------------------------------------------------------------------- /exercises/04/_SOLUTION.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/04/_SOLUTION.md -------------------------------------------------------------------------------- /exercises/04/evil.com/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/04/evil.com/index.js -------------------------------------------------------------------------------- /exercises/04/evil.com/static/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/04/evil.com/static/index.html -------------------------------------------------------------------------------- /exercises/04/site/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/04/site/index.js -------------------------------------------------------------------------------- /exercises/04/site/routes/login.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/04/site/routes/login.js -------------------------------------------------------------------------------- /exercises/04/site/routes/messages.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/04/site/routes/messages.js -------------------------------------------------------------------------------- /exercises/04/site/static/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/04/site/static/index.js -------------------------------------------------------------------------------- /exercises/05/_INSTRUCTIONS.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/05/_INSTRUCTIONS.md -------------------------------------------------------------------------------- /exercises/05/_SOLUTION.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/05/_SOLUTION.md -------------------------------------------------------------------------------- /exercises/05/evil.com/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/05/evil.com/index.js -------------------------------------------------------------------------------- /exercises/05/evil.com/static/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/05/evil.com/static/index.html -------------------------------------------------------------------------------- /exercises/05/site/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/05/site/index.js -------------------------------------------------------------------------------- /exercises/05/site/routes/login.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/05/site/routes/login.js -------------------------------------------------------------------------------- /exercises/05/site/routes/messages.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/05/site/routes/messages.js -------------------------------------------------------------------------------- /exercises/05/site/static/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/05/site/static/index.js -------------------------------------------------------------------------------- /exercises/06/_INSTRUCTIONS.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/06/_INSTRUCTIONS.md -------------------------------------------------------------------------------- /exercises/06/_SOLUTION.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/06/_SOLUTION.md -------------------------------------------------------------------------------- /exercises/06/evil.com/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/06/evil.com/index.js -------------------------------------------------------------------------------- /exercises/06/evil.com/static/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/06/evil.com/static/index.html -------------------------------------------------------------------------------- /exercises/06/site/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/06/site/index.js -------------------------------------------------------------------------------- /exercises/06/site/routes/login.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/06/site/routes/login.js -------------------------------------------------------------------------------- /exercises/06/site/routes/messages.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/06/site/routes/messages.js -------------------------------------------------------------------------------- /exercises/06/site/static/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/06/site/static/index.js -------------------------------------------------------------------------------- /exercises/07/_INSTRUCTIONS.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/07/_INSTRUCTIONS.md -------------------------------------------------------------------------------- /exercises/07/_SOLUTION.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/07/_SOLUTION.md -------------------------------------------------------------------------------- /exercises/07/evil.com/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/07/evil.com/index.js -------------------------------------------------------------------------------- /exercises/07/evil.com/static/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/07/evil.com/static/index.html -------------------------------------------------------------------------------- /exercises/07/site/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/07/site/index.js -------------------------------------------------------------------------------- /exercises/07/site/routes/login.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/07/site/routes/login.js -------------------------------------------------------------------------------- /exercises/07/site/routes/messages.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/07/site/routes/messages.js -------------------------------------------------------------------------------- /exercises/07/site/static/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/07/site/static/index.js -------------------------------------------------------------------------------- /exercises/08/_INSTRUCTIONS.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/08/_INSTRUCTIONS.md -------------------------------------------------------------------------------- /exercises/08/_SOLUTION.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/08/_SOLUTION.md -------------------------------------------------------------------------------- /exercises/08/evil.com/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/08/evil.com/index.js -------------------------------------------------------------------------------- /exercises/08/evil.com/static/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/08/evil.com/static/index.html -------------------------------------------------------------------------------- /exercises/08/site/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/08/site/index.js -------------------------------------------------------------------------------- /exercises/08/site/routes/login.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/08/site/routes/login.js -------------------------------------------------------------------------------- /exercises/08/site/routes/messages.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/08/site/routes/messages.js -------------------------------------------------------------------------------- /exercises/08/site/static/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/08/site/static/index.js -------------------------------------------------------------------------------- /exercises/09/_INSTRUCTIONS.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/09/_INSTRUCTIONS.md -------------------------------------------------------------------------------- /exercises/09/_SOLUTION.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/09/_SOLUTION.md -------------------------------------------------------------------------------- /exercises/09/evil.com/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/09/evil.com/index.js -------------------------------------------------------------------------------- /exercises/09/evil.com/static/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/09/evil.com/static/index.html -------------------------------------------------------------------------------- /exercises/09/site/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/09/site/index.js -------------------------------------------------------------------------------- /exercises/09/site/routes/login.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/09/site/routes/login.js -------------------------------------------------------------------------------- /exercises/09/site/routes/messages.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/09/site/routes/messages.js -------------------------------------------------------------------------------- /exercises/09/site/static/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/09/site/static/index.js -------------------------------------------------------------------------------- /exercises/10/_INSTRUCTIONS.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/10/_INSTRUCTIONS.md -------------------------------------------------------------------------------- /exercises/10/_SOLUTION.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/10/_SOLUTION.md -------------------------------------------------------------------------------- /exercises/10/evil.com/hijack.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/10/evil.com/hijack.html -------------------------------------------------------------------------------- /exercises/10/evil.com/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/10/evil.com/index.js -------------------------------------------------------------------------------- /exercises/10/evil.com/static/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/10/evil.com/static/index.html -------------------------------------------------------------------------------- /exercises/10/site/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/10/site/index.js -------------------------------------------------------------------------------- /exercises/10/site/routes/login.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/10/site/routes/login.js -------------------------------------------------------------------------------- /exercises/10/site/routes/messages.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/10/site/routes/messages.js -------------------------------------------------------------------------------- /exercises/10/site/static/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/10/site/static/index.js -------------------------------------------------------------------------------- /exercises/11/_INSTRUCTIONS.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/11/_INSTRUCTIONS.md -------------------------------------------------------------------------------- /exercises/11/_SOLUTION.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/11/_SOLUTION.md -------------------------------------------------------------------------------- /exercises/11/evil.com/hijack.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/11/evil.com/hijack.html -------------------------------------------------------------------------------- /exercises/11/evil.com/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/11/evil.com/index.js -------------------------------------------------------------------------------- /exercises/11/evil.com/static/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/11/evil.com/static/index.html -------------------------------------------------------------------------------- /exercises/11/site/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/11/site/index.js -------------------------------------------------------------------------------- /exercises/11/site/routes/login.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/11/site/routes/login.js -------------------------------------------------------------------------------- /exercises/11/site/routes/messages.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/11/site/routes/messages.js -------------------------------------------------------------------------------- /exercises/11/site/static/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/11/site/static/index.js -------------------------------------------------------------------------------- /exercises/12/_INSTRUCTIONS.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/12/_INSTRUCTIONS.md -------------------------------------------------------------------------------- /exercises/12/_SOLUTION.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/12/_SOLUTION.md -------------------------------------------------------------------------------- /exercises/12/evil.com/hijack.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/12/evil.com/hijack.html -------------------------------------------------------------------------------- /exercises/12/evil.com/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/12/evil.com/index.js -------------------------------------------------------------------------------- /exercises/12/evil.com/static/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/12/evil.com/static/index.html -------------------------------------------------------------------------------- /exercises/12/site/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/12/site/index.js -------------------------------------------------------------------------------- /exercises/12/site/routes/login.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/12/site/routes/login.js -------------------------------------------------------------------------------- /exercises/12/site/routes/messages.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/12/site/routes/messages.js -------------------------------------------------------------------------------- /exercises/12/site/static/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/12/site/static/index.js -------------------------------------------------------------------------------- /exercises/13/_INSTRUCTIONS.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/13/_INSTRUCTIONS.md -------------------------------------------------------------------------------- /exercises/13/_SOLUTION.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/13/_SOLUTION.md -------------------------------------------------------------------------------- /exercises/13/evil.com/hijack.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/13/evil.com/hijack.html -------------------------------------------------------------------------------- /exercises/13/evil.com/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/13/evil.com/index.js -------------------------------------------------------------------------------- /exercises/13/evil.com/static/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/13/evil.com/static/index.html -------------------------------------------------------------------------------- /exercises/13/site/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/13/site/index.js -------------------------------------------------------------------------------- /exercises/13/site/routes/login.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/13/site/routes/login.js -------------------------------------------------------------------------------- /exercises/13/site/routes/messages.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/13/site/routes/messages.js -------------------------------------------------------------------------------- /exercises/13/site/static/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/13/site/static/index.js -------------------------------------------------------------------------------- /exercises/14/_INSTRUCTIONS.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/14/_INSTRUCTIONS.md -------------------------------------------------------------------------------- /exercises/14/_SOLUTION.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/14/_SOLUTION.md -------------------------------------------------------------------------------- /exercises/14/evil.com/hijack.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/14/evil.com/hijack.html -------------------------------------------------------------------------------- /exercises/14/evil.com/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/14/evil.com/index.js -------------------------------------------------------------------------------- /exercises/14/evil.com/static/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/14/evil.com/static/index.html -------------------------------------------------------------------------------- /exercises/14/site/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/14/site/index.js -------------------------------------------------------------------------------- /exercises/14/site/routes/login.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/14/site/routes/login.js -------------------------------------------------------------------------------- /exercises/14/site/routes/messages.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/14/site/routes/messages.js -------------------------------------------------------------------------------- /exercises/14/site/static/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/14/site/static/index.js -------------------------------------------------------------------------------- /exercises/15/_INSTRUCTIONS.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/15/_INSTRUCTIONS.md -------------------------------------------------------------------------------- /exercises/15/_SOLUTION.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/15/_SOLUTION.md -------------------------------------------------------------------------------- /exercises/15/evil.com/hijack.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/15/evil.com/hijack.html -------------------------------------------------------------------------------- /exercises/15/evil.com/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/15/evil.com/index.js -------------------------------------------------------------------------------- /exercises/15/evil.com/static/hijack.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/15/evil.com/static/hijack.js -------------------------------------------------------------------------------- /exercises/15/evil.com/static/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/15/evil.com/static/index.html -------------------------------------------------------------------------------- /exercises/15/site/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/15/site/index.js -------------------------------------------------------------------------------- /exercises/15/site/routes/login.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/15/site/routes/login.js -------------------------------------------------------------------------------- /exercises/15/site/routes/messages.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/15/site/routes/messages.js -------------------------------------------------------------------------------- /exercises/15/site/static/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/15/site/static/index.js -------------------------------------------------------------------------------- /exercises/16/_INSTRUCTIONS.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/16/_INSTRUCTIONS.md -------------------------------------------------------------------------------- /exercises/16/_SOLUTION.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/16/_SOLUTION.md -------------------------------------------------------------------------------- /exercises/16/evil.com/hijack.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/16/evil.com/hijack.html -------------------------------------------------------------------------------- /exercises/16/evil.com/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/16/evil.com/index.js -------------------------------------------------------------------------------- /exercises/16/evil.com/static/hijack.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/16/evil.com/static/hijack.js -------------------------------------------------------------------------------- /exercises/16/evil.com/static/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/16/evil.com/static/index.html -------------------------------------------------------------------------------- /exercises/16/site/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/16/site/index.js -------------------------------------------------------------------------------- /exercises/16/site/routes/login.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/16/site/routes/login.js -------------------------------------------------------------------------------- /exercises/16/site/routes/messages.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/16/site/routes/messages.js -------------------------------------------------------------------------------- /exercises/16/site/static/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/16/site/static/index.js -------------------------------------------------------------------------------- /exercises/17/_INSTRUCTIONS.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/17/_INSTRUCTIONS.md -------------------------------------------------------------------------------- /exercises/17/_SOLUTION.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/17/_SOLUTION.md -------------------------------------------------------------------------------- /exercises/17/evil.com/hijack.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/17/evil.com/hijack.html -------------------------------------------------------------------------------- /exercises/17/evil.com/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/17/evil.com/index.js -------------------------------------------------------------------------------- /exercises/17/evil.com/static/hijack.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/17/evil.com/static/hijack.js -------------------------------------------------------------------------------- /exercises/17/evil.com/static/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/17/evil.com/static/index.html -------------------------------------------------------------------------------- /exercises/17/evil.com/static/steal.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/17/evil.com/static/steal.html -------------------------------------------------------------------------------- /exercises/17/site/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/17/site/index.js -------------------------------------------------------------------------------- /exercises/17/site/routes/login.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/17/site/routes/login.js -------------------------------------------------------------------------------- /exercises/17/site/routes/messages.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/17/site/routes/messages.js -------------------------------------------------------------------------------- /exercises/17/site/static/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/exercises/17/site/static/index.js -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikesherov/web-security-essentials/HEAD/package.json --------------------------------------------------------------------------------