Przeglądasz posty z kategorii: "Security"
wrz
27

header() to nie zabezpieczenie

autor: p____h  //  ::medium::, Security  //  komentarzy 5

Dzisiaj pod lupę postanowiłem zaciągnąć bardzo często używaną funkcję header(). Właściwie nie tyle samą funkcję,  co jej złe wykorzystanie. Oto jak wygląda kod, z którym zetknąłem się już kilka razy:

<?
if( !isset( $_SESSION['session']["authCode"] ) )
	header("Location: login.php");
echo "WTF is wrong with my awesome code?!";
?>

A poniżej słów kilka dlaczego jest on zły.

Czytaj dalej »»

sie
19

HTML5, a zabezpieczenia obrazków przed kopiowaniem

autor: p____h  //  ::medium::, Security  //  komentarzy 6

Wszystko co wyświetlane jest po stronie klienta jest w praktyce niemożliwe do zabezpieczenia przed kopiowaniem. Jedynym sposobem jest utrudnienie kopiowania, tak, aby dla przeciętnego Kowalskiego było ono zbyt trudne do osiągnięcia, a dla robotów przeczesujących Sieć – nieopłacalne (ze względu na czasochłonność wydobycia odpowiednich danych).
Poniżej prezentuję garstkę lekkich przemyśleń jak można taki efekt osiągnąć (działa tylko dla małych obrazków, wymiary 256×256 zajmują jeszcze znośny czas generowania).
W skrócie, co chcemy osiągnąć: zablokowania możliwości skopiowania metodą zapisz jako/PrintScreen/podania bezpośredniego linka do obrazka.

Czytaj dalej »»

sie
11

ANDROID_ID vs iOS UDID 1:0

autor: p____h  //  ::easy::, Security  //  Możliwość komentowania ANDROID_ID vs iOS UDID 1:0 została wyłączona

Metody identyfikacji danego urządzenia zawsze wywoływały pewne kontrowersje wśród samozwańczych (i tych niesamozwańczych) obrońców prywatności w Internecie. Rzućmy okiem na dwa produkty – jeden od Apple, drugi od Google.

Czytaj dalej »»

lip
19

Zabugowane błędy

autor: p____h  //  ::easy::, Security  //  Możliwość komentowania Zabugowane błędy została wyłączona

Dzisiaj trochę o PHP – z naciskiem na argumenty dlaczego error_reporting() jest dobry i powinno się z niego korzystać. Niestety, bardzo rzadko spotykam się z kodami, w których figuruje banalna linijka: error_reporting(0);
A szkoda – błędy wypluwane przez interpreter powinien widzieć tylko administrator (serwer produkcyjny?), a komunikację z użytkownikiem powinno zapewniać napisane GUI.

Czytaj dalej »»

lut
27

ZeuS – kilka słów o nim

autor: p____h  //  ::medium::, Security  //  komentarze 2

Banki zaczynają ostrzegać o niebezpieczeństwie. Do polskiej sieci zawitała wersja ZeuSa, która potrafi omijać dwuskładnikowe uwierzytelnienie. Pojawia się coraz więcej informacji o tym malware. Rzućmy okiem na pare szczegółów opisujących jego działanie.

Czytaj dalej »»

sty
27

Historia zapytań MySQL

autor: p____h  //  ::easy::, Forensic, Security  //  Możliwość komentowania Historia zapytań MySQL została wyłączona

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 »»