Requests from another site and a path that climbs out of its folder are stopped at the service's gate, while a request from its own site gets 200 OK.

Web Security with Python

Nog geen beoordelingen

Neem een werkende webdienst en maak hem moeilijk te misbruiken. Je slaat wachtwoorden zo op dat een lek ze niet prijsgeeft, houdt sessies en ondertekende tokens bij die niet te vervalsen zijn, valideert waar een verzoek om mag vragen, houdt cross-site verzoeken tegen, beantwoordt CORS correct omdat je weet wat een browser controleert, en houdt geheime sleutels uit je broncode. Je voert elke aanval uit op je eigen server en bewijst elke oplossing met een test.
Je hebt eerst HTTP with Python nodig: een JSON-API geschreven als een functie handle(request, state), cookies en een sessie op de server, Basic- en bearer-authenticatie, en tests die de handler rechtstreeks aanroepen. Python Fundamentals II helpt, maar is niet verplicht: je leest een paar klassen en schrijft er nooit zelf een.
Elke aanval richt zich op je eigen code, op het loopbackadres of in het geheugen; de sandbox heeft geen internet en geen browser. De browserregels achter CSRF en CORS zijn een klein model dat je zelf schrijft. Eén project, de leeslijst uit HTTP with Python, wordt tot en met het eindproject beveiligd.

  • 12

    hoofdstukken

  • 64

    lessen

  • 33

    oefeningen

  • 13

    projecten

Certificaat als je klaar bent Beschikbaar inEnglishNederlandsDeutsch

De lessen staan in een aanbevolen volgorde, maar je kunt elke les openen.

Hoofdstuk 1

Wat er mis kan gaan

Hoofdstuk 2

Hashes, MAC's en willekeurige waarden

Hoofdstuk 3

Wachtwoorden veilig opslaan

Hoofdstuk 4

Sessies die standhouden

Hoofdstuk 5

Ondertekende tokens en geheime sleutels

Hoofdstuk 6

Wie wat mag, en hoe vaak

Hoofdstuk 7

Invoer die code wordt

Hoofdstuk 8

Origins en cross-site verzoeken

Hoofdstuk 9

CORS

Hoofdstuk 10

HTTPS, certificaten en beveiligingsheaders

Hoofdstuk 11

Eindproject: maak de leeslijst veilig

Hoofdstuk 12

De kaart en waar je hierna heen gaat