Czas na obiecany konkurs w którym można wygrać dwie wejściówki na konferencję Security PWNing 2017!

Celem konkursu jest stworzenie jak najmniejszego (w rozumieniu wielkości pliku w bajtach) programu, który wypisze na konsoli następujący tekst:


Download: pwning2017.txt - plik z tekstem

Wymagania konkursowe:

• Zgłoszenie musi mieć formę dokładnie jednego pliku.

• Sprawdzenie zgłoszenia odbędzie się na systemie Ubuntu 17.04 Desktop 32-bit (i386)* zainstalowanym z domyślnymi ustawieniami na zasadzie "Naprzód, Naprzód, Naprzód" ;) z wybranym językiem Polskim. System testowy nie ma (i nigdy po instalacji nie miał) dostępu do internetu, więc zawiera jedynie domyślne paczki i narzędzia.
* dd201dc338480d1f6ad52e4c40abbc9bfbf12eba71aeac8a87858a94951b002a ubuntu-17.04-desktop-i386.iso

• W ramach sprawdzenia zostaną wykonane czynności:
1. Nazwa zgłoszonego pliku zostanie zmieniona na MD5 tego pliku.
2. Konsola (GNOME Terminal 3.20.2) zostanie zmaksymalizowana (wielkość konsoli jest nieznana i może być dowolna).
3. Zostanie wykonane polecenie: clear
4. Zostanie wykonane polecenie: chmod u+x ./tutaj_md5_pliku_zgloszenia
5. Zostanie wykonane polecenie: ./tutaj_md5_pliku_zgloszenia
6. Zostanie zrobiony screenshot konsoli i będzie porównany ze wzorcowym - jeśli wypisany tekst nie będzie idealnie (w rozumieniu identycznych pixeli na identycznych pozycjach) równy screenshotowi wzorcowego tekstu, zgłoszenie zostanie odrzucone. EDIT: Limit czasu wykonania: około 60 sec. czasu zegarowego.

• Kryterium przyznania wejściówek jest wielkość pliku (czym mniejszy tym lepiej) - wygrywa najkrótszy zgłoszony. W przypadku zgłoszeń o tej samej wielkości liczy się czas zgłoszenia.

• Zgłoszenia należy wysyłać na adres e-mail gynvael+pwninggolf@coldwind.pl (CC: gynvael+pwninggolf@gmail.com) w formie załącznika spakowanego czymś standardowym (ZIP, RAR, 7z, TAR.GZ, TAR.BZ2, base64 też OK) do niedzieli (15.10.2017) godz. 23:59. Standardowo prosiłbym również o napisaniu w komentarzu o wysłaniu zgłoszenia.

• Każda osoba może wysłać dowolną liczbę zgłoszeń, ale liczyć się będzie tylko ostatnie zgłoszone, które nie zostało odrzucone (patrz zasada 6).

Ewentualne pytania co do zasad można zadawać w komentarzach poniżej.

Powodzenia! :)

FAQ: (aktualizacja: Sobota 10:04 PM)

Q: Czy w katalogu, w którym będzie testowane zgłoszenie, będą jakieś inne pliki?
Nie wiadomo, tj. zasady tego nie doprecyzowują, więc nie powinno się zakładać ani, że będą, ani, że ich nie będzie.

Q: Czy można założyć, że extended attributes przetrwają rozpakowanie pliku / kopiowanie na VM?
Nie. To jak dokładnie wygląda proces ściągania i rozpakowywania załącznika, a następnie umieszczania samego zgłoszonego rozwiązania na VM nie zostało określone w zasadach, więc nie powinno się czynić żadnych założeń w tym temacie.
(Kudos dla akrasuski za wymyślenie tego potencjalnego nagięcia zasad! Przyznaje, że nie pomyślałem o tym wcześniej i tylko technikalnia sprawiły, że ten pomysł nie wypalił)

Q: Czy zgłoszenie może tworzyć inne pliki?
Tak, można założyć, że proces ma uprawnienia domyślnego użytkownika na Ubuntu, może więc również tworzyć pliki zgodnie z zasadami narzuconymi przez system Ubuntu.

Q: Czy osoba z pierwszego miejsca dostaje dwie wejściówki, czy raczej osoby z pierwszego i drugiego otrzymają po jednej?
Osoby z pierwszego i drugiego miejsca otrzymają po jednej wejściówce.

Comments:

2017-10-12 22:07:22 = lucek
{
bardzo ciekawe id posta
}
2017-10-12 22:21:49 = Gynvael Coldwind
{
@lucek
Uhm... o wilku mowa? ;)
}
2017-10-12 22:24:39 = Luke
{
Wysłane. Czy będzie wiadomo, gdyby zgłoszenie zostało odrzucone?
}
2017-10-12 22:29:33 = Gynvael Coldwind
{
@Luke
Będę się starał co jakiś czas odbierać mejla i potwierdzać odbiór + zgodność z zasadami, natomiast nie wiem na ile często / szybko.
}
2017-10-12 22:36:23 = Lunar
{
Wysłane.
}
2017-10-12 23:13:08 = Luke
{
Wysłana nowa wersja.
}
2017-10-13 06:16:11 = wookl
{
wyslane :)
}
2017-10-13 07:22:37 = Gynvael Coldwind
{
Potwierdziłem właśnie mejlowo otrzymanie wszystkich prac które do tej pory przyszły (jest 9:20 AM w Piątek).
Jeśli ktoś wysłał przed tą datą zgłoszenie i nie otrzymał potwierdzenia, dajcie znać plz!

P.S. Prosiłbym o wrzucenie nicka również w mejla - czasem jest mi trudno połączyć nicki w komentarzach z mejlami :) Thx!
}
2017-10-13 10:21:38 = Szymon Stefański
{
Podesłałem zgłoszenie (nie testowałem na Ubuntu ale powinno być OK).
}
2017-10-13 10:35:29 = daca4
{
Wysłane ;)
}
2017-10-13 11:52:39 = Aproderick
{
Solucja wysłana
}
2017-10-13 14:27:14 = scresh
{
Poszło :D
}
2017-10-13 15:35:30 = Gynvael Coldwind
{
Wszystkie osoby które wysłały mejla do teraz (17:30 piątek) powinny otrzymać potwierdzenie odbioru mejlowo. Jeśli ktoś nie dostał, prosiłbym o kontakt (np. mejl bez załączników lub IRC).
}
2017-10-13 16:44:38 = Lunar
{
Wysłana nowa wersja
}
2017-10-13 19:22:05 = scresh
{
Kolejne 2 poprawki wysłane ^^
}
2017-10-13 19:23:10 = Lunar
{
I kolejna moja wersja poszła :D
}
2017-10-13 20:03:40 = ar
{
Wysłana nowa wersja :)
}
2017-10-13 20:08:44 = 1010000i100
{
Wysłane :)
}
2017-10-13 20:18:16 = redeemer
{
Pytanko: czy można założyć, że wykonywany program będzie jedynym plikiem w katalogu podczas uruchomienia?
}
2017-10-13 20:25:13 = zenon
{
wysłane
}
2017-10-13 23:19:12 = ar
{
I kolejna aktualizacja wysłana. I podpinam się do pytania o bycie jedynym plikiem w katalogu.
}
2017-10-13 23:40:50 = Lunar
{
Nowa wersja wysłana.
}
2017-10-14 07:51:03 = Gynvael Coldwind
{
Wszyscy którzy wysłali zgłoszenia do godziny 9:45 AM w sobotę powinni otrzymać potwierdzenie odbioru.
Jeśli potwierdzenie odbioru nie dotarło, plz skontaktujcie się ze mną ASAP via e-mail/komentarze/IRC.

Ad pytanie:
"Pytanko: czy można założyć, że wykonywany program będzie jedynym plikiem w katalogu podczas uruchomienia?"
Nie. Również nie można założyć nic w drugą stronę, tj. nie można założyć, że będą jakieś inne pliki.
Obecność (lub brak obecności) innych plików jest niewiadomą.
}
2017-10-14 11:01:55 = lcf
{
Poszło:
$ md5sum entry-lcf
adb7cd9c1c564c13031eec0824b2c864 *entry-lcf

PS Uprzejmie proszę o nie wysyłanie zgłoszeń o większym rozmiarze i takim samym MD5 ;).
}
2017-10-14 12:36:23 = Lazarus
{
To może napiszcie, jakie rozmiary rozwiązania uzyskaliście?
}
2017-10-14 12:39:04 = lcf
{
I... Hotfix, jako v2 ;P.
}
2017-10-14 12:55:06 = Lunar
{
I jeszcze jedna wersja :P
}
2017-10-14 13:14:14 = zenon
{
Nie dostałem powiadomienia, wysyłałem przed chwilą jeszcze raz, email zawiera nick
}
2017-10-14 13:35:09 = Luke
{
Przesłałem kolejną wersję.
}
2017-10-14 16:43:48 = lcf
{
I optymalizacja, v3 :).
}
2017-10-14 18:12:26 = lcf
{
Poszło v4. o/
}
2017-10-14 19:04:51 = Aproderick
{
Solucja wersja 2
}
2017-10-14 19:15:06 = Gynvael Coldwind
{
Potwierdziłem mejlowo wszystkie zgłoszenia, które otrzymałem do 9:06 PM w sobotę.
Jeśli potwierdzenie odbioru nie dotarło do kogoś, plz skontaktujcie się ze mną ASAP via e-mail/komentarze/IRC.

@zenon
Dzięki za info, mejl odnaleziony :)

}
2017-10-14 19:23:48 = kolejka
{
costam poszlo
}
2017-10-14 20:45:03 = scresh
{
@Gynvael Coldwind
Czy potwierdzenia odbioru są wysyłane tylko raz, czy powinienem ich oczekiwać po każdym wysłanym mailu?
}
2017-10-15 04:57:07 = lcf
{
I v5 - z tej wersji już jestem w miarę zadowolony :).
}
2017-10-15 08:23:33 = Gynvael Coldwind
{
@scresh
Potwierdzam zawsze najnowszą wersję, którą dostałem w momencie sprawdzania. Tj. jeśli zostało wysłane np. 5 nowych dla mnie mejli do momentu kolejnej tury mojego sprawdzania, to potwierdzam tylko najnowszy z nich.
Natomiast jeśli dana osoba otrzymała potwierdzenie w poprzedniej turze, a potem wysłała kolejnego mejla i, mimo kolejnej tury sprawdzenia, nie dostała kolejnego potwierdzenia tego najnowszego mejla, to prosiłbym o kontakt.


W każdym razie, potwierdziłem mejlowo wszystkie zgłoszenia, które otrzymałem do 10:15 AM w niedziele.
Jeśli potwierdzenie odbioru nie dotarło do kogoś, plz skontaktujcie się ze mną ASAP via e-mail/komentarze/IRC.
}
2017-10-15 09:33:48 = Finen
{
Wysłane.
}
2017-10-15 11:39:01 = jaszek
{
Wysłane.
}
2017-10-15 12:30:13 = scresh
{
@Gynvael Coldwind
13 października o 20:32 podesłałem nową wersję w odpowiedzi na wcześniejszego maila potwierdzającego i nie otrzymałem nowego potwierdzenia.
}
2017-10-15 12:33:52 = scresh
{
Poprawka: ostatni o 21:19.
}
2017-10-15 16:43:22 = sXf
{
Poszło
}
2017-10-15 16:54:40 = sXf
{
Poszło, v2
}
2017-10-15 21:18:49 = Gynvael Coldwind
{
Potwierdziłem zgłoszenia do 23:15 (niedziela).
Jeśli potwierdzenie odbioru nie dotarło, plz skontaktujcie się ze mną ASAP via e-mail/komentarze/IRC.
}
2017-10-15 21:26:29 = pingwindyktator
{
wysłane
}
2017-10-15 21:34:08 = pmysl
{
Wysłane
}
2017-10-15 21:34:18 = Gynvael Coldwind
{
Dwa kolejne potwierdzenia poszły :)
}

Add a comment:

Nick:
URL (optional):
Math captcha: 5 ∗ 6 + 9 =