Passa ai contenuti principali

Ennesima Introduzione al Web Security Testing

Esistono su web tonnellate di documenti, tutorial e video sul web security testing. Moltissimo di questo materiale è, secondo me, spiegato molto male ed ha una impostazione eccessivamente pratica: viene descritto come arrivare ad un certo obbiettivo in un certo scenario senza fare capire cosa si sta facendo, quali elementi sono specifici di quello scenario e quali hanno validità generale etc etc. Nonostante mi occupi di queste tematiche da anni, quasi sempre faccio molta fatica a capire questo materiale.

Uno strumento particolarmente utile per il web security testing è Burp. Una web app particolarmente utile per fini didattici sulla rilevazione di vulnerabilità è OWASP Juice Shop (live version).

Ho preparato un documento introduttivo su Burp e OWASP Juice Shop. Principalmente per me. Può essere utile per gli studenti di "Computer Networks 2 and Principles of Computer Security". Potrebbe essere utile anche ad altri. Ho deciso di renderlo pubblico ("Documents" in fondo a questa pagina).

Riporto la Table of Contents qui sotto. Commenti e critiche "most welcome".

  • BURP in a nutshell
    • Key functionalities
  • OWASP Juicy Shop
    • Resources
    • Notes on Authentication in OWASP Juicy Shop
      • Why Bearer tokens?
      • Example
        • Login
        • Shopping Basket
        • Bearer token
    • IDOR vulnerability
      • Detecting the vulnerability
      • Exploiting the vulnerability
      • Another IDOR vulnerability
    • A few further simple vulnerabilities
      • Online password guessing
      • SQL Injection in login page
        • SQL Injection explained
      • More SQL Injection in login page

Commenti

Popular Posts

"Ingegneria deve essere difficile"

Il ritaglio di giornale qui sotto ricorda uno degli eventi più non-trovo-un-aggettivo-appropriato del mio periodo di studente di Ingegneria a Pisa. Ricordo che una mattina iniziò a spargersi la voce "hanno murato la porta del dipartimento!".  Andammo subito a vedere ed arrivammo un pò prima dei giornalisti che scattarono questa foto. La porta era murata, intonacata, pitturata di bianco e sovrastata da una scritta "INGEGNERIA DEVE ESSERE DIFFICILE". Le "E" di "INGEGNERIA" erano scritte al contrario perché era una sorta di "marchio di fabbrica" della facoltà di Ingegneria di Pisa. L'aula più grande, quella in cui pressoché tutti gli studenti seguivano i corsi dei primi anni, aveva infatti alcuni bellissimi "affreschi scherzosi" che furono fatti nel corso delle proteste studentesche di qualche anno prima ed in cui la parola "Ingegneria" era appuntoi scritta in quel modo. Si era anche già sparsa la voce di cosa era

Perché studiare Analisi Matematica???

Un mio caro amico mi ha scritto: ...sono con mia figlia che studia Analisi 1...A cosa serve, al giorno d'oggi, studiare Analisi (a parte sfoltire i ranghi degli aspiranti ingegneri)? Riporto la mia risposta di seguito, forse può "motivare" qualche altro studente. ... Per un ingegnere la matematica è fondamentale perché è un linguaggio ; ed è il linguaggio essenziale per trattare gli argomenti che dovrà affrontare come ingegnere; non sono importanti i contenuti specifici; è importante, anzi fondamentale, che riesca a capirli, ricostruirli etc. ad esempio, chi deve usare l'inglese, lo usa perché in un modo o nell'altro lo conosce; nessuno di noi ha usato esattamente le frasi o i dialoghi o le regole che ha incontrato negli esercizi di inglese o di tedesco; nella matematica è lo stesso; non sono importanti i limiti, le serie, i teoremi di cauchy o che so io; ma se uno non è in grado di capire quel linguaggio allora non sarà in grado di capire davvero quas

La PhD school più importante della mia vita

Mi è tornata in mente proprio in questi giorni che ho iniziato il corso di Cybersecurity , nel quale parlo più volte dei design principles proposti da Saltzer e Schroeder nel loro capolavoro del 1974 . Se potessi incontrare Mike Schroeder oggi gli esprimerei con grande entusiasmo la mia ammirazione per quel suo capolavoro, nonostante la mia veneranda età e nonostante non abbia più la passione per la tecnologia e la ricerca che avevo da giovane. La cosa curiosa è che Mike Schroeder l'ho incontrato proprio quando ero giovane ed entusiasta: era un docente di quella PhD school...solo che non sapevo nulla di cybersecurity e quindi non ero a conoscenza di quel suo capolavoro, nonostante lo avesse scritto quasi venti anni prima! Mea culpa, mea grandissima culpa. Lisboa 92 - An advanced course on distributed systems Sono stato studente di solo due PhD schools...il titolo di questo blog post è quindi un pò clickbait . Comunque, Lisboa 92 è stata davvero molto importante per me. Non tanto

40 anni di Internet: Cosa non ha funzionato e perché

Leggo molti documenti tecnico-scientifici per lavoro e, in parte, per "piacere". Molti sono interessanti, alcuni molto interessanti. E' raro che trovi un documento che mi appare illuminante. Questo indicato sotto è uno dei pochi documenti in questa categoria. Sembra banale, in quanto è molto discorsivo e parla di molte cose note: IP, DNS, NAT.... In realtà è profondissimo. Una miniera di riflessioni profonde, sintetiche, focalizzate ed, appunto, illuminanti. A mio parere imperdibile per chiunque abbia un qualche interesse negli aspetti tecnici di Internet. Chi non ha la pazienza di leggerlo per intero, legga almeno gli ultimi due paragrafi. Failed Expectations (l'autore, Geoff Houston , fa parte della Internet Hall of Fame )

Il patch che non era un patch

Quanto segue è un patetico quanto inutile tentativo di distrarmi e non pensare alla pessima prestazione calcistica di ieri sera, decisamente non all'altezza dell'evento e dei nostri gloriosi colori. Nella lezione di "Computer Networks and Principles of Cybersecurity" di ieri, mi è stata posta la domanda " E' possibile che un patch introduca nuove vulnerabilità? ". La mia risposta è stata affermativa, ho evidenziato che un patch è un software, quindi può introdurre errori, vulnerabilità, può fare riemergere errori o vulnerabilità presenti e risolti in versioni precedenti, può correggere la specifica vulnerabilità presumibilmente risolta da quel patch solo in parte. Non è frequente, ma può accadere ed è quindi una possibilità da tenere presente. Uno dei numerosi motivi che rendono così complessa la gestione delle vulnerabilità è anche questo. Stamattina ho letto un esempio molto interessante di quanto abbiamo detto. Pochissime settimane fa Microsoft ha ril