Hacking Python
Prowadzący: Jakub Nowak
Rozbierzemy Pythona na części i wykorzystamy zdobytą wiedzę w hakerskich zadankach
Errata
Sun 16 May 22:41:07 CEST 2021: Termin oddawania rozwiązań został przesunięty na 19 maja.
Sun 9 May 14:33:09 CEST 2021: Zmniejszyłem liczbę powtórzeń z 1000 do 128 w zadaniach "obliczenia" i "bajtsy".
Sun 9 May 14:33:09 CEST 2021: Swoje rozwiązania można teraz przetestować pod adresem 13.48.252.167
. Więcej informacji w treści zadań kwalifikacyjnych (jeśli dalej widzisz starą treść, spróbuj odświeżyć treść przy pomocy CTRL+F5).
Opis
Python jest niewątpliwie bardzo popularnym językiem. Na warsztacie poznasz popularne błędy jakie można w nim popełnić. Dowiesz się jak je wykorzystać w celu zhakowania aplikacji (np. uzyskania RCE).
- Różne mechanizmy refleksji:
- Różne atrybuty o nazwach zaczynających się od
__
- Konstruktor
function
- Objekt
code
- Różne atrybuty o nazwach zaczynających się od
- Bytecode cpythona
- Bytecode pickle w cpythonie
- Framework pwntools (trochę)
Wymagania
- Podstawowa znajomość pythona 3
- Dowolny komputer
- Trzeba lubić kminę i robienie zadanek :)
Co znaczy podstawowa znajomość pythona? Patrz zadania kwalifikacyjne. ;)
Jeżeli niedawno zacząłeś uczyć się pythona to szczególnie zachęcam do zadawania pytań. Pytania "jak zrobić w pythonie [...]" są jak najbardziej w porządku.
Przydatne rzeczy
- pwntools – wprowadzę tę bibliotekę na warsztacie, ale chętni mogą użyć jej w zadaniach kwalifikacyjnych
- https://youtu.be/ito-Zzrv33U
Uwaga: Od edycji 2021, uczestnicy przesyłają rozwiązania przez stronę, a nie prowadzącym na maila. Zwróćcie im na to uwagę w treści: jeśli zadania nie zostaną przesłane przez stronę, nie będziecie mieli możliwości wpisania im wyników!