Web Technologies
Identifying Web Technologies
The first step to perform a web application penetration test is to identify the target’s web technology in use. In order to do that, you can follow these basic steps:
- Peform nmap scans against the target web application’s open port
- Analyze the web application:
- Using Wappalyzer as a browser extension
- Using
whatweb http://server.com --log-verbose output-file
- Look for the following generic files:
robots.txt,sitemap.xml,README.txt,CHANGELOG.txt - Analyze the website’s footer, header and source code to check for references to the web technology used
- Analyze the HTTP Response Headers
- Force errors to trigger unexpected behaviors in the web application that may cause information disclosure
External Resources
Pages
- Apache Tomcat Apache Tomcat is the reference implementation of Jakarta Servlet, Jakarta Pages, and Jakarta WebSocket — it is the default Java application server for …
- CGI Applications A Common Gateway Interface (CGI) is the mechanism that lets a web server hand a request to an external program and return its output — it is the …
- WordPress WordPress powers over 40% of the web, and its attack surface is three-layered: the core, the plugin/theme ecosystem, and the administrative session. …
- PDF Generators Many web applications provide a PDF generation functionality which may contain dynamic user input. Some of these generators may be vulnerable due to …
- Microsoft IIS Internet Information Services (IIS) for Windows Server is a flexible, secure and manageable Web server for hosting anything on the Web. From media …
- WebDav WebDAV (Web Distributed Authoring and Versioning) is a protocol that extends the HTTP protocol, allowing users to collaboratively author and manage …
- IBM WebSphere WebSphere is a Java EE application server provided by IBM, used to deploy and manage enterprise-level Java applications. Discovery & Fuzzing Fuzz …
- SAP Netweaver Introduction SAP system consists of a number of fully integrated modules, which covers virtually every aspect of business management. The product is …
- Joomla Introduction CMS used for discussion forums, photo galleries, e-Commerce, user-based communities, and more. Written in PHP and uses MySQL in the …
- Drupal Introduction Drupal is Written in PHP, supports MySQL or PostgreSQL for the backend. SQLite can be used if there’s no DBMS installed. Drupal …
- GitLab GitLab is an open-source end-to-end DevOps platform with built-in version control, issue tracking, code review, CI/CD, and more. For an attacker, it …
- Jenkins Introduction Jenkins is a continuous integration server. Jenkins runs on Tomcat port 8080 by default The default installation typically uses Jenkins’ …