Skocz do zawartości
Forum
Regulamin

Zasady i wytyczne obowiązujące wszystkich użytkowników

Administracja

Poznaj zespół moderatorów i administratorów dbających o społeczność

Ranking Użytkowników

Zestawienie najbardziej aktywnych członków naszej społeczności

Serwery
Bany CS2

System banów na serwerach Counter-Strike 2

Bany CS 1.6

System banów na serwerach Counter-Strike 1.6

Sklep CS2

Dostęp do usług premium i przywilejów na serwerach CS2

Sklep CS 1.6

Oferta usług VIP/SVIP dla graczy Counter-Strike 1.6

Odwołaj się od bana

Oficjalna procedura odwoławcza dla zablokowanych graczy

Społeczność
Wydarzenia

Kalendarz turniejów, konkursów i integracyjnych spotkań graczy

Discord

Dołącz do naszej społeczności na discordzie

Aktualności

Bieżące informacje dotyczące serwerów i środowiska CS

Pomoc

Przewodniki, poradniki i wsparcie dla wszystkich użytkowników

Nowy szablon forum
csowicze.pl


Przygotowaliśmy dla Was nowy wygląd forum! Na pewno znajdziecie rzeczy, które można ulepszyć. Dajcie nam znać w dedykowanym wątku. Wasza opinia jest dla nas ważna!

Czytaj więcej

Największy spamer czatbox'a! Weź udział kolejnej edycji konkursu!


Wraz ze startem nowej odsłony forum ruszamy z kolejną edycją konkursu spamer czatbox'a! Do wygrania fajne nagrody w tym $$$$

Czytaj więcej

Csowicze – Odświeżona Odsłona | Parę Ważnych Informacji


Wracamy po krótkiej przerwie... Przeczytaj ogłoszenie by być na bieżąco!

Czytaj więcej

Nasze serwery

  • Counter-Strike 1.6 Counter-Strike 1.6
    • Nowy ONLY DD2 - PRACE
    • 51.77.39.131:27016
    • 0 / 32 graczy
    • mapa:


      de_prodigy

    • Właściciel:

        • Właściciele
        • Mapa de_prodigy
        • Protokół source
        • Procentowe wypełnienie 0%
        • Najwięcej graczy 1
  • Counter-Strike 2 Counter-Strike 2
    • Nowy Only Mirage
    • mirage.csowicze.pl
    • 2 / 20 graczy
    • mapa:


      de_mirage

    • Właściciel:

  • Minecraft Minecraft
    • MC - Survival - (1.21.4/5)
    • mc.csowicze.pl
    • 0 / 30 graczy
    • mapa:


      world

    • Właściciel:

        • Właściciele
        • Mapa world
        • Protokół gamespy3
        • Procentowe wypełnienie 0%
        • Najwięcej graczy 3
  • Teamspeak 3 Teamspeak 3
    • Nowy TS3 - Csowicze
    • ts3.csowicze.pl
    • 3 / 32 graczy
    • Właściciel:

        • Właściciele
        • Protokół teamspeak3
        • Procentowe wypełnienie 9%
        • Najwięcej graczy 3
  • Discord Discord
    • DC CSowicze
    • Kliknij przycisk Połącz
    • 34 / 34 graczy
    • Właściciel:

  • 9 Wszystkich serwerów
  • 65 / 268 Wszystkich graczy
  • 24% Zapełnienie serwerów

Rekomendowane odpowiedzi

Napisano

SQL_Injection_tutorial.png

 

Witam. W tym artykule chciałbym wam przedstawić podstawy chyba najpopularniejszego ataku na strony WWW, czyli SQL Injection. Zanim zabierzemy się do zabawy, najpierw trochę teorii.

SQL Injection (ang. "wstrzyknięcie" SQL) - atak polegający na wykorzystaniu luki w języku SQL. Dzięki niewłaściwemu filtrowaniu lub przez brak doświadczenia administratora, atakujący może uzyskać dosłownie wszystko. Od treści pisanych na stronie, przez dane personalne użytkowników, po hasła i loginy administratorów i użytkowników.


Blind SQL Injection - tzw. "ślepy" atak. Jest to zaawansowana forma SQL Injection. Nazwa wzięła się od techniki ataku, bowiem, żeby uzyskać jakieś dane, musimy zgadywać. Ten rodzaj ataku nie zwraca błędów, dzięki czemu wiemy że atak jest skuteczny.

Jeżeli mniej więcej wiemy co to jest zacznijmy zabawę. Wyobraźmy sobie stronę o następującym kodzie HTML:

<br />
Login:<br />
Hasło: </p>
<p>

Na serwerze kod PHP odpowiadający za logowanie i weryfikowanie hasła będzie wyglądał tak:

S_elect USER_ID FROM USERS WHERE (LOGIN='$login') AND (PASS='$haslo')

Załóżmy że na stronę loguje się administrator więc zmienne $login i $haslo zamieniają się na dane wpisane przez użytkownika. Administrator loguje się loginem: "admin" i hasłem: "jfp!#EF12Ac" więc nasz kod PHP teraz przedstawia się tak:

S_elect USER_ID FROM USERS WHERE (LOGIN='admin') AND (PASS=' jfp!#EF12Ac')

A co będzie jeśli w polu hasła wpiszemy:

OR 1'='1

Języki programowania nie wiedzą co ma na myśli ten co je układa, lecz kierują się zasadami logiki i matematyki. Jak wiemy zawsze 1 jest równe 1. Więc możemy wtedy uzyskać dostęp do strony bez wykradania hasła. Te zapytanie składa się z sumy logicznej dwóch warunków: pierwszego który jest fałszywy (no chyba że administrator nie ma założonego hasła, co jest mało prawdopodobne), i drugiego który jest zawsze prawdziwy. Zapytania można dowolnie modyfikować. Przykład:

W polu loginu wpiszmy: "admin' )-", a otrzymamy:

S_elect USER_ID FROM USERS WHERE (LOGIN='admin') --') AND (PASS='a')

W języku SQL dwa myślniki oznaczają komentarz, czyli część kodu, która zwykle służy administratorowi w odnalezieniu się w poszczególnych częściach kodu. Jeżeli administrator nie ma umiejętności możemy wykonać wiele kodów taką łatwą sztuczką. Oto kilka przykładów:

<br />
') DELETE FROM USERS --<br />
') D_rop DATABASE HASLO --<br />
'); exec master..xp_cmdshell 'iisreset /stop' --<br />

To były ataki uzyskania dostępu za pomocą pola logowania, lecz są bardziej efektywniejsze i najczęściej spotykane ataki. A mianowicie ataki na pole adresu. Wpisując odpowiednie instrukcje SQL możemy uzyskać wszystko z podatnej strony. Zobaczmy jak.
Wchodzimy sobie na stronę, której adres wygląda mniej więcej tak:

http://www.stronapodatna.com/?id=65

"?id=" jest to zmienna odpowiadająca zwykle za poszczególne artykuły, newsy itp. Żeby zobaczyć czy strona jest podatna na atak SQL Injection wpiszmy zamiast 65, -1 lub sam apostrof ('). Czyli adres powinien wyglądać tak:

http://www.stronapodatna.com/?id=-1

Jeżeli na stronie pojawi się jeden z błędów, to strona jest podatna na atak. Powinny pojawić się takie błędy:

Warning: mysql_fetch_array, Warning: mysql_fetch_row, Warning: mysql_fetch_assoc

Oczywiście nie musi to być koniecznie ?id= bądź liczba -1. Liczbę możemy wstawić dowolną, lecz na minusie, a zmienne wiele stron wprowadza inne. Lecz sam fakt podatności strony nie satysfakcjonuje nas zbytnio. Musimy teraz sprawdzić ilość kolumn. A więc wklepujemy następujący kod:

http://www.stronapodatna.com/?id= 65 U_nion S_elect 1/*

Liczba 1 po słowie S_elect oznacza liczbę kolumn. Strony mają raczej więcej kolumn niż 1 więc zostanie nam zwrócony błąd, a jeśli jest błąd to próbujemy dalej. Wpisujemy 1,2 potem 1,2,3 i tak dalej, aż nie pokaże nam się żaden błąd, i wyświetli się nam jakaś liczba na stronie. Przypuśćmy że liczba kolumn na stornie, czyli liczba po przecinku to 6. Więc szukajmy teraz bazy danych, z których chcemy wyczytać jakieś dane.

http://www.stronapodatna.com/?id= 65 U_nion S_elect 1,2,3,4,5,6 from admins/*

Słowo "admins" oznacza nazwę bazy. Nie zawsze nosi ona nazwę admins. Wiele różnych platform nosi różne nazwy najważniejszych baz danych, wszystko w celu zniweczenia ataków. W tym zapytani powinno nam wypointować (wyświetlić) liczbę. Jeżeli mamy błąd, musimy próbować z innymi nazwami. A jak nie ma błędu to znaczy że mamy bazę danych i wyciągamy hasła.

http://www.stronapodatna.com/?id= 65 U_nion S_elect 1,concat(login,char(58),pass),3,4,5,6 from admins/*

Jak widzicie zniknęła liczba 2. Ponieważ to w niej wpisujemy dane które chcemy wyciągnąć. Słowo concat służy do wpisywania dwóch i więcej zmiennych na raz. Char(58) jest to znak ":" służy tylko i wyłącznie włamywaczowi w celach estetycznych, tj. żeby wiedział gdzie się kończy login a gdzie zaczyna się hasło.

Oczywiście są to podstawy i to tylko szczyt góry lodowej. Są o wiele bardziej skomplikowane i zawiłe metody, które wymagają perfekcyjnego opanowania języka SQL. Życzę miłej zabawy.

Ten artykuł jest pisany tylko i wyłącznie w celach edukacyjnych. Autor i właściciele serwisu hack.pl nie ponoszą odpowiedzialności za wyrządzone krzywdy metodami stosowanymi w naszych artykułach.

Artykuł pochodzi ze strony: hack.pl. Autor: 0x00000

POSZUKUJE WSPÓLNIKÓW / OPIEKUNÓW - NA SERWERKI CS:GO!

:!!: Skontaktuj się ze mną po więcej szczegółów :!!:

  • 1 rok później...
Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie