某些WSO2产品允许无限制的文件上传,导致远程代码执行。攻击者必须使用一个/fileupload端点,并带有Content-Disposition目录遍历序列,以到达web根目录下的一个目录,例如../../../../repository/deployment/server/webapps目录。
python3 main.py https://example.com shell.jsp
将 https://example.com 替换为易受攻击的服务器,并将 shell.jsp 替换为您要用于上传的文件名。
根据需要编辑 shell.jsp 文件,但当前的shell同样工作良好(至少比其他JSP shell更好)。
此shell可以捕获stdout和stderr的输出。命令通过 /bin/sh 运行。
大多数情况下,系统管理员以超级用户身份运行WSO2产品。利用此漏洞,您将拥有整个系统的超级用户权限。
数据库文件位于 ~/repository/database 目录。
您可以使用IntelliJ IDEA打开H2类型的数据库,像这样。
利用此漏洞,您可以将任何文件从任何目录复制到 ~/repository/deployment/server/webapps/authenticationendpoint。authenticationendpoint 目录提供JSP服务,但也可用于提供其他文件。
示例:
cp ~/repository/database/WSO2CARBON_DB.h2.db ~/repository/deployment/server/webapps/authenticationendpoint/WSO2CARBON_DB.h2.db
此命令将主数据库文件复制到我们可以从中下载的目录。
我不对任何形式的核战争或您被逮捕负责。请仅在测试环境中使用此漏洞利用工具。