Witam.
Mam problem. W jakiej formie wysłać dane aby w immunity debugger nadpisać rejestr EIP i zcrashować serwer http. Czy "fuzzing data" powinny być argumentem polecenia protokołu http (GET, POST) czy może być po prostu ciągiem danych który będzie wejściem. Proszę o szybką odpowiedź. Z góry dzięki.
.
Ale co ma debugger do tego twojego serwera http bo chyba sie zgubiłem. Chcesz położyć jakiś zdalny serwer http?
próbowałeś emacsem przez sendmail?
@Shalom Tak chce położyć swój serwer http.
no to jak to jest windows to odpalasz menadżera zadań, znajdujesz serwer http i zamykasz a jak linux to najpierw ps aux | grep http
a potem kill -9 pid_serwera_http
No dobra ale co ma do tego debugger i EIP? Bo póki co to widzę tu jakis czeski film. Rozumiesz w ogóle o co pytasz? Serwer musi mieć jakąś podatność żebyś mógł ją exploitować. Nie ma możliwości ręcznego wpłynięcia na EIP, musiałbyś wykorzystać na przykład błąd typu buffer overflow żeby nadpisać adres powrotu z jakiejś funkcji i tym samym wykonać skok powrotny pod inny adres. Ale biorąc pod uwagę że jeszcze nie dawno nie umiałeś skompilować programu w javie to to wszyskto jest daleko daleko poza twoim zasiegiem.
Zacznij sie może uczyć podstaw programowania? Bo bez tego ani rusz.
Ten program jest podatny na przeciążenie bufora. Moje pytanie jest takie czy muszę wysłać wejście jako argument polecenia http (np. GET / AAAAAAAAAAAAAAAAAAAAAAAAAAAA) czy można wysłać po prostu AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA. O to chodziło. (A to shellcode)
Bez kodu tego serwera nie da się udzielić odpowiedzi... Przykładowo, serwer może parsować pierwsze kilka znaków i jeśli są one przykładowo równe "GET" to kopiuje dane do twojego teoretycznie podatnego bufora, w przeciwnym wypadku olewa request i ich nie kopiuje - więc serv sie nie wywali. Jeśli to twój serv zakładam że napisałeś celowo podatny kod, to go wstaw i z pewnością otrzymasz szybciej odpowiedź niż tak gdybając.
@BASH tak jak wspomniał @Proxima mamy ci to wywróżyć z kuli czy z fusów? Skoro masz dostęp do tego serwera to zobacz jak obsługuje requesty i będziesz widział gdzie te twój buffer overflow można zrobić...
Ale chyba nie rozumiesz że samo napchanie shellcode do bufora wcale nie spowoduje nagle że EIP do niego skoczy i go wykona. To nie jest takie proste. Musisz tam nadpisać sobie adres powrotu na adres tego bufora, a bez jakiejś podatności information leak to może być problem, bo nie będziesz znał tego adresu. No i samo nadpisanie też musisz wykonać "dokładnie", tzn musisz nadpisać konkretne 4 bajty ze stosu.
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.