Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
svja — Super Vulnerable Java Application (SVJA) 在 Roniel 和 DaRon 播客秀中进行了演示,它是一个 Apache Struts 应用程序,旨在包含大量非常常见的漏洞。与其他“故意存在漏洞”的软件不同,该软件旨在模仿常见漏洞在现实中最常见的呈现方式,而不是采用过于简单化的方式或更偏向“夺旗赛”(capture the flag)的方式。该软件会定期进行更新和扩充,并在播客中演示其中的部分漏洞。 | Kitploit
工具/GitHubGitHub/theronielanddaronpodcastshow/svja
身份验证与授权漏洞分析Web应用程序漏洞利用API安全测试Web安全渗透测试学习与教育实验室与实践

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
GitHub
theronielanddaronpodcastshow/svja

svja

Super Vulnerable Java Application (SVJA) 在 Roniel 和 DaRon 播客秀中进行了演示,它是一个 Apache Struts 应用程序,旨在包含大量非常常见的漏洞。与其他“故意存在漏洞”的软件不同,该软件旨在模仿常见漏洞在现实中最常见的呈现方式,而不是采用过于简单化的方式或更偏向“夺旗赛”(capture the flag)的方式。该软件会定期进行更新和扩充,并在播客中演示其中的部分漏洞。

查看仓库
1347个月前尚未审核

svja

RDPS 超级易受攻击 Java 应用程序(Super Vulnerable Java Application)顾名思义,就是一个超级易受攻击的 Java 应用程序,其创建目的是让所有人看到各种常见、往往“复杂”的漏洞。该软件是 Roniel 和 DaRon 播客节目(https://www.youtube.com/channel/UCbj1JFcSJeTuf3qf9GPRemA)的一部分,这样我们就可以以一种比网上许多其他工具更真实的方式来讨论和展示我们经常遇到的一些漏洞。要查看示例漏洞利用,请观看我们的播客。

重要

请记住,此应用程序有意针对许多方面高度易受攻击。请小心运行它的位置,限制谁能访问它(Tomcat 服务器应仅在 localhost 上监听,并且只能在你个人的机器上)。如果你不能妥善保管自己的东西,让你的副本暴露在外,任由任何人窃取你的数据或严重破坏你的机器,我们概不负责。我们建议你在一台已加固、不包含任何敏感内容且未连接互联网的虚拟机(VM)中运行它。如果未能妥善保护运行此程序及其实例的系统,很可能让你今天很难受。就像没有采取适当保护措施的随意肉体关系一样,你只是在把自己置于一个将来会后悔的境地。提醒过你了,但还是鼓励你玩 ;-)

要求

  • Apache Maven 3.6 或更高版本
  • Java 21 或更高版本
  • Tomcat 10.0 或更高版本

安装

RDPS SVJA 由一个运行 react 的 Java Struts 2 应用程序组成。只需运行以下命令即可构建:mvn clean package

这会在 target 目录中生成一个 WAR 文件 -- svja.war。只需将该 WAR 文件放入你的 Tomcat webapps 文件夹即可。在默认的 Tomcat 构建中,访问 http://127.0.0.1:8080/svja 即可使用该应用程序。

如果你运行的是 Tomcat 10 或更高版本,请将 <Loader jakartaConverter="TOMCAT" /> 添加到你的 Tomcat context.xml 配置文件中。

Swagger UI

对于想用它来开个好头的人来说,根路径(http://127.0.0.1:8080/svja)现在提供了 Swagger UI 和一份基本的 OpenAPI 规范(http://127.0.0.1:8080/svja/specification.yaml)供你使用。请注意,该规范以及 Swagger UI 只是触及了表面(这可不就是不安全反序列化等问题的意义所在吗?)。

当前漏洞

以下是系统中按操作分类的一些_主要_漏洞。

  1. /api/authenticate
    • 跨站请求伪造(CSRF)
    • 拒绝服务(DOS)
    • 不安全反序列化(OGNL、Struts、JSON -- 无字节码)
      • 任意对象创建
      • 任意方法调用
      • 会话劫持
      • 会话绕过
      • 认证绕过
    • 日志注入
    • URL 中的敏感数据
  2. /api/authenticate/federated
    • 跨站请求伪造(CSRF)
    • 拒绝服务(DOS)
    • 不安全反序列化(OGNL、Struts、JSON -- 无字节码)
      • 任意对象创建
      • 任意方法调用
      • 会话劫持
      • 会话绕过
      • 认证绕过
    • 日志注入
    • 正则表达式注入
      • 认证绕过
      • 拒绝服务
  3. /api/files
    • 跨站请求伪造(CSRF)
    • 通过编码实现的跨站脚本(XSS)
    • 拒绝服务(DOS)
    • 不安全反序列化(OGNL、Struts、JSON -- 无字节码)
      • 路径遍历(只读)
      • 任意对象创建
      • 任意方法调用
      • 会话劫持
      • 会话绕过
      • 认证绕过
      • 不安全的直接对象引用
    • 不安全序列化
      • 个人身份信息(PII)泄露
      • 敏感信息泄露
    • 日志注入
    • 竞争条件
      • 检查时与使用时(TOCTOU)
    • URL 中的敏感数据
  4. /api/projects
    • 逗号分隔值(CSV)注入
      • 任意 CSV 注入
      • 客户端攻击
    • 跨站请求伪造(CSRF)
    • 通过编码实现的跨站脚本(XSS) 拒绝服务(DOS)
    • 不安全反序列化(OGNL、Struts、JSON -- 无字节码)
      • 路径遍历(只读)
      • 任意对象创建
      • 任意方法调用
      • 会话劫持
      • 会话绕过
      • 认证绕过
      • 不安全的直接对象引用
    • 不安全序列化
      • 个人身份信息(PII)泄露
      • 敏感信息泄露
    • 日志注入
    • URL 中的敏感数据
    • XLSX 注入
      • 任意 XML 注入
      • 客户端攻击
  5. /api/reflect
    • 使用反射
    • 不安全反序列化(OGNL、Struts、JSON -- 无字节码)
      • 路径遍历(只读)
      • 任意对象创建
      • 任意方法调用
      • 会话劫持
      • 会话绕过
      • 认证绕过
      • 不安全的直接对象引用
    • 不安全序列化
      • 个人身份信息(PII)泄露
      • 敏感信息泄露
    • 日志注入
  6. /api/supersecret
    • 弱加密模式
    • 填充预言机
    • 使用反射
    • 不安全反序列化(OGNL、Struts、JSON)
      • 路径遍历(只读)
      • 任意对象创建
      • 任意方法调用
      • 会话劫持
      • 会话绕过

默认安装的用户

root@kitploit:~
admin:admin (application administrator account)
bill:baker (privileged user account)
bob:barker (basic, read-only user account)

登录系统

root@kitploit:~
/api/authenticate?user.username=admin&user.password=admin
/api/authenticate?user.username=bill&user.password=baker
/api/authenticate?user.username=bob&user.password=barker

认证后,您可以使用 JSON 或 Struts 调用任何您想要的操作。

示例 Struts 认证请求

root@kitploit:~
GET /svja/api/authenticate?user.username=bill&user.password=baker HTTP/1.1
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:88.0) Gecko/20100101 Firefox/88.0
Host: localhost
Accept: application/json, text/plain, */*
Accept-Language: en-GB,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Length: 0
DNT: 1
Connection: close
Cache-Control: max-age=0


示例 JSON 认证请求

root@kitploit:~
GET /svja/api/authenticate HTTP/1.1
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:88.0) Gecko/20100101 Firefox/88.0
Host: localhost
Accept: application/json, text/plain, */*
Accept-Language: en-GB,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/json
Content-Length: 61
DNT: 1
Connection: close
Cache-Control: max-age=0

{
  "user": {
    "username": "bill",
    "password": "baker"
  }
}

示例 Struts“联合”认证请求

root@kitploit:~
GET /svja/api/authenticate/federated?user.username=bill%40rdps.local&usernameTranslationRegex=%2F%40rdps%5B.%5Dlocal%2F%2F HTTP/1.1
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:88.0) Gecko/20100101 Firefox/88.0
Host: localhost
Accept: application/json, text/plain, */*
Accept-Language: en-GB,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Length: 0
DNT: 1
Connection: close
Cache-Control: max-age=0


示例 JSON“联合”认证请求

root@kitploit:~
GET /svja/api/authenticate/federated HTTP/1.1
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:88.0) Gecko/20100101 Firefox/88.0
Host: localhost
Accept: application/json, text/plain, */*
Accept-Language: en-GB,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/json
Content-Length: 61
DNT: 1
Connection: close
Cache-Control: max-age=0

{
  "user": {
    "username": "[email protected]"
  },
  "usernameTranslationRegex": "/@rdps[.]local//"
}

示例 Struts 请求

请记得更改 svjatoken

root@kitploit:~
GET /svja/api/projects?projectId=1 HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:88.0) Gecko/20100101 Firefox/88.0
Accept: application/json, text/plain, */*
Accept-Language: en-GB,en;q=0.5
Accept-Encoding: gzip, deflate
DNT: 1
Connection: close
Cookie: svjatoken=RaMu5vhFBgL8goV6Ja1ffLnpmcixNuAL7fUP;
Cache-Control: max-age=0


示例 JSON 请求

请记得更改 svjatoken

root@kitploit:~
GET /svja/api/projects HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:88.0) Gecko/20100101 Firefox/88.0
Accept: application/json, text/plain, */*
Accept-Language: en-GB,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/json
Content-Length: 19
DNT: 1
Connection: close
Cookie: svjatoken=RaMu5vhFBgL8goV6Ja1ffLnpmcixNuAL7fUP;
Cache-Control: max-age=0

{
  projectId:1
}

请记住

这是一个正在进行的项目,我们计划了更多漏洞和内容(包括一个超级易受攻击的前端以及其他超级易受攻击的应用程序)——每隔几个月回来看看,并观看 Roniel 和 DaRon 播客节目以获取更新、示例漏洞利用和其他想法。我们也鼓励你尝试找出如何缓解或修复这些漏洞……破坏很容易……缓解、修复和加固才是困难的。祝你好运,狩猎愉快!

下载工具
  • 认证绕过
  • 不安全的直接对象引用
  • 不安全序列化
    • 个人身份信息(PII)泄露
    • 敏感信息泄露
  • 日志注入