Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

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

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

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
apache-struts-cve-2017-9805 — 针对Apache Struts CVE-2017-9805的利用工具,该漏洞是REST插件中的远程代码执行漏洞。可用于对基于Struts的Java Web应用程序进行渗透测试和安全评估。 | Kitploit
工具/GitHubGitHub/rvermeulen/apache-struts-cve-2017-9805
漏洞分析代码分析漏洞利用Web应用程序漏洞利用渗透测试红队
GitHubrvermeulen/apache-struts-cve-2017-9805

apache-struts-cve-2017-9805

针对Apache Struts CVE-2017-9805的利用工具,该漏洞是REST插件中的远程代码执行漏洞。可用于对基于Struts的Java Web应用程序进行渗透测试和安全评估。

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
查看仓库
205年前尚未审核
分享

Apache Struts Web框架

Build Status @ Jenkins Build Status @ Travis Maven Central License

Apache Struts Web框架是一个免费的开源解决方案,用于创建Java Web应用程序。

Web应用程序与传统网站的不同之处在于,Web应用程序可以创建动态响应。许多网站仅提供静态页面。Web应用程序可以与数据库和业务逻辑引擎交互以定制响应。

基于JavaServer Pages的Web应用程序有时会混杂数据库代码、页面设计代码和控制流代码。在实践中,我们发现除非将这些关注点分离,否则较大的应用程序将难以维护。

在软件应用程序中分离关注点的一种方法是使用模型-视图-控制器(MVC)架构。模型代表业务或数据库代码,视图代表页面设计代码,控制器代表导航代码。Struts框架旨在帮助开发人员创建利用MVC架构的Web应用程序。

该框架提供了三个关键组件:

  • 由应用程序开发者提供的“请求”处理器,映射到标准URI。
  • 一个“响应”处理器,将控制权转移到另一个完成响应的资源。
  • 一个标签库,帮助开发者使用服务器页面创建交互式基于表单的应用程序。

该框架的架构和标签符合流行术语。Struts与传统的REST应用程序以及SOAP和AJAX等技术配合良好。

Apache Struts项目

Apache Struts项目是创建和维护Apache Struts框架的开源社区。该项目由一群多元化的志愿者组成,他们共享关于协作式、基于社区的开源开发的共同价值观。Apache Struts项目很自豪能与我们的母组织Apache软件基金会分享这些价值观。

该项目之所以被称为“Struts”,是因为该框架旨在提供支持专业应用程序开发的“无形基础”。Struts提供了将标准Java平台的各种元素连接成一个连贯整体的粘合剂。我们的目标是通过创建我们需要的缺失部分来利用现有标准,以构建易于长期维护的企业级应用程序。

Apache Struts项目提供了两个主要版本的Struts框架。目前我们只维护Struts 2版本。建议将所有Struts 1.x应用程序升级到Struts 2。请不要使用Struts 1.x开始新的应用程序开发,因为我们不再发布安全补丁。

Struts 2最初被称为WebWork 2。在独立工作几年后,WebWork和Struts社区联合创建了Struts 2。2.x框架是重视优雅解决难题的团队的最佳选择。

为什么应该使用Apache Struts?

Apache Struts是一个现代、维护良好且功能齐全的Web框架。它已存在多年,拥有庞大的用户群,不太可能在不久的将来消失。不仅如此,我们还有专注的用户和开发者参与该项目。Apache Struts采用Apache License 2.0许可,这不会改变。我们保持干净的知识产权,你可以“安全”地使用该项目。有时,当一家公司控制SCM时,你不能“安全”地使用一个项目。访问源代码并不意味着它是免费的。使用Apache Struts,你不仅可以自由地“用它做你想做的事”,你甚至还可以贡献(这并非总是如此)。最棒的是:你也可以成为核心团队的一员。

通常,将其他技术与Apache Struts集成非常容易。如果你使用像Apache Cayenne、Hibernate或JDBC这样的ORM,你不会遇到任何限制。Apache Struts甚至不局限于某种前端技术。过去是JSP,然后是Velocity和Freemarker。如今,你可能只使用静态HTML和AngularJS来构建Web应用程序。或者你想使用Sitemesh或Tiles。所有这些都没有问题,这归功于Struts优雅且易于使用的扩展机制。

与其他面向组件的框架不同,我们不试图隐藏Web的无状态本质。我们认为基于请求/响应周期进行构建是完全可以接受的。我们也认为MVC模式并不那么糟糕,仅仅因为它很老。事实上,我们相信Apache Struts架构清晰且易于理解。

当然,如果你希望在服务器端构建组件并在前端渲染,那么使用Struts很可能是不正确的。这是一种不同的方法,旨在减少所需的HTML/JavaScript知识量,并为视图层创建可重用组件。像Wicket和Tapestry这样的项目非常适合这个目的。与每个框架一样,你需要决定构建组件是否有意义,或者你是否更适合Struts的方法。

下载工具