Jak debugować Apache HTTPD 2.2.22 na Ubuntu 15.10

0

Witam.
Na swojej maszynie wirtualnej VMware Workstation 12 Player (Ubuntu 15.10) zainstalowałem serwer Apache wersję 2.2.22. W tym celu pobrałem z repozytorium plik httpd2.2.22.tar.gz. Rozpakowałem plik, otworzyłem w terminalu i wpisałem kolejno komendy: ./configure && make && make install && /usr/local/apache2/bin/apachectl start. Po wpisaniu localhost w firefoxie zobaczyłem napis "It works!". Jak debugować Apache? Tak żeby zobaczyć stos pamięci, wartości rejestrów CPU. W celu badania serwera i pisania amatorskich exploitów. Z góry dzięki!
PS. Jeśli napisałem w złym dziale to przepraszam i proszę o przeniesienie.

0
sudo -i
apt install apache2 apache2-dbg
service apache2 stop
. /etc/apache2/envvars
gdb --args apache2 -X
b ap_process_request
r
bt
info args
p *r
info registers

Coś takiego.

0

Czyli muszę zainstalować pakiet apache2-dbg? A nie można uruchomić /usr/local/apache2/bin/httpd w GDB?

0

Możesz ale nie będziesz mieć symboli (no chyba że dokompilujesz sam).

0

Przed chwilą sprawdziłem. Kiedy wpisałem w folderze /usr/local/apache2/bin; gdb httpd. Wtedy wyskoczyło coś takiego:

GNU gdb (Ubuntu 7.10-1ubuntu2) 7.10
Copyright (C) 2015 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./httpd...done.
(gdb) 

Wtedy użyłem standardowego polecenia run. No i wtedy zaczęło się najlepsze:

Starting program: /usr/local/apache2/bin/httpd 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Inferior 1 (process 2235) exited normally]
(gdb) 

Apache "normalnie" się rozkraczył. Jakieś pomysły jak to naprawić?

0

Przeczytaj moje polecenie uruchomienia i porównaj ze swoim a potem sprawdź w dokumentacji apache'a dlaczego tak jest.

Generalnie jednak sądzę że porywasz się z motyką na słońce, zacznij od czegoś prostszego.

0

Generalnie apache ma dokumentację odnośnie debugowania.
https://httpd.apache.org/dev/debugging.html

0

Tak żeby zobaczyć stos pamięci, wartości rejestrów CPU. W celu badania serwera i pisania amatorskich exploitów

Z tego co pamiętam to jeszcze niedawno nie umiałeś nawet skompilować gotowca.
Czy kiedykolwiek rozwiazałęś jakieś zadanie typu crackme? Nie? To może zacznij od tego a nie od szukania podatności w prawdziwym oprogramowaniu?
http://challenges.re/
https://www.root-me.org/
Masz całą masę takich serwisów. Zarejestruj się i zacznij od prostych rzeczy. Rozwiaż moze chociaż te 2 zadania: http://ctf.4programmers.net/challenge/re0 http://ctf.4programmers.net/challenge/re1 ;]

1 użytkowników online, w tym zalogowanych: 0, gości: 1