Przeglądasz posty z daty: "styczeń, 2011"
sty
27

Historia zapytań MySQL

Załóżmy, że mamy pełny dostęp do maszyny pewnego użytkownika (logowanie przez SSH na konto roota). Załóżmy również, że jesteśmy wyjątkowo chciwi i chcemy poznać hasło właściciela przechowywane w bazie MySQL. Sprawę niech skomplikuje fakt, że wszystko trzymane jest w postaci zahashowanej algorytmem SHA-1. Zero szans na łamanie hasła metodami brute-force/tablicami tęczowymi. Jedyną iskierkę nadziei daje fakt, że kiedyś root wpisywał to hasło w SQL shell-u posługując się zapytaniem:
INSERT INTO tajne (my_password) VALUES (sha1('tajne_haselko'))
A to już wiele zmienia.

Czytaj dalej »»

sty
8

Diabeł tkwi w szczegółach precyzji

autor: p____h  //  ::easy::, Security  //  brak komentarzy

Pamięć komputera jest skończona. Zastanówmy się przez chwilę, co może wydarzyć się, gdy będziemy chcieli przechować w niej liczby, o nieskończonej ilości cyfr – na przykład ułamki. Zajmijmy się liczbami zmiennoprzecinkowymi, zapisanymi w notacji naukowej. W reprezentacji taką liczbę dzieli się na dwie części: significand (mantysa) oraz exponent (mówi, o ile miejsc należy przesunąć przecinek). Przykładowo dla pary (significand/exponent) 1.246/2 otrzymamy liczbę 124.6 (1.246e2 w notacji naukowej).

Oczywiście nie można zapisać w pamięci liczby zmiennoprzecinkowej z bezbłędną dokładnością. Stosuje się pewne przybliżenia, które mogą wpłynąć na wynik. Co jednak stanie się, gdy dla danej liczby algorytm aproksymacji niewypali?
Czytaj dalej »»