I need to either find a file in which the version is encoded or a way of polling it across the web so it reveals its version. The server is running at a host who will not provide me command line access, although I can browse the install location via FTP.
I have tried HEAD and do not get a version number reported.
If I try a missing page to get a 404 it is intercepted, and a stock page is returned which has no server information on it. I guess that points to the server being hardened.
Still no closer...
I put a PHP file up as suggested, but I can't browse to it and can't quite figure out the URL path that would load it. In any case I am getting plenty of access denied messages and the same stock 404 page. I am taking some comfort from knowing that the server is quite robustly protected.
Checking the Apache Version from WHM You can begin typing “Apache” in the search menu to quickly narrow the choices. The current Apache version will be displayed next to Server Version on the Apache Status page. In this case, it's version 2.4. 16.
In most cases, when you type http://server-ip:80 on any of the browsers you use, it would show whether Apache is running. However, you can search further by putting the command of “service apache2 status” to be sure. If you are using Ubuntu, you can also add the command of a restart to let Apache function again.
Navigate to your XAMPP folder, enter your Apache folder, enter your bin folder, right click on httpd.exe. The tabs on the top will be General/ Compatibility/ Details/ Previous Versions, we want the Details tab and there it will list the File version and Product version.
Hide Apache Version and OSEdit your Apache server configuration file using Nano (or your preferred text editor). If you don't see the “ServerTokens” and “ServerSignature” sections, simply add the necessary lines to the bottom of your configuration file. The next section down should be the “ServerSignature” section.
Connect to port 80 on the host and send it
HEAD / HTTP/1.0
This needs to be followed by carriage-return + line-feed twice
You'll get back something like this
HTTP/1.1 200 OK Date: Fri, 03 Oct 2008 12:39:43 GMT Server: Apache/2.2.9 (Ubuntu) DAV/2 SVN/1.5.0 PHP/5.2.6-1ubuntu4 with Suhosin-Patch mod_perl/2.0.4 Perl/v5.10.0 Last-Modified: Thu, 02 Aug 2007 20:50:09 GMT ETag: "438118-197-436bd96872240" Accept-Ranges: bytes Content-Length: 407 Connection: close Content-Type: text/html; charset=UTF-8
You can then extract the apache version from the Server: header
You could use the HEAD utility which comes with a full install of Perl's LWP library, e.g.
HEAD http://your.webserver.com/
Or, use the curl utility, e.g.
curl --head http://your.webserver.com/
You could also use a browser extension which lets you view server headers, such as Live HTTP Headers or Firebug for Firefox, or Fiddler for IE
Finally. if you're on Windows, and have nothing else at your disposal, open a command prompt (Start Menu->Run, type "cmd" and press return), and then type this
telnet your.webserver.com 80
Then type (carefully, your characters won't be echoed back)
HEAD / HTTP/1.0
Press return twice and you'll see the server headers.
As mentioned by cfeduke and Veynom, the server may be set to return limited information in the Server: header. Try and upload a PHP script to your host with this in it
<?php phpinfo() ?>
Request the page with a web browser and you should see the Apache version reported there.
You could also try and use PHPShell to have a poke around, try a command like
/usr/sbin/apache2 -V
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With