SQL injection

BM-2cXTQRghhnuzGDBcuSNmVpLrfqJ6nxdxa3
May 16 13:52 [raw]

+============================================= |index: +============================================= |0. Disclaimer |1. O czym artykul |2. Co to jest blind sql injection |3. Jak rozpoznawac podatnosc |4. Filtrowanie |5. Komentarze |6. Omijanie filtrowania |7. Co daje sql injection |8. Podsumowanie +============================================= ============================================== 0. Disclaimer. ============================================== Artykul powstal w celach edukacyjny , ukazujac bledy i niedopatrzenia webmasterow , programistow php , cgi etc podczas tworzenie aplikacji sieciowych korzystajacych z zasobow bazy danych. Autor nie namawia czytelnikow do uzywania tych technik niezgodnie z prawem. Autor nie bierze odpowiedzialnosci za to jak czytelnicy wykorzystaja zawarte tu informacje. ============================================== 1. O czym artykul. ============================================== Jedynym sposobem exploracji zasobow serwera jest wyszukanie w uslugach jakie pelni , bledy i niedopatrzenia programistow. Jedna z najprostrzych metod jest 'sql injection'. Metoda ataku polega na odpowiednim spreparowaniu ciagow znakow ktore tworza logiczny ciag zapytania sql do bazy danych. Aby zrozumiec na czym polega blind sql injection , potrzebna jest wiedza o podstawach jezyka sql. Nie bylem w stanie umiescic w jednym artykule tych wszystkich informacji naraz. W rozdziale 10'tym 'Info' zamiescilem niezbedne linki ktore pomoga wszystko zrozumiec. ============================================== 2. Co to jest blind sql injection. ============================================== Jedna z odmian ataku sql injection jest blind sql injection , bardziej zaawansowana technika polegajaca w gruncie rzeczy na tym samym. Jedyna roznica miedzy nimi jest to ze atak przeprowadzamy niemal na slepo, kierujac sie wlasna wiedza do celu. Podczas stosowania tej metody wykorzystuje sie operatory logiczne zapytan sql , ktore sprawiaja bardziej wiarygodne zrodlo informacji o stanie bazy danych jak i jej tabelach. Atak na slepo ? , ale jak ? juz tlumacze. Zwykle zle spreparowane wartosci przekazywane w zmiennych do aplikacji sieciowych powoduja wyswietlenie bledu bazy danych , co sprawia ze latwo jest spreparowac odpowiednie zapytanie. A co jesli programista wkorzysta wyjatki wynikow z bazy danych powodujace ich zamaskowanie ? Luka nadal istnieje , jestesmy w stanie ja wykorzystac lecz rozpoznanie typowego bledu sql juz nie jest takie proste , trzeba przypatrywac sie na dzialanie aplikacji sieciowych pod katem programisty , badac jej zachowanie. ============================================== 3. Jak rozpoznawac podatnosc. ============================================== Mozna rozpoznawac w dwa sposoby , klasyczny i logiczny. (w rzeczywistym swiecie nie ma takiego podzialu , stworzylem go sam aby latwo zobrazowac dwie metody) *Klasyczny (wykorzystywany przy atakach metoda sql injection): Polega na odpowiednim spreparowaniu wartosci zmiennych przekazywanych do aplikacji sieciowych zazwyczaj za pomoca metody GET (ciag umiejscowiony w zwyczajnym adresie url) , jednakze mozna takze szukac bledow za pomoca metody POST (spreparowany ciag w zmiennych przekazywanych przez formularze), co staje sie juz bardziej zaawansowana technika. Aby zorientowac sie czy badana aplikacja sieciowa podatna jest na ataki sql injection metoda klasyczna nalezy odpowiednio spreparowac wartosci zmiennych przekazywanych do serwera. Jesli beda blady w zapytaniu sql ktore nie tworzy logicznej calosci (nie zwraca porzadanego wyniku) , apliakcje sieciowe 'wypluja' odpowiednie logi na badanej stronie (niekiedy w zrodle html w postaci komantarza!). Aby tego dokonac mozna stosowac sie do tych regul: http://adres_url/index.php?id=(wartosc) (wartosc) - moze przybierac rozne wartosci lub takze inny rodzaj zmiennej. przyklad: (-1) //wartosc -1 id klucza tabel bazy danych , zazwyczaj nie ma takiego klucza wiec powinien wyskoczyc blad. (-999999999999) //to samo co wyzej , tylko z ta pewnoscia ze napewno nie ma tak wysokiego klucza o wartosciach ujemnych. (999999999999999999999) //zazwyczaj w bazach danych malych witryn sieciowych nie ma tak duzego klucza w tabeli , powinien wyskoczyc blad. (ssssssssssssssssssssssssssssssss) //powoduje przypisanie do klucza ( zmiennej rodzaju integer ) , zmiennej rodzaju vchar , powinien wyskoczyc blad zapytania sql do bazy danych. (1') //powoduje blad w logicznym zapytaniu sql do bazy danych , jesli zauwarzymy blad wyswietlony na otrzymanej stronie bedziemy pewni ze strona nie posiada odpowiedniego filtrowania znakow , strona jest podatna na sql injection. Analizujac dane posuniecia jestesmy w stanie stwierdzic: -zmienna integer przekazywana do skryptu nie jest filtrowana poprzez wartosc tj: aplikacja nie widzi roznicy miedzy wartosciami 1 a -1 , traktuje je jako wartosc integer , przekazuje do zapytania sql. -ze w tabeli nie ma tak duzego klucza jak: (999999999999999999999) -nie sa filtrowane znaki vchar , sa traktowane jako integer i do tej wartosci przypisywane. swiadczyc to moze o tym ze strona moze nie posiadac zadnego filtrowania wartosci wejsciowych. -jesli (1') zwroci blad to jestesmy przekonani ze skrypt nie posiada najprawdopowdobniej zadnego filtrowania , strona najprawdopodobniej jest calkowicie podatna na ataki sql injection. *logiczny (wykorzystywany podczas atakow blind sql injection) Polega na wykorzystaniu odpowiednich warunkow logicznych w zapytaniach kierowanych do bazy danych. Manipulacja na warunkach logicznych moze pozwolic nam na okreslenie: -czy wartosc badanej zmiennej nie jest filtrowana -nazwy kolumn danej tabeli w bazie danych -nazwy tabel w bazie danych -ilosc kolumn zwracanych w wyniku zapytania sql z bazy -ilosc wierszy zwracanych w wyniku zapytania sql z bazy Jak wczesniej napisalem , wszystko jest robione wedlug okreslonych regul i na slepo , czesto stawiajac na wlasna intuicje i szczescie. Niekiedy programista piszac aplikacje sieciowe zamieszcza odpowiedni kod do wykrywania zauwazonych bledow poprzez analize wynikow bazy danych. Jesli aplikacja 'zauwazy' blad to moze: -zwrocic go na strone glowna (lub jako komentarz w kodzie html) -pozostawic szczegulne znaki w kodzie programu (dodatkowe spacje , nowe linie , znaki ktorych nie bylo podczas zwyklego zapytania) -moze przekierowac na strone bledu (na inna podstrone strony) -moze wyswietlic blad ze 'czegos' nie znalazlo w bazie. http://adres_url/index.php?id=(wartosc) Oryginalna wartosc to np 100 , (wartosc)=100 Teraz spreparowanie odpowiednich warunkow logicznych przyklad: (wartosc)=100 and 1=1 Jesli zauwazymy ten sam wynik strony (tj. te sama tresc strony wynikowej) mozliwe ze strona jest: -odpowiednio filtrowana (z wartosci 100 and 1=1 jest wyciagana tylko pierwsza wartosc integer tj: 100) -podatna na blind sql injection Nastepna czynnosc to: (wartosc)=100 and 1=2 Jesli zauwazymy ten sam wynik strony (tj. te sama tresc strony wynikowej) mozliwe ze strona jest: -odpowiednio filtrowana (z wartosci 100 and 1=2 jest wyciagana tylko pierwsza wartosc integer tj: 100) -nie podatna na sql injection Jesli zauwazymy jakies zmiany w tresci strony wynikowej tj. brak zawartosci strony , przekierowanie na bledna strone , dziwne znaki na stronie lub tez calkowity brak zawartosci strony to znaczy ze strona jest podatna na sql injection , aby jednak dowiedziec sie czegos wiecej o ewentualnym filtrowaniu badz innych udziwien programistow mozna stosowac dalsze czynnosci. Nastepna czynnosc to: (wartosc)=100 and 1=2 or 1=1 Jesli zauwazymy zupelnie inna zawartosc strony (np inny artykul , inny news) swiadczyc to moze ze strona jest calkowicie podatna na sql injection. Nastepna czynnosc to: (wartosc)=100 and 1=2 or id=100 (wartosc)=100 and 1=2 or ids=100 (wartosc)=100 and 1=2 or uid=100 Czynnosci te sluza do wykrywania nazw kolumn w tabeli bazy danych (mozna stosowac rozne popularne nazwy kolumn , czasem polskie , czasem angielskie) do pomocy przychodzi na szczescie nam kod strony , analizujac kod html mozna ustalic jakim programista sieciowym byl autor strony , czy pisal strone szybko , czy wolno i doklanie , jakie nazwy stosowal do opisywania obiektow jak i nazw parametrow w formularzach. Analizujac jego kod mozna postawic sie w jego miejscu , pomyslec o czym myslal piszac dany kod ...). Nastepna czynnosc to: (wartosc)=100 or 1=1 order by id desc/* (wartosc)=100 or 1=1 order by id asc/* Jesli bedziemy widziec inna zawartosc strony wynikowej bedziemy pewni ze strona podatna jest na sql injection. Teraz warto by okreslic ile wierszy jest wyswietlanych na stronie , zazwyczaj jest to jeden , ale moze sie zdarzyc ze wylistowac moze wiecej wierszy. przyklad (wartosc)=100 and 1=2 or 1=1 limit 0,1/* (wartosc)=100 and 1=2 or 1=1 limit 5,10/* itd. ============================================== 4. Filtrowanie. ============================================== Filtrowanie programisty moze polegac na: -zastepowaniu niebezpiecznych znakow \ = \\ * = \* " = \" wartosc|spacja|wartosc = wartosc+wartosc wartosc|spacja|wartosc = wartosc_wartosc -zastepowaniu kluczowych znakow jezyka sql union select insert drop limit where from into -zastepowaniu znakow logicznych and or && || -zastepowaniu wartosci niebezpiecznych (-999999999) wartosciami bezpiecznymi -999999999999999999<1 = 1 9999999999999999>10000 = 1 -analizowaniu wartosci i przypisywaniu tylko tej najbardziej rzeczywistej i odpowiedniej '1 and 1=1' = 1 '2 and 1=1' = 2 Widac ze poczatkowa wartosc jest przypisywana i dopiero po przefiltrowaniu pozostaje zbudowane zapytanie sql i otrzymane na jego podstawie wynik z bazy danych. wiec 'a and 1=1' = ? Nie powinno wogole dojsc do wykonania zapytania sql , jeszcze przed zapytaniem aplikacja sieciowa wykryla by blad i przkierowala na odpowiednia strone o bledzie lub wyswietlila go na oczekiwanej stronie. O filtrowaniu mozna sie wiecej dowiedziec podczas budowania odpowiednich zapytan sql , analizujac zapytanie sql i porownujac jaki powinien byc jego wynik z wynikiem rzeczywistym. ============================================== 5. Komentarze. ============================================== Komentarze sql sa bardzo pomocne przy budowaniu bardziej zlozonych zapytani sql do bazy danych. /* tekst miedzy znacznikami komentarza traktowany jest w zapytaniu sql jako np przerwa (spacja) miedzy wartosciami itd. Warto zauwazyc ze znaczniki takiego komentarza nie sa traktowane jako znaki niebezpieczne i czesto nie sa filtrowane , wiec moga symulowac spacje w kazdym zapytaniu sql */ po zamknieciu znacznika komentarza powinien znajdowac sie kolejne operanty zapytania sql , znak rozpoczecia komentarza wieloliniowego takze mozna stosowac na koncu kazdego zapytania sql , bez potrzeby jego zamkniecia. http://adres_url/index.php?id=100 and 1=2 or 1=1 limit 0,1/* Warto zauwazyc jakie pomocne sa komentarze na powyzszym zapytaniu , powoduja ignorowanie dalszych zaleznosci w klauzuli where zapytania sql. przyklad: select id,title,content,date from news where id=100 limit 0,1; select id,title,content,date from news where id=100 and 1=2 or 1=1 order by id desc limit 0,1/* limit 0,1; select id,title,content,date from news where id=100/**/and/**/1=2/**/or/**/1=1/**/order/**/by/**/id/**/desc/**/limit 0,1/* limit 0,1; przyklad: select id,title,content,date from news where date=4325512 order by date desc; select id,title,content,date from news where date=4325512 and 1=2 or 1=1 order by id desc/* order by date desc; select id,title,content,date from news where date=4325512/**/and/**/1=2/**/or/**/1=1/**/order/**/by/**/id/**/desc/* order by date desc; Istnieja rowniez komentarze jednoliniowe tj. ignorowane sa znaki zapytania sql do konca lini. -- # przyklad: select id,title,content,date from news where id=100 limit 0,1; select id,title,content,date from news where id=100 and 1=2 or 1=1 order by id desc limit 0,1-- limit 0,1; ============================================== 6. Omijanie filtrowania. ============================================== Waznym trikiem jest takze omijanie zabezpieczenia filtowania , jesli oczywiscie jest taka mozliwosc. Trik polega na odnajdywaniu na koncie strony skryptow lub klas ktore sa np wywolywane przez: -include -eval -include_once -require -require_once Zaluzmy ze strona posiada glowny index , ktory zajmuje sie rola typowego firewall , fitruje parametry i includuje odpowiednie skrypty. Mozna probowac znajdowac skrypty odpowiedzialne za poszczegulne funkcje serwisu , wykonywac je bezposrednio z odpowiednimi wartosciami parametrow. Technika bardzo zaawansowana lecz kiedy programista umiescil zabezpieczenie tylko w glownym indexie to dalsze skrypty nie posiadaja zadnego fitrowania i mozna sie do nich bezposrednio odwolac. Metoda polega na odgadywaniu nazw skryptow i paramterow. Paramtery to zazwyczaj klucze (id) , lub zmienne o tych samych nazwach ktore sa dolaczane go indexu strony. przyklad: http://adres_url/index.php?p=aktualnosci&id=120 http://adres_url/index.php?page=aktualnosci&id=120 http://adres_url/index.php?mode=aktualnosci&id=120 http://adres_url/index.php?str=aktualnosci&id=120 http://adres_url/index.php?use=aktualnosci&id=120 http://adres_url/index.php?view=aktualnosci&id=120 http://adres_url/aktualnosci_102_0.htm http://adres_url/aktualnosci.php?id=120 http://adres_url/aktualnosci.php4?id=120 http://adres_url/include/aktualnosci.php?id=120 http://adres_url/inc/aktualnosci.php?id=120 http://adres_url/class/aktualnosci.php?id=120 http://adres_url/page/aktualnosci.php?id=120 itd. ============================================== 7. Co daje sql injection. ============================================== Duzo osob sie pyta co daje sql injection. Wstrzykniecie kodu do zapytania bazy danych moze: -powodowac ze atakujacy zdobedzie dane uzytkownikow serwisu , administratora. Wykorzystujac je moze przejac konto ftp strony , poczte email , panel administracyjny zarzadzajacy skryptami strony , dostep do bazy danych -pozwolic dodac newsa na stronie a w nim odpowiednio spreparowany globalny kod xss , pozwalajac na zaawansowany atak na uzytkownikow strony -pozwolic dodac newsa na stronie a w nim odpowiednio spreparowany kod html (lub javascript), powodujacy wyswietlenie nieoczekiwanej strony (strona owned) -pozwolic na dokonanie operacji za posrednictwem php , wgrywanie shell'a ktory jest wykonywany po stronie serwera. -pozwolic na calkowite zawieszenie bazy danych , strona offline. ============================================== 8. Podsumowanie. ============================================== Jak widac za pomoca sql injection mozna dokonac bardzo duzo rzeczy, to czyni ten rodzaj bledow w aplikacjach sieciowych na bardzo wysokim poziomie. Zwracam sie do administratorow sieciowych z prosba o zadbanie o swoje serwisy , niechlujna prace nalezy dokonczyc i odpowiednio ja zabezpieczyc [...]

[chan] po_polsku
BM-2cX9uTshtCbunGLKok9MiFMhXmLhS4D47Y

Subject Last Count
Chiński wywiad złamał sekretny system łączności dla tajnych agentów CIA. Aug 18 22:52 2
Policja zatrzymała Polly Pocketa, brylującego w mediach włamywacza Aug 18 20:50 9
Rosyjska walka z USA Aug 18 20:18 3
Wolne od handlu niedziele nie spowodowały zmniejszenia obrotów sieci handlowych Aug 18 19:12 2
13-letnia Iwona zniknęła w biały dzień z ruchliwej ulicy w Tarnowskich Górach. Aug 18 18:43 1
87-latka zbierała kwiaty, miała nóż. Policja powaliła ją paralizatorem Aug 18 18:41 1
test Aug 18 18:35 18
Nowy Targ: Ksiądz podejrzany o pedofilię usłyszał akt oskarżenia. Miał skrzywdzić 9 dziewczynek Aug 18 18:28 4
JAK SKW OBCIĄGA. Aug 18 17:50 32
„Opozycja” straszy Kaczyńskim, a PiS podaje konkrety Aug 18 11:42 1
JEBAC KURWE POLICJE Aug 18 09:57 43
Test DNA na ojcostwo. Brak zaufania, czy rozsądek? Aug 17 21:13 3
Podrzucili prezydentowi Czech dziecięce porno Aug 17 19:59 3
USA: Katoliccy księża kręcili dziecięcą pornografię w kościelnych budynkach Aug 17 19:54 3
Pedofilsko-prawne paradoksy Aug 17 19:54 3
Im mniej anonimowości w internecie, tym lepiej Aug 17 19:54 2
Pedofilia – histeria? Aug 17 19:54 3
Pedofil obmacywał dziewczynkę na Rynku w biały dzień Aug 17 15:13 1
Folksdojcz broni ruskiej zielonej kurewki Aug 17 14:32 1
młodzian w skórę odzian Aug 17 14:14 1
Polskie służby mają czym śledzić. "Wszystko jest do odszukania" Aug 17 12:57 3
wpływ seksu Aug 17 12:48 2
lewacka "logika" Aug 17 12:08 1
Facebook rozpozna użytkowników samobójców Aug 17 11:31 1
Po wyroku Aug 17 11:30 1
Szyfrowanie danych: oskarżeni o posiadanie pornografii dziecięcej nie korzystają z praw procesowych? Aug 17 11:23 1
Miller wymuszał na swojej ekipie śledczych by doszli do takich samych wniosków, co Rosjanie Aug 17 11:23 1
10 mitów na temat Internetu Aug 17 11:15 1
Kobieca seksualność Aug 16 21:10 1
Obcy Wam nadal Dmowski, nawet Piłsudski, Jagiełło? Aug 16 19:24 1
Ruska zielona kurewka skamle na Twitterze Aug 16 19:24 1
Pedofil z Żywca zatrzymany. Łowca Pedofilów zastawił pułapkę Aug 16 19:24 16
Powiązana z Kremlem słynna fabryka trolli Aug 16 19:24 1
Putinowska zielona kurewka wyrzucona z obszaru UE Aug 16 19:24 23
Sprzątanie krajobrazu stolicy z ruskich śmieci Aug 16 19:21 1
Wykończymy tych Polaków na dobre! Aug 15 18:25 1
Życzenia Ambasady USA dla polskich żołnierzy Aug 15 18:24 1
Napisała na Twitterze Ambasada USA w Warszawie Aug 15 16:39 1
Dzielny człowiek samotnie rzucił wyzwanie sowieckiemu imperium zła Aug 15 16:39 1
Pedały z PiS dały bez masła dupy stalinowskim dziadkom z PKW Aug 15 16:07 1
Udział amerykańskich żołnierzy w defiladzie z okazji Święta Wojska Polskiego Aug 15 16:04 1
Putin musi szykować nową obrończynię konstytucji Aug 15 13:06 1
Jak kończą dupolizy Pekinu i Kremla Aug 15 07:45 1
GÓWNOJADY Aug 14 20:59 3
Siedemnastoletnia cichodajka daje mi dupy Aug 14 16:59 5
Z bolszewikami jest jak z opętanymi Aug 14 13:56 1
Strona internetowa ujawni torrenty, które pobrałeś Aug 14 13:45 2
Wielkie sprzątanie Internetu w Chinach Aug 14 13:45 2
Kilka kropel Rohypnolu - i można się bawić! Aug 14 13:45 2
Jak zabezpieczyć komputer przed milicją Aug 14 13:43 17
celowe obniżenie poziomu Aug 14 12:57 2
Windows 10 (chyba PRISM edition) - warte przemyślenia Aug 14 12:11 1
To ja, Ciekawyy! Hihihihi! Aug 14 12:11 1
niektóre sposoby myslenia i zasady pomyslów Aug 14 12:11 1
LOG Aug 14 12:11 1
WYGRYWACZ PIĄTKOWY Aug 14 12:11 1
komunistyczna władza Aug 14 12:11 1
Ześlij nam mądrość swoich nauk! Aug 14 12:11 1
sa dwie kwestie Aug 14 12:11 1
Facebook …. nie uwierzysz, co oni o nas wiedzą !!! Aug 14 12:11 1
czesc chlopaki Aug 14 12:11 1
FBI rzekomo złamało 30-znakowe hasło do ukrytego wolumenu TrueCrypta Aug 14 12:11 1
Mnie zawsze fascynowalo to Aug 14 12:11 1
Renowacja Cebulki, czyli jak psy kupiły nieużywane forum. Aug 14 12:10 1
Czy warto? Aug 14 12:10 1
Czy da się zwiększyć ilość iteracji? Aug 14 12:10 1
kurwa Aug 14 12:10 1
Zrezygnowali ze ścigania pedofila, by nie ujawniać technik śledczych Aug 14 11:44 1
Użytkownicy poszukiwali Aug 14 11:33 1
Mogli biegać po mieście z podsłuchami, agentami i prowokatorami Aug 13 15:33 1
Wykorzystanie systemu PESEL w pracy operacyjnej tajnych służb Aug 12 20:26 1
Jak wielką rolę miały dla III RP zamknięte archiwa wojskowe Aug 12 12:09 1
Wyzwiska i kopanie uczestników 100. miesięcznicy. Aug 12 06:55 1
Ewa Gawor, która rozwiązała Marsz Powstania Warszawskiego Aug 12 06:53 1
Kalifornijski sąd skazał koncern Monsanto Aug 12 00:05 4
W rosyjskich aresztach i więzieniach znajduje się 71 obywateli Ukrainy Aug 11 20:20 1
Dolar zruwna się ze złotówka Aug 11 18:54 5
LOOGIEPRESS Aug 11 15:12 1
"Bracia-Słowianie" Aug 11 13:33 1
Bit Minion Remailer + Bitmessage Relay Overlay Aug 11 12:06 7
katolicyzm jest lepszy od „rodzimowierczego szamanizmu” Aug 11 08:21 2
Francja: pedofil z Afryki: W Sudanie całowanie chłopców w genitalia to nic złego Aug 10 22:11 1
O putinowskiej zielonej kurewce z Gdańska i dziwce ze WSI, Komorowskim. Aug 10 16:47 1
Andrzej Duda, ruska kurwa udająca prezydenta Polski zaśmieca Marynarkę starym złomem Aug 10 15:26 1
Jest decyzja sądu ws. ekstradycji twórcy portalu Megaupload Aug 10 14:48 18
Wielka Brytania zadowolona z działań USA Aug 10 12:02 1
Możemy ponad wszelką wątpliwość stwierdzić, że w lewym skrzydle nastąpiła eksplozja Aug 10 12:01 1
Kolejne sankcje na Rosję Aug 10 12:01 1
"Bracia-Słowianie" w praktyce Aug 9 20:28 1
BMR + BRO = Bit Minion Remailer + Bitmessage Relay Overlay Aug 9 18:04 1
Udająca prezydenta Polski ruska dziwka Andrzej Duda instaluje kolejną marionetkę WSI Aug 9 16:14 1
Biała kobieta urodziła czarne dziecko Aug 9 14:17 5
Nauczyciel z podstawówki molestował uczennice. Ofiarą pięć dziewczynek Aug 9 14:15 2
Luki zabezpieczeń w aplikacji WhatsApp – hakerzy mieli dostęp do rozmów użytkowników Aug 9 13:21 1
Osobie odpowiadającej za cyberbezpieczeństwo w UE nie udało się włączyć Linuxa. Aug 9 13:20 1
Udająca prezydenta Polski ruska dziwka Andrzej Duda zaprasza zdrajców z WSI na Święto Wojska Polskiego Aug 9 11:17 1
Sprawa samobójczej śmierci 14-letniej Pauliny 23.10.2014 Aug 9 10:57 1
Ubuntu jest taki fajny i wygodny Aug 8 16:37 3
Bo platforma QubesOS jest taaaaka bezpieczna Aug 8 15:05 5
Sowieckie adwokacie kurewki zaczynają fikać Aug 8 14:24 1