Paweł Goleń, blog

Za dużo tego wszystkiego, momentami naprawdę ciężko się zdecydować, z którego narzędzia korzystać. W efekcie korzystam z (prawie) wszystkich po trochu.

Czytaj dalej...

Jakiś czas temu kupiłem sobie słuchawki Jabra Sport Wireless+. Generalnie zakup dość udany z pominięciem jednego szczegółu – słuchawki ostatnio odmówiły współpracy. Wygląda tak, jakby uszkodził się jeden z przycisków głośności (pozostał w stanie na trwałe wciśniętym) w związku z czym nie ma możliwości użycia jakiegokolwiek innego przycisku, w tym włączenia/wyłączenia słuchawek. Zobaczymy, czy uda się skorzystać z gwarancji... Na razie wypełniłem formularz i czekam na kontakt.

Oryginał tego wpisu dostępny jest pod adresem Jabra Sport Wireless+

Autor: Paweł Goleń

Tak w ramach ciekawostki – przykładowy URL:

https://wampir.mroczna-zaloga.org/?q=!"#$%25&'()*+,-./:;<=>?@[]^_`{|}~

I teraz rezultat window.location.toString() w różnych przeglądarkach:

Firefox

https://wampir.mroczna-zaloga.org/?q=!%2522#$%25&%2527()*+,-./:;%253C=%253E?@[]^_%2560{|}~

Chrome

https://wampir.mroczna-zaloga.org/?q=!%2522#$%25&'()*+,-./:;<=>?@[]^_`{|}~

Internet Explorer

https://wampir.mroczna-zaloga.org/?q=!"#$%25&'()*+,-./:;<=>?@[]^_`{|}~

Edge

https://wampir.mroczna-zaloga.org/?q=!"#$%25&'()*+,-./:;<=>?@[]^_`{|}~

Sytuacja wygląda jeszcze ciekawiej, gdy zamiast tego użyje się window.location.search (trzeba usunąć znak # bo inaczej większość wchodzi w window.location.hash (do sprawdzenia we własnym zakresie).

O co chodzi? Coś, czego nie można wykorzystać w Chrome czy Firefox jak najbardziej może być exploitowalnym XSS w Edge / IE.

Oryginał tego wpisu dostępny jest pod adresem DOM-based XSS

Autor: Paweł Goleń

Tak, Mikko Hypponen i jego State of The Net zgodnie z (moimi) oczekiwaniami dał radę. Z Mikko jest tak, że choć w zasadzie dobrze wiadomo co będzie mówił, to opowiada to w taki sposób, że zainteresuje słuchacza i dokładnie tak było na CONFidence. Pod względem “efekciarstwa” – podobało mi się gasnące światło, choć też widziałem to nie pierwszy raz w jego wykonaniu: Mikko Hypponen: Fighting viruses, defending the net.

Czego mi brakowało – tego selfie z mainframe :)

P.S: Spiskowa teoria dziejów – Mikko wspomniał, że F-Secure wprowadził do oferty pentesty i udało im się osiągnąć założone cele w każdym ze zleceń. Pytanie – z jakiego oprogramowania antywirusowego/zabezpieczającego korzystały testowane firmy? F-Secure? :)

Oryginał tego wpisu dostępny jest pod adresem CONFidence 2016: “State of The Net”

Autor: Paweł Goleń

Chodzi mi o tę prezentację: Wordlists: from statistics to genetic. W skrócie – wykorzystanie algorytmów genetycznych do stworzenia słownika (kombinacji istniejących słowników), który jest “lepszy”. Ta “lepszość” słownika ma przejawiać się większą skutecznością przy mniejszym rozmiarze, a więc i czasie łamania hashy haseł.

O ile sam temat i zastosowanie podejście jest ciekawe, mam pewien problem z implementacją. Pytanie – względem czego była sprawdzana skuteczność słowników? Z odpowiedzi udzielonej przez prowadzącego – skuteczność słownika była ewaluowana na hasłach (hashe), które można znaleźć w sieci (wyniki wycieków).

Super. A na jakiej podstawie tworzone są słowniki? Czy przypadkiem nie na podstawie tych samych wycieków i haseł, które udało się złamać?

O co mi chodzi? Z prezentacji wynika, że “mutacje” odbywały się na poziomie całego słownika (docelowy słownik składał się z N słowników, np. 500 worst passwords , rockyou , (...)). Co z tego wynika? Jeśli jako materiał testowy wykorzystane są hashe z wycieku X siłą rzeczy najlepsze będą te kombinacje słowników, które zawierają listy powstałe na podstawie tego wycieku. Dlaczego? Dlatego, że standardowym podejściem przy łamaniu hashy z wycieku X jest wykorzystanie (wszystkich) dostępnych słowników. W efekcie nowa lista jest najbardziej efektywna dla tej populacji hashy.

Podsumowując – ciekawszym podejściem byłoby użycie jako danych testowych/referencyjnych populacji hashy, które na pewno nie były użyte do stworzenia słowników użytych w eksperymencie. Najlepiej dwóch takich populacji – jednej w trakcie “ewolucji” słowników, a drugiej – do sprawdzenia skuteczności otrzymanego słownika. Bardzo jestem ciekawy wyników tego porównania.

Oryginał tego wpisu dostępny jest pod adresem CONFidence 2016: “Wordlists: from statistics to genetic”

Autor: Paweł Goleń

Trochę nawiązanie do wcześniejszego wpisu (Jak serwować payload bezpośrednio z Burp?). Generalnie pytanie brzmi – jak wstawić payload.

Czytaj dalej...

Ten blog ma już 10 lat... Nie będzie wspomnień, podsumowań, (...). Ot tak, z ciekawości kiedyś zajrzałem na datę pierwszego wpisu i trochę się zdziwiłem, że to już taki szmat czasu.

Oryginał tego wpisu dostępny jest pod adresem 10 lat

Autor: Paweł Goleń

To jest pytanie, nie odpowiedź. Generalny scenariusz – payload XSS można podzielić na dwie części: “loader” i “payload właściwy”. Zamiast zwyczajowego alert(0) do potwierdzenia, że XSS jest rzeczywiście exploitowalny można wstrzyknąć działający loader, który załaduje PoC z zewnętrznego serwera. Taki scenariusz pozwala pokazać, że ewentualne kontrole dodatkowe / kompensacyjne (np. WAF, CSP) nie działają.

Czytaj dalej...

Mam taką małą zagadkę – od kilku dni serwer zwraca niektóre pliki ze złym Content-Type a do tego w przypadku kilku plików (statycznych) serwer zwraca błąd 500. Ciekawe, jak będę miał więcej czasu (święte nigdy) to przyjrzę się temu dokładniej.

Oryginał tego wpisu dostępny jest pod adresem Zagadka

Autor: Paweł Goleń

“Nie lubię” to może trochę za mocno powiedziane. Generalnie chodzi o konfrontację wspomnień (wyobrażeń) z bieżącą rzeczywistością , która często skrzeczy (dosłownie). Przykład: Paradise City. I dla porównania wersja '92 oraz wersja płytowa. Jeśli trzymamy się wersji koncertowych – te (prawie) 25 robi zauważalną różnicę...

Oryginał tego wpisu dostępny jest pod adresem Dlaczego nie lubię koncertów

Autor: Paweł Goleń