Park Stołeczny, Emanuel Śmigło, 31.01.2012 r. o 04:42
Kącik Kodera IV

Mimo zapowiedzi w dzisiejszym wydaniu KK będzie o pozyskiwaniu ze stron internetowych informacji, które potencjalnie mogą się nam przydać. Będzie więcej metodyki niż programowania.

Co robimy?
Autor wziął sobie za cel wydobycie adresów e-mail wszystkich mieszkańców Księstwa Sarmacji celem stworzenia prywatnej bazy. Powodem była zwykła ciekawość i niezdrowa chęć podglądania.

Jak robimy?
Każdy z mieszkańców ma swój profil w systemie Złota Wolność (przykładowy profil). Jak łatwo zauważyć treść odnośnika nie zawiera identyfikatora KS, ale zwykłą liczbę. Zmieniając jej wartość możemy obejrzeć profile mieszkańców, grup lub dość skromną stronę w przypadku pudła.

Tym samym uzyskaliśmy punkt zaczepienia - możemy wykorzystać prostą pętlę, by odczytać wszystkie profile. W każdym kroku należy sprawdzić czy strona dotyczy mieszkańca. Wykorzystajmy do tego wyrażenia regularne przedstawione w poprzednich odcinkach KK. Jeżeli na stronie znajdziemy adres e-mail, to znajdziemy też identyfikator mieszkańca.

Brzmi prosto, ale jest jeden haczyk (jak nie potrafimy programować to nawet dwa). Profil mieszkańca zawiera adres e-mail tylko wtedy, gdy jesteśmy zalogowani w systemie. Złota Wolność informacje o stanie zalogowania przechowuje w tzw. ciastku. Musimy uwzględnić jego treść w żądaniu HTTP. Autor pozostawia zadanie odczytu i analizy ciastka jako pracę domową.

Czym robimy?
Tym razem Wasz ukochany pseudospecjalista porzucił PHP na rzecz C#, w którym popełnił prostą aplikację konsolową wykorzystując .NET Framework 2.0. Klasa WebClient ściągnie za nas treść kolejnych stron, a klasa Regex pomoże oddzielić ziarno od plew. W tym konkretnym przypadku program dał radę pobrać i obrobić ponad 750 profili w 80 sekund przy łączu 8 Mb/s bez optymalizacji kodu. Uzyskano ponad 450 adresów e-mail do dalszych, niecnych poczynań (śmiech Gargamela).

Wnioski
Jeżeli zależy nam na prywatności ważniejszych danych naszych użytkowników to nie pokazujmy ich automatycznie tylko np. wykorzystując CAPTCHA. Zastąpienie zwykłej numeracji w odnośnikach czymś bardziej wyszukanym z pewnością uprzykrzy życie podglądaczom.

Kolejnym wnioskiem wynikającym z czwartego wydania KK jest brak słowności autora - miało być o PDF a tu jakieś pierdoły. Następnym razem ;). Dziurawego kodu!

Konkurs
Tematem pierwszego konkursu Kąciku Kodera jest aplikacja pobierająca adresy e-mail mieszkańców Księstwa Sarmacji przez strony WWW i zapisująca je do pliku. Język programowania dowolny, spakowane archiwum z działającym kodem źródłowym należy przesłać na adres e-mail autora. Termin nadsyłania programów mija o północy 5 lutego br. (lub wcześniej w przypadku wprowadzenia stosownych zabezpieczeń w ZW) Przy ocenie będzie brana pod uwagę dokładność węszenia, czas nadesłania zgłoszenia, szybkość działania oraz elegancja programu.

Nagrody:
[ul][li]I miejsce - 3000 lt[/li]
[li]II miejsce - 2000 lt[/li]
[li]III miejsce - 1000 lt[/li][/ul]

W przypadku mniejszej liczby nagrodzonych do wygrania pula 6000 lt. Gorąco zachęcam! :)

EDIT:
W związku z interwencją JKW Piotra Mikołaja i znaczącym podniesieniem poziomu trudności dorzucam od siebie 5000 lt dla zwycięzcy.
Dotacje
0,00 lt
Nikt jeszcze nie zasponsorował tego artykułu.
Serduszka
0,00 lt
Nikt jeszcze nie lubi tego artykułu.
Komentarze
Yupeng Beijin-Zhao
Odpowiedz Permalink
Fryderyk von Hohenzollern
Super! Choć jak dla mnie czarna magia, dobre atry, edukujące oby tak dalej !
Odpowiedz Permalink
Helwetyk Romański
Podniosłem poprzeczkę w konkursie (śmiech Gargamela).

A Kącik Kodera uwielbiam. ❤
Odpowiedz Permalink
Emanuel Śmigło
Kanalia, artykuł mi zdezaktualizowałeś. Przynajmniej widzę, że moje wypociny wpływają na poprawę prywatności danych w systemie. :D
Permalink
Gauleiter Kakulski
Tantiema!
Odpowiedz Permalink
Karolina Aleksandra
No to hackujemy :)
Odpowiedz Permalink
Helwetyk Romański
Świetny awatar. ;-) (Tantiema.)
Odpowiedz Permalink
Kedar via Margończyk
Piotruś Gargamel :P
Permalink

Musisz się zalogować, by móc dodawać komentarze.