Widzę, że po wczorajszej aktualizacji zadania kolega, który poradził sobie z pierwszą częścią zadania, usilnie próbuje poradzić sobie i z drugą, przy pomocy bruteforce. Z tego co widzę “już” jest/był na etapie 9182, czyli gdzieś tak w połowie drogi. Tylko w kolejnej części zadania mogę dać identyfikator o długości 16, 32, (...), 256, 512, 1024, (...), 4096 znaków. Nie tędy droga. A jeśli już bruteforce, to jednak trochę z głową :)
W ramach podpowiedzi/przypomnienia:
bruteforce można zamknąć w 256 żądaniach, niezależnie od długości identyfikatora,
wystarczą dwa żądania, do odczytania wiadomości,
wystarczy jedno żądanie, by w drugim wysłać dowolnie wybraną wartość,
Co najmniej dwie osoby poradziły sobie z zadaniem (patrz: Vansel, z drugą rozmawiałem). Gratulacje! Ale teraz pora nieco skomplikować warunki zadania. Należy:
odczytać wiadomość o identyfikatorze 91827364,
zrobić to maksymalnie dwoma odwołaniami do serwera,
Nie jestem takim stachanowcem jak Gynvael, ale też i u mnie (bardzo) drobne nowości w dziedzinie videocastów się pojawiły. Aktualnie są dwie playlisty:
Będę się starał, by każdy z moich videocastów mieścił się w 15 minutach (10-15 minut). Z jednej strony te 15 minut jest ograniczeniem poniekąd wymuszonym, ale doszedłem do wniosku, że trzymanie się w tym czasie jest niezłym ćwiczeniem dla mnie , więc spróbuję się go trzymać. Zobaczymy jak to będzie sprawdzać się w praktyce :)
Dziś nowy/stary bootcamp. Jest to zmodyfikowana wersja przykładu opisanego tutaj: Lekcja 2: Nieprawidłowa kontrola dostępu do danych. Celem ćwiczenia jest uzyskanie dostępu do danych, które w założeniu autora aplikacji mają pozostać niedostępne. W szczególności chodzi o znalezienie jednej konkretnej wiadomości, która zawiera pewien tajny kod. To tyle, jeśli chodzi o szczegóły zadania, przynajmniej na razie. Powodzenia!
Mamy problem z szeroko pojętą jakością oprogramowania. My, czyli nasza cywilizacja. Wciąż nie jesteśmy w stanie stworzyć oprogramowania, które nie będzie zawierało błędów. Nie jesteśmy też w stanie wychwycić wszystkich błędów na etapie testowania. I nie, nie chodzi mi tu (tylko) o błędy związane z bezpieczeństwem. Skutki błędów mogą być zarówno spektakularne (np. eksplozja rakiety Ariane 5), jak i tragiczne (np. ofiary śmiertelne źle działającego sprzętu medycznego). Mogą też być ciekawe, ostatnio przeczytałem, że jednym z ograniczeń odchodzących właśnie do historii wahadłowców było to, że misja nie mogła się przeciągać z grudnia na styczeń, choć tu nie wiem, czy jest to błąd, czy “świadome” ograniczenie. Błędem na pewno było zawieszanie Windows przy zbyt dużym uptime: Computer Hangs After 49.7 Days, choć z drugiej strony niewątpliwym sukcesem było osiąganie takiego uptime...
Jakiś czas temu Google udostępniło możliwość logowania się do swoich usług za pomocą uwierzytelnienia dwuskładnikowego. Jedną z możliwości jest wykorzystanie kodów jednorazowych generowanych przez aplikację Google Authenticator (źródła tego projektu można znaleźć tutaj: google-authenticator). Aplikacja ta jest niczym innym, jak programowym tokenem generującym hasła jednorazowe w oparciu o czas lub licznik (więcej szczegółów: HOTP: An HMAC-Based One-Time Password Algorithm).
Google jakiś czas temu wprowadziło +1 button. W ramach eksperymentu dodałem go na blogu, choć nie wiem, czy długo tam zabawi. Ale ja nie o tym... Zdobycie +1 staje się konfiturą, wartością samą w sobie, sposobem na poprawienie swojego rankingu w wynikach wyszukiwania.
Jeśli ktoś jeszcze nie wie, Gynvael publikuje videocasty. Pomijając jakość, autor jest jej gwarancją, strasznie spodobała mi się forma. O ile do podcastów mam spory dystans, nie widzę w ich przypadku dużej wartości dodanej w stosunku do tekstu, to w videocastach taką wartość widzę. Pewne rzeczy po prostu można pokazać szybciej i bardziej zrozumiale, niż próbując je opisać (w tekście).
Taka ta pogoda niezdecydowana. Raz słońce, raz deszcz (z lodem). Deszcz na zdjęciu, choć nie do końca to widać. Okolice Obidowca, konkretnie zaraz przy pomniku w miejscu katastrofy lotniczej.
Oryginał tego wpisu dostępny jest pod adresem Gorce