RE25
Zadanie
W zadaniu dostawaliśmy binarkę task (dostępna w załączonym po lewej strony zipie, razem z resztą plików rozwiązania), która po odpaleniu prosila o hasło, sprawdzała jego poprawność, flaga to poprawne hasło.
Rozwiązanie
Większość flagi można było odzyskać w kilka minut w gdb wpisując jakąś flagę i patrząć jakie wartości będą przekazywane do strcmp albo po prostu ze sobą porównywane, i nadpisując pamięć tak by te porównania przeszły. W taki sposób można było otrzymać format flagi:
"ecsc19{cRYPt0" + "XXX" + "xor}"
gdzie X oznacza dowolny znak. Funkcja sprawdzająca te 3 znaki była na tyle rozbudowana, że zamiast ją reversować puściłem skrypt w pythonie brutujący te 3 znaki (dostępny w załączniku), po kilku minutach otrzymując wynik:
ecsc19{cRYPt0_h4xor}
No Comments