Paweł Goleń, blog

W TOK FM jest sobie audycja OFF Czarek. W ramach tej audycji pojawił się cykl Oto Słowa Pańskie , w którym analizowane są wypowiedzi polityków. Analizowane pod kątem retoryki. Warto posłuchać.

Oryginał tego wpisu dostępny jest pod adresem Jak (słabo) mówią politycy

Autor: Paweł Goleń

jQuery to fajna biblioteka, która pozwala robić wiele rzeczy w łatwy sposób. Ale to, że coś można zrobić wcale nie znaczy, że należy to robić...

Pomarudzę – kiedyś było lepiej, zrobienie pewnych rzeczy wymagało większej ilości kodu, więc się ich po prostu nie robiło. Nie, nie chodzi mi o to, by z możliwości dawanych przez jQuery nie korzystać, ale o to, by robić to z głową. W przeciwnym wypadku powstają aplikacje nieintuicyjne i nieużywalne, ale za to tak wesoło błyskające kolorkami i naładowane innymi efektami. Ech...

Nie, nie mam nic do folkloru, ale (nad)używanie jQuery w aplikacjach internetowych jest tak samo praktyczne, jak (przykładowo) paradowanie na co dzień w krakowskim stroju ludowym z pawim piórkiem przy czapce...

Oryginał tego wpisu dostępny jest pod adresem jQuery – wieś tańczy i śpiewa

Autor: Paweł Goleń

Dziś trafiłem na taki artykuł: Rząd chce prześwietlić szkoły i stworzyć e-bazę. Rodzice mówią “nie”. Tytuł może niezbyt dobrze oddaje treść artykułu, a właściwie sedno pomysłu, a chodzi o (pomijając kompletnie niezrozumiałą dla mnie składnię, w szczególności rozpoczęcie zdania od jednak , choć jego treść tego nie uzasadnia):

Projekt zmieniający SIO to część rządowego planu budowy e-państwa. Zakłada on m.in. stworzenie ogólnopolskiej cyfrowej bazy danych, w której każdy uczeń miałby swoją rubrykę, gdzie byłyby zapisywane różnego informacje dotyczące historii jego edukacji , np. wypadki, uczestnictwo w zajęciach pozalekcyjnych, promocja do następnej klasy albo repeta. Dane łatwo przyporządkować do konkretnej osoby , bo w systemie znajdzie się numer PESEL ucznia. Jednak znajdą się tam np. opinie psychologów, z których pomocy korzystał uczeń. (...)

Czytaj dalej...

Dość dawno temu popełniłem kilka wpisów dotyczących TrueCrypt, między innymi wpis W poszukiwaniu kontenera TrueCrypt. Pokazałem w nim, że teoretycznie istnieje możliwość znalezienia kontenera TrueCrypt nawet wówczas, gdy informacja o jego lokalizacji została utracona. Szansa powodzenia jest dość duża w przypadku, gdy plik (kontener) znajduje się w jednym kawałku. Problem zaczyna się wówczas, gdy plik jest sfragmentowany. Dziś chciałem pokazać nieco inny scenariusz odzyskiwania kontenera, tym razem z wykorzystaniem pozostałości $Mft.

Do tematu wracam, bo w ciągu kilku ostatnich dni pojawiły się dwa pytania o możliwość odzyskania utraconego kontenera TrueCrypt, jedno z nich w komentarzu do starszego wpisu, drugie – mailem.

Czytaj dalej...

Eben-Emael czy Linia Maginota się nie sprawdziły. Bo druga wojna światowa nie była taka, jak ta pierwsza. Mówi się, że “generałowie przygotowują swoje armie do wojny, która już była”. Mam czasem wrażenie, że podobne zachowania w zakresie bezpieczeństwa, nie tylko bezpieczeństwa IT, również nie są niczym niezwykłym...

Oryginał tego wpisu dostępny jest pod adresem Wojny, które już były

Autor: Paweł Goleń

Takie nawiązanie do wpisu Jak bardzo można ufać swojemu oprogramowaniu?, w szczególności do jednego z komentarzy, jego fragment:

(...) Z punktu widzenia użytkownika lepsza jest sytuacja z wykryciem i naprawieniem błędów “hurtowo” – dłużej używa bezpieczniejszego softu. (...)

Wiele razy powtarzałem, że bezpieczeństwa nie buduje się przez przyklejanie łatek. Zastanawiałem się jaką wykorzystać analogię by obrazowo wytłumaczyć dlaczego. Chyba w końcu mam pomysł – nasze wspaniałe drogi!

Czytaj dalej...

Był sobie przykład, takie wyzwanie. Żył sobie spokojnie, aż przyszedł ^koto, miał trochę zabawy i go zmiażdżył :) Gratulacje! Przy okazji warto polecić blog Krzyśka, przypomnieć o projekcie XSS-Track (brał udział w Top Ten Web Hacking Techniques of 2010 ) i o szkoleniu Hacking HTML5 jego autorstwa.

Dla porządku trzeba odnotować również dwa wcześniejsze raporty, których autorem jest Ice. Zainteresowani walką z tym przykładem (można kopać leżącego) mogą również skorzystać z pierwszego pakietu wskazówek, które udostępniłem w ramach wyjaśnień. Myślę, że takich pakietów pojawi się jeszcze kilka.

Czy będzie kolejna wersja tego zadania? Przypuszczam, że tak. To, że błędy zostały zaraportowane wcale nie znaczy, że w kolejnej wersji wszystkie muszą być poprawione skutecznie :)

EDIT: How to get SQL query contents from SQL injection flaw

Oryginał tego wpisu dostępny jest pod adresem Bootcamp XXV: był sobie przykład

Autor: Paweł Goleń

Liga broni, liga radzi, liga nigdy cię nie zdradzi!

Tak się zastanawiam ile osób zostało obrobionych w trakcie czytania tego komunikatu...

Oryginał tego wpisu dostępny jest pod adresem Rozpraszacze (uwagi)

Autor: Paweł Goleń

Jedną z usług Google są Google Groups. Pozwala ona między innymi na tworzenie grup dyskusyjnych. Mam jedną taką małą grupę pod opieką, grupa ta w zasadzie pełni rolę listy dystrybucyjnej. Jest to grupa zamknięta, zapisać się na nią mogą wyłącznie osoby zaproszone, adres do listy może dodać również moderator.

Pora na zagadkę – w pewnej chwili jedna z osób zapisanych na grupę zgłosiła mi, że otrzymała wiadomość wysłaną na grupę na adres inny niż ten, który został do grupy dodany. Po sprawdzeniu listy adresów okazało się, że adres taki rzeczywiście znajduje się na liście od, uwaga, ponad dwóch miesięcy(!) Sprawdziłem eksport listy adresów z tego okresu i... tego “nowego” adresu na niej nie było. To jeszcze nie wszystko. Okazało się, że z listy zniknął właściwy adres osoby zgłaszającej problem. W zasadzie wyglądało to tak, jakby adres prawidłowy został zastąpiony innym adresem. Co więcej nowy adres nie należał do tej osoby, ale osoba ta była z nim, nie wdając się w szczegóły, powiązana. Cuda? A może błędy W GMatrix?

Oryginał tego wpisu dostępny jest pod adresem Googlozagadka

Autor: Paweł Goleń

Moje ostatnie wyzwanie utknęło na dwóch rozwiązaniach. Do jego trzeciej wersji (http://bootcamp.threats.pl/lesson25b/) nie otrzymałem do tej pory żadnego zgłoszenia. Zarówno zgłoszenia błędu, jak i “dowodu”, że błędu/błędów w tej wersji już nie ma.

W ramach podpowiedzi pytanie naprowadzające – czy jest możliwość rozróżnienia sytuacji, w której żadne dane nie są wyświetlane, bo zapytanie SQL ich nie zwróciło i sytuacji, w której dane nie są wyświetlane, bo wystąpił błąd w trakcie wykonania zapytania SQL?

I jeszcze jak wyglądają w tym przykładzie następujące kwestie (ASVS):

  • V5.2 Verify that a positive validation pattern is defined and applied to all input.
  • V5.3 Verify that all input validation failures result in input rejection or input sanitization.

Oba pytania z sekcji V5 – Input Validation Verification Requirements.

Oryginał tego wpisu dostępny jest pod adresem Bootcamp XXV – hint

Autor: Paweł Goleń