OWASP Raider: a novel framework for manipulating HTTP processes of persistent sessions

K2 Rahel Liebeschütz-Plaut
Daniel Neagaru
Raider was created to fill a gap in current tooling for pentesting the authentication process. It abstracts the client-server information exchange as a finite state machine. Each step comprises one request with inputs, one response with outputs, arbitrary actions to do on the response, and conditional links to other stages. Thus, a graph-like structure is created. This architecture works not only for authentication purposes but can be used for any HTTP process that needs to keep track of states.
A few years ago, the author had the task of helping developers to build OAuth directly from RFCs, supporting them with security topics and questions. In the beginning, the project ran into some challenges. Early on, we faced the fact that authentication is a stateful process, while HTTP is a stateless protocol. BurpSuite and ZAProxy were incepted when the web did not have states, so they inherited a stateless architecture. REST APIs became popular some years after those tools were created. They have workarounds like Burpsuite macros and ZAP Zest scripts to pass information between requests, but we found that functionality lacking and too complex to implement. So the author wrote custom python scripts to pentest this. It worked fine, but doing this makes the scripts usable only on this system. Therefore, the author decided to create a tool that fills that gap. Raider's configuration is inspired by Emacs. Hylang is used, which is LISP on top of Python. LISP is used because of its "Code is Data, Data is Code" property. It would also allow generating configuration automatically easily in the future. Flexibility is in its DNA, meaning it can be infinitely extended with actual code. Since all configuration is stored in cleartext, reproducing, sharing or modifying attacks becomes easy. Links to the project: - Website: https://raiderauth.com/ - Source: https://github.com/OWASP/raider - Documentation: https://docs.raiderauth.com/en/latest/ - Twitter: @raiderauth - Mastodon: @raiderauth@infosec.exchange

Additional information

Live Stream https://streaming.media.ccc.de/eh20/k2/hls
Type Talk
Language German

More sessions

4/7/23
K2 Rahel Liebeschütz-Plaut
Opening des EH20
4/7/23
Wawuschel
K2 Rahel Liebeschütz-Plaut
In der Datenschleuder aus Januar 2023 erschien mein Artikel zum Schreiben und Halten von Talks, auf dessen Inhalte ich in diesem Talk mit Tipps und meinen eigenen Erfahrungen eingehen werde. Und wenn ich schon die Datenschleuder anspreche kann ich gleich "leaken", wie ein Artikel von mir dort erschienen ist.
4/7/23
K2 Rahel Liebeschütz-Plaut
Informationen für Teilnehmende / Villages zum CCCamp 23. Vorstellung vom Anreise- und Mitmachkonzept sowie Gelegenheit offene Fragen zu diskutieren.
4/7/23
Elger / Stitch
P1 Workshop Mary G. Ross
Showcase on how transparency forces the Dutch government to take more security precautions to protect "our" data.
4/7/23
Elger / Stitch
K2 Rahel Liebeschütz-Plaut
The MCH2022 aftermath talk
4/7/23
khaleesi
K2 Rahel Liebeschütz-Plaut
Seit fast einem Jahr läuft das Vorhaben der EU-Kommission, was als Chatkontrolle bekannt geworden ist, jetzt schon. In diesem Talk werfen wir einen Blick darauf wo wir gerade im Gesetzgebungsprozess sind, was als nächstes passiert und was passieren muss damit wir dieses riesige Überwachungspaket noch aufhalten können. Inklusive EU-Gesetzgebung für Anfängerinnen.
4/7/23
Henryk Plötz
K2 Rahel Liebeschütz-Plaut
Man braucht nicht fünf Blockchains für einen Zeitstempel. Ein öffentlich geführter Merkle-Tree kann -- mit einigen Kniffen -- sichere digitale Zeitstempel-Dienste auch für eine große Anzahl an Operationen pro Sekunde anbieten. Und das kostengünstig und ohne die Umwelt mit nutzlosem Blockchain-Kladderadatsch zu belasten.