本站总访问量
文章目录
  1. 1. 基于Struts框架的Web应用典型架构
    1. 1.1. Browser
    2. 1.2. web server
    3. 1.3. app server
    4. 1.4. web app
  2. 2. 基于Struts框架的Web应用的安全测试关注点
    1. 2.1. web server安全测试关注点
    2. 2.2. app server安全测试关注点
    3. 2.3. web app安全测试关注点

基于Struts框架的Web应用典型架构

web_struts

Browser

浏览器是指可以显示网页服务器或者文件系统的HTML文件(标准通用标记语言的一个应用)内容,并让用户与这些文件交互的一种软件。

国内网民计算机上常见的网页浏览器有,QQ浏览器、Internet Explorer、Firefox、Safari,Opera、Google Chrome、百度浏览器、搜狗浏览器、猎豹浏览器、360浏览器、UC浏览器、傲游浏览器、世界之窗浏览器等,浏览器是最经常使用到的客户端程序。

web server

Web服务器可以解析(handles)HTTP协议。当Web服务器接收到一个HTTP请求(request),会返回一个HTTP响应(response),例如送回一个HTML页面。为了处理一个请求(request),Web服务器可以响应(response)一个静态页面或图片,进行页面跳转(redirect),或者把动态响应(dynamic response)的产生委托(delegate)给一些其它的程序例如CGI脚本、JSP(JavaServer Pages)脚本、servlets、ASP(Active Server Pages)脚本、服务器端(server-side)JavaScript,或者一些其它的服务器端(server-side)技术。无论它们(译者注:脚本)的目的如何,这些服务器端(server-side)的程序通常产生一个HTML的响应(response)来让浏览器可以浏览。

Web服务器一般部署在DMZ(也称“非军事化区”。它是为了解决安装防火墙后外部网络的访问用户不能访问内部网络服务器的问题,而设立的一个非安全系统与安全系统之间的缓冲区)。

Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。除此之外,还有kangle和Nginx。

app server

App Server是运行Java企业组件的平台,构成了应用软件的主要运行环境。当前主流的App Server是BEA公司的Weblogic Server和IBM公司的Websphere以及免费的Jboss。

但是,大家用得最多的是一款叫Tomcat的免费的开放源代码的Web 应用服务器。Tomcat属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。Tomcat严格意义上并不是一个真正的App Server,它只是一个可以支持运行Serlvet/JSP的Web容器,不过Tomcat也扩展了一些App Server的功能,如JNDI,数据库连接池,用户事务处理等等。

本文描述的app server是指,满足java servlet规范,提供servlet运行环境,如Tomcat、weblogic,通常部署在内网,一个server可以运行多个独立的web app。

web app

WebApp是指基于Web的系统和应用,其作用是向广大的最终用户发布一组复杂的内容和功能。

本文描述的web app是指,基于java servlet构建的应用,提供具体业务功能,通常会采用MVC框架,如struts、spring MVC等

基于Struts框架的Web应用的安全测试关注点

web_app

web server安全测试关注点

httpd.conf配置是否安全
是否支持https
证书密钥保存是否安全
进程启动权限是否合理
监听的所有端口是否合理
日志位置是否合理
SSL是否仅支持安全加密算法
静态资源是否没有敏感权限
静态资源的访问控制是否合理

app server安全测试关注点

server.xml配置是否安全
证书密钥的保存是否安全
进程启动权限是否合理
目录列表功能是否禁用
日志安全
是否存在默认管理账号
是否支持应用自动加载
所有app的路径有没有异常
是否已经打上已知漏洞的补丁

web app安全测试关注点

首先要关注web app的web.xml的配置,梳理url和filter、servlet的映射关系来确认业务逻辑;
再关注struts配置文件(*.struts.xml),梳理每个action(url)和interceptor的对应关系。

1.filter

梳理url和filter-chain的关系
识别过滤器的功能
检查过滤器顺序
安全功能缺失或逻辑漏洞:
1)不可访问目录的保护
2)认证逻辑的缺陷
3)session与IP是否绑定
4)XFF的来源和处理

2.interceptor

package继承关系对拦截器的覆盖
梳理url和interceptor的关系
识别拦截器的功能
拦截器的顺序
安全功能的缺失或逻辑漏洞
struts公开漏洞补丁的实施情况
(参数拦截器、cookie拦截器)

3.servlet&action

敏感功能:上传、下载、删除、导入数据(解析)、导出、目录遍历、权限管理、用户管理
普通功能:鉴权(横向越权、纵向越权)、命令注入、SQL注入、XML注入、文件操作

4.其他全局关注点

XSS、CSRF、XSRF

文章目录
  1. 1. 基于Struts框架的Web应用典型架构
    1. 1.1. Browser
    2. 1.2. web server
    3. 1.3. app server
    4. 1.4. web app
  2. 2. 基于Struts框架的Web应用的安全测试关注点
    1. 2.1. web server安全测试关注点
    2. 2.2. app server安全测试关注点
    3. 2.3. web app安全测试关注点