Eksponowanie wersji apache oraz komponentów typu php


Testując nagłówki strony można zauważyć, że serwer webowy mówi więcej niż by się administrator lub twórca serwisu spodziewał.
Jak to wygląda w przykładzie?

Wersja wogóle nie zablokowana:


URL: http://porady.eu.org/

HTTP status Code: 200 OK


HTTP Headers:
Keep-Alive: timeout=3, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html
Date: Thu, 28 Aug 2008 10:20:20 GMT

Server: Apache/1.3.34 (Debian)



Co w tej sytuacji można zrobić? Szukamy, szukamy i znajdujemy, że warto w ustawieniach apache dodać składnie (/etc/apache/httpd.conf):


ServerSignature Off

ServerTokens Prod



Po zmianach bedzie to widoczne jako:

URL: http://porady.eu.org/

HTTP status Code: 200 OK

HTTP Headers:
Keep-Alive: timeout=3, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html
Date: Thu, 28 Aug 2008 10:14:16 GMT
Server: Apache

X-Powered-By: PHP/5.2.0-8+etch11



Widać, że zostało sporo ukryte natomiast pojawia sie X-Powered-By - co to ma znaczyć? Skąd się to wzięlo?

To jest wpis z komponentu php. Żeby to wyłączyć należy w php.ini dla apache'a użyć opcji:


expose_php = Off



Wydaje się, że ta wersja juz wszystko ukryła:

URL: http://porady.eu.org/

HTTP status Code: 200 OK

HTTP Headers:
Keep-Alive: timeout=3, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html
Date: Thu, 28 Aug 2008 10:21:10 GMT
Server: Apache


I to jest to co chcielismy osiągnąć - wyłączenie wyświetlania wersji. Teraz trzeba użyć bardziej zaawansowanych technik, żeby zweryfikować nasze wersje oprogramowania.

 

Na wesoło ;)

W środku nocy mąż zrywa się z łoża i przestępując z nogi na nogę trzyma się za krocze. Zaspana żona pyta się go:
- Co ci się stało?
- Aaaaa... bo nagle mi się baby zachciało.
Żona rozkosznie się przeciąga i mówi:
- No to chodź - zaprasza żona
- No to przecież chodzę - odpowiada mąż