XssAPP开源,Xss跨站脚本攻击测试平台(JAVA开发) BY:WebSOS


XssAPP开源,Xss跨站脚本攻击测试平台(JAVA开发)

发布时间:2016-05-29 03:35编辑:admin 浏览(2435)类别:编程开发


  • XssAPP 一套针对Xss跨站脚本攻击的专业测试平台

    开源日期:2016-05-29

    开发者:WebSOS

    开发时间:2015年下半年

    开发语言:JAVA

    使用技术:Spring Hibernate 反射技术

    说明:本程序源码一切权益归WebSOS所有,他人不得随意修改与转卖,本程序仅做技术交流,切勿用于非法途径

    链接: http://pan.baidu.com/s/1kUWVkXp 密码: 885i 

    文档说明:

  XssAPP系统设计说明书
(v1.0)
  
文 档 信 息
文档名称: Xss平台系统需求设计说明书
电子文档: Xss平台系统需求设计文档 /Microsoft WORD 2000
版本号: 1.0 密级: 保密
文档状态: □ 草    稿    ■ 正式发布    □ 正在修改
编写人: WebSOS 日期: 2016-1-29
       

目 录
1    总则... 5
1.1  编写目的... 5
1.2  读者对象... 5
1.3 业务背景... 5
1.4 平台简介... 5
1.5 攻击分类... 5
1.6 扩展类型... 5
1.7 漏洞危害... 6
1.7.1 三部曲... 6
1.7.2 攻击事件... 6
1.7.3 下一代... 6
1.8 漏洞预防... 6
1.9 XSS防御规则... 7
1.9.1 No.1. 7
1.9.2 No.2. 7
1.9.3 No.3. 8
1.9.4 No.4. 8
1.9.5 No.5. 9
1.9.6 No.6. 9
1.10           业务需求... 9
1.11           技术说明... 10
1.12       术语与缩写... 10
2    概述... 10
2.1  设计目标... 10
2.2  系统局部截图... 11
3    数据表结构... 24
1)        用户信息表 user. 24
2)        模块表 module. 24
3)        项目表 project 25
4)        信封表 letter. 25
5)        信封内容表 letter_paras. 26
6)        系统设置表 setting. 26
7)        邀请码表 invite. 27
8)        后台管理表 admin. 27
9)        后台角色表 role. 27
10)      菜单表 menus. 28
11)      邮箱表 email. 28
12)      网站后缀表 suffix. 28
13)      网站静态后缀表 suffix_static. 29
 

1   总则

1.1 编写目的

主要基于以下目的编写此文档:
  1. 对整个系统项目设计阶段的任务成果形成文档。
  2. 对需求阶段的文档再次确认过程,对前一阶段需求没有做充分或错误的提出修改。
  3. 明确整个系统的功能框架和数据结构,为下一阶段的编码和测试提供参考依据。
  4. 明确编码规范和命名规范,统一程序界面。

1.2 读者对象

本文档的预期读者包括详细设计人员、开发人员、测试人员、项目经理及相关人员等。

1.3   业务背景

编辑
网站中包含大量的动态内容以提高用户体验,比过去要复杂得多。所谓动态内容,就是根据用户环境和需要,Web应用程序能够输出相应的内容。动态站点会受到一种名为“跨站脚本攻击”( Cross Site Scripting, 安全专家们通常将其缩写成 XSS,原本应当是css,但为了和层叠样式表(Cascading Style Sheet,CSS )有所区分,故称XSS)的威胁,而静态站点则完全不受其影响。

1.4   平台简介

编辑
用户在浏览网站、使用 即时通讯软件、甚至在阅读电子邮件时,通常会点击其中的链接。攻击者通过在链接中插入 恶意代码,就能够盗取用户信息。攻击者通常会用十六进制(或其他编码方式)将链接编码,以免用户怀疑它的合法性。网站在接收到包含恶意代码的请求之后会产成一个包含恶意代码的页面,而这个页面看起来就像是那个网站应当生成的合法页面一样。许多流行的留言本和论坛程序允许用户发表包含HTML和javascript的帖子。假设用户甲发表了一篇包含 恶意脚本的帖子,那么用户乙在浏览这篇帖子时,恶意脚本就会执行,盗取用户乙的session信息。有关攻击方法的详细情况将在下面阐述。

1.5   攻击分类

编辑
人们经常将跨站脚本攻击(Cross Site Scripting)缩写为 CSS,但这会与 层叠样式表(Cascading Style Sheets, CSS)的缩写混淆。因此有人将跨站脚本攻击缩写为 XSS。如果你听到有人说 “我发现了一个XSS漏洞”,显然他是在说跨站脚本攻击。

1.6   扩展类型

编辑
(1)持久型跨站:最直接的危害类型,跨站代码存储在 服务器(数据库)。(2)非持久型跨站:反射型跨站脚本漏洞,最普遍的类型。用户访问服务器-跨站链接-返回跨站代码。(3) DOM跨站(DOM XSS):DOM(document object model文档对象模型),客户端脚本处理逻辑导致的安全问题。

1.7   漏洞危害

编辑
为了搜集用户信息,攻击者通常会在有漏洞的程序中插入 JavaScript、VBScript、 ActiveX或Flash以欺骗用户(详见下文)。一旦得手,他们可以盗取用户帐户,修改用户设置,盗取/污染cookie,做虚假广告等。每天都有大量的 XSS攻击的 恶意代码出现。 Brett Moore的下面这篇文章详细地阐述了“ 拒绝服务攻击”以及用户仅仅阅读一篇文章就会受到的“自动攻击”。

1.7.1    三部曲

1.HTML注入。所有HTML注入范例只是注入一个JavaScript弹出式的警告框:alert(1)。
2.做坏事。如果您觉得警告框还不够刺激,当受害者点击了一个被注入了HTML代码的页面链接时攻击者能作的各种的恶意事情。
3.诱捕受害者。

1.7.2    攻击事件

“微博病毒”攻击事件
回顾:
2011年6月28日晚,新浪微博出现了一次比较大的XSS攻击事件。大量用户自动发送诸如:“郭美美事件的一些未注意到的细节”,“建党大业中穿帮的地方”,“让女人心动的100句诗歌”,“3D肉团团高清普通话版种子”,“这是传说中的神仙眷侣啊”,“惊爆!范冰冰艳照真流出了”等等微博和私信,并自动关注一位名为 hellosamy的用户。
事件的经过线索如下:
20:14,开始有大量带V的认证用户中招转发 蠕虫
20:30,某网站中的病毒页面无法访问
20:32,新浪微博中hellosamy用户无法访问
21:02,新浪漏洞修补完毕

1.7.3    下一代

随着 AJAX(Asynchronous JavaScript and XML,异步JavaScript和XML)技术的普遍应用,XSS的攻击危害将被放大。使用AJAX的最大优点,就是可以不用更新整个页面来维护数据,Web应用可以更迅速地响应用户请求。AJAX会处理来自 Web服务器及源自第三方的丰富信息,这对XSS攻击提供了良好的机会。AJAX应用架构会泄漏更多应用的细节,如函数和变量名称、函数参数及返回类型、数据类型及有效范围等。AJAX应用架构还有着较传统架构更多的应用输入,这就增加了可被攻击的点。

1.8   漏洞预防

编辑
从网站开发者角度,如何防护XSS攻击?
来自应用安全国际组织OWASP的建议,对XSS最佳的防护应该结合以下两种方法:验证所有输入数据,有效检测攻击;对所有输出数据进行适当的编码,以防止任何已成功注入的脚本在浏览器端运行。具体如下:
输入验证:某个数据被接受为可被显示或存储之前,使用标准输入验证机制,验证所有输入数据的长度、类型、语法以及业务规则。
输出编码:数据输出前,确保用户提交的数据已被正确进行entity编码,建议对所有字符进行编码而不仅局限于某个子集。
明确指定输出的编码方式:不要允许攻击者为你的用户选择编码方式(如ISO 8859-1或 UTF 8)。
注意黑名单验证方式的局限性:仅仅查找或替换一些字符(如"<" ">"或类似"script"的关键字),很容易被XSS变种攻击绕过验证机制。
警惕规范化错误:验证输入之前,必须进行解码及规范化以符合应用程序当前的内部表示方法。请确定应用程序对同一输入不做两次解码。
从网站用户角度,如何防护XSS攻击?
当你打开一封Email或附件、浏览论坛帖子时,可能 恶意脚本会自动执行,因此,在做这些操作时一定要特别谨慎。建议在浏览器设置中关闭JavaScript。如果使用 IE浏览器,将安全级别设置到“高”。具体可以参照浏览器安全的相关文章。
这里需要再次提醒的是,XSS攻击其实伴随着社会工程学的成功应用,需要增强安全意识,只信任值得信任的站点或内容。可以通过一些检测工具进行 xss的漏洞检测,类似工具有亿思网站安全检测平台。针对xss的漏洞带来的危害是巨大,如有发现,应立即修复漏洞。

1.9   XSS防御规则

编辑
下列规则旨在防止所有发生在应用程序的XSS攻击,虽然这些规则不允许任意向HTML文档放入不可信数据,不过基本上也涵盖了绝大多数常见的情况。你不需要采用所有规则,很多企业可能会发现第一条和第二条就已经足以满足需求了。请根据自己的需求选择规则。

1.9.1    No.1

– 不要在允许位置插入不可信数据
第一条规则就是拒绝所有数据,不要将不可信数据放入HTML文档,除非是下列定义的插槽。这样做的理由是在理列有解码规则的HTML中有很多奇怪的context,让事情变得很复杂,因此没有理由将不可信数据放在这些context中。
 directlyinascript
   insideanHTMLcomment
   inanattributename
  <...NEVERPUTUNTRUSTEDDATAHERE...href="/test"/> inatagname
更重要的是,不要接受来自不可信任来源的JavaScript代码然后运行,例如,名为“callback”的参数就包含JavaScript代码段,没有解码能够解决。

1.9.2    No.2

– 在向HTML元素内容插入不可信数据前对HTML解码
这条规则适用于当你想把不可信数据直接插入HTML正文某处时,这包括内部正常标签(div、p、b、td等)。大多数网站框架都有HTML解码的方法且能够躲开下列字符。但是,这对于其他HTML context是远远不够的,你需要部署其他规则。
...ESCAPEUNTRUSTEDDATABEFOREPUTTINGHERE... 
  
...ESCAPEUNTRUSTEDDATABEFOREPUTTINGHERE...
  以及其他的HTML常用元素
使用HTML实体解码躲开下列字符以避免切换到任何执行内容,如脚本、样式或者事件处理程序。在这种规格中推荐使用十六进制实体,除了XML中5个重要字符(&、<、 >、 "、 ')外,还加入了斜线符,以帮助结束HTML实体。
&-->&
  <--><
  >-->>
  "-->"
  '-- >''isnotrecommended
  /-- >/forwardslashisincludedasithelpsendanHTMLentity

1.9.3    No.3

– 在向HTML常见属性插入不可信数据前进行属性解码
这条规则是将不可信数据转化为典型属性值(如宽度、名称、值等),这不能用于复杂属性(如href、src、style或者其他事件处理程序)。这是及其重要的规则,事件处理器属性(为HTML JavaScript Data Values)必须遵守该规则。
content insideUNquotedattribute
  content insidesinglequotedattribute
  content insidedoublequotedattribute
除了字母数字字符外,使用小于256的ASCII值&#xHH格式(或者命名的实体)对所有数据进行解码以防止切换属性。这条规则应用广泛的原因是因为开发者常常让属性保持未引用,正确引用的属性只能使用相应的引用进行解码。未引用属性可以被很多字符破坏,包括[space] % * + , - / ; < = > ^ 和 |。

1.9.4    No.4

– 在向HTML JavaScript Data Values插入不可信数据前,进行JavaScript解码
这条规则涉及在不同HTML元素上制定的JavaScript事件处理器。向这些事件处理器放置不可信数据的唯一安全位置就是“data value”。在这些小代码块放置不可信数据是相当危险的,因为很容易切换到执行环境,因此请小心使用。
 insideaquotedstring
   onesideofanexpression
   insideUNquotedeventhandler
   insidequotedeventhandler
   insidequotedeventhandler
除了字母数字字符外,使用小于256的ASCII值xHH格式 对所有数据进行解码以防止将数据值切换至脚本内容或者另一属性。不要使用任何解码捷径(如" )因为引用字符可能被先运行的HTML属性解析器相匹配。如果事件处理器被引用,则需要相应的引用来解码。这条规则的广泛应用是因为开发者经常让事件处理器保持未引用。正确引用属性只能使用相应的引用来解码,未引用属性可以使用任何字符(包括[space] % * + , - / ; < = > ^ 和|)解码。同时,由于HTML解析器比JavaScript解析器先运行,关闭标签能够关闭脚本块,即使脚本块位于引用字符串中。

1.9.5    No.5

– 在向HTML 样式属性值插入不可信数据前,进行CSS解码
当你想将不可信数据放入样式表或者样式标签时,可以用此规则。CSS是很强大的,可以用于许多攻击。因此,只能在属性值中使用不可信数据而不能在其他样式数据中使用。不能将不可信数据放入复杂的属性(如url,、behavior、和custom (-moz-binding))。同样,不能将不可信数据放入允许JavaScript的IE的expression属性值。
 propertyvalue
  text propertyvalue
除了字母数字字符外,使用小于256的ASCII值HH格式对所有数据进行解码。不要使用任何解码捷径(如" )因为引用字符可能被先运行的HTML属性解析器相匹配,防止将数据值切换至脚本内容或者另一属性。同时防止切换至expression或者其他允许脚本的属性值。如果属性被引用,将需要相应的引用进行解码,所有的属性都应该被引用。未引用属性可以使用任何字符(包括[space] % * + , - / ; < = > ^ 和|)解码。同时,由于HTML解析器比JavaScript解析器先运行,标签能够关闭脚本块,即使脚本块位于引用字符串中。

1.9.6    No.6

- 在向HTML URL属性插入不可信数据前,进行URL解码
当你想将不可信数据放入链接到其他位置的link中时需要运用此规则。这包括href和src属性。还有很多其他位置属性,不过我们建议不要在这些属性中使用不可信数据。需要注意的是在javascript中使用不可信数据的问题,不过可以使用上述的HTML JavaScript Data Value规则。
link anormallink
   animagesource
   ascriptsource
除了字母数字字符外,使用小于256的ASCII值%HH 解码格式对所有数据进行解码。在数据中保护不可信数据:URL不能够被允许,因为没有好方法来通过解码来切换URL以避免攻击。所有的属性都应该被引用。未引用属性可以使用任何字符(包括[space] % * + , - / ; < = > ^ 和|)解码。 请注意实体编码在这方面是没用的。
 
 
 

1.10     业务需求

1:用户对某个系统进行xss测试,需要在平台注册账户,并且新建模板>新建项目
2:新建项目后会生成模板代码入口,用户可利用入口引入代码对第三方平台进行xss跨站脚本攻击测试
3:当目标项目存在xss跨站脚本漏洞,入口地址需对用户代码所提交的参数进行收信处理
4:当系统收到xss跨站脚本信封时,要把信封内容通过email方式发送给用户预设邮箱,予以提示作用
5:用户可对模板、项目、信封、个人资料、密码进行插删改插之类管理操作
 

1.11     技术说明

本系统采用spring+hibernate框架编写,数据库连接池采用c3p0。缓存采用map结合timer。基于service使用AOP技术进行缓存绑定与实现。数据库采用mysql
 
 

1.12  术语与缩写

   Spring一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架
Hibernate 一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库
C3P0 一个开源的JDBC 连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。
AOP  Aspect Oriented Programming的缩写,意为: 面向切面编程,通过 预编译方式和运行期动态代理实现程序功能的统一维护的一种技术
XSS 跨站脚本攻击(也称为XSS)指利用网站漏洞从用户那里恶意盗取信息。

2   概述

 
 

2.1 设计目标

WEB端系统产品设计需要在技术、业务需求方面满足以下目标:
  1. 技术上
设计相关的系统模块和框构。
  1. 业务需求
在业务需求方面,满足WEB平台系统的业务需求。

2.2 系统局部截图

  1. 系统首页http://xssapp.com/
  1. 注册页面http://xssapp.com/reg.esp
  1. 登陆页面http://xssapp.com/login.esp
  1. 修改资料http://xssapp.com/user/setting.esp
  1. 用户首页http://xssapp.com/user/index.esp
  1. 项目管理http://xssapp.com/user/index.esp
  1. 模板管理http://xssapp.com/user/loadUserModule.esp

  1. 信封管理http://xssapp.com/user/loadLetters.esp


  1. 修改密码http://xssapp.com/user/modifyPwd.esp
  1. 找回密码http://xssapp.com/resetPwd.esp
  1. 后台页面http://xssapp.com/admin/login.esp

 
  1. 后台首页http://xssapp.com/admin/index.esp
  1. 后台网站基本设置
  1. 后台网站后缀设置
  1. 发信邮箱管理
  1. 后台项目管理
  1. 后台模板管理
  1. 后台信封管理
  1. 后台用户管理
  1. 后台邀请码管理

  1. 管理员账号管理
  1. 角色管理

 
  1. 权限管理
 


 

3  数据表结构

1)  用户信息表 user

字段名 字段类型 长度 可空 描述
id Int 11 Not Null 主键-Id-不可空
user_name varchar 24 Not Null 用户名-不可空
user_pwd varchar 40 Not Null 用户密码-不可空
mobile Varchar 20 ssNull 手机号码
email Varchar 32 Null 邮箱
create_time TIMESTRESM   NOT NULL 注册时间
uuid Varchar 32 NOT NULL 唯一标识
 
 
 

2)  模块表 module

字段名 字段类型 长度 可空 描述
id Int 11 Not Null 主键-Id-不可空
user_id Int 11 Not Null 用户ID
title varchar 128 Not Null 模块标题
remark varchar 1024 Null 描述
content mediumblob 16777216 Not Null 内容
type Int 1 Not Null 类型,0系统模块,1用户模块
update_time datetime   NOT NULL 注册时间

3)  项目表 project

字段名 字段类型 长度 可空 描述
id Int 11 Not Null 主键-Id-不可空
module_id Int 11 Not Null 模块ID
user_id Int 11 Not Null 用户ID
title varchar 128 Not Null 项目标题
remark varchar 1024 Null 描述
update_time datetime   Not Null 创建/更新时间
uuid varchar 32 Null 唯一标识
uri varchar 255 Null 引入网址
sort_uri varchar 255 Null 引入短网址
open_mobile Int 1 Null 是否开启手机收信,0关闭 1开启
open_email Int 1 Null 是否开启邮箱收信,0关闭 1开启
filter 过滤来源地址 1 Null 多个来源地址逗号分隔
 

4)  信封表 letter

字段名 字段类型 长度 可空 描述
id Int 11 Not Null 主键-Id-不可空
project_id Int 11 Not Null 项目id
ref_url varchar 1024 Null 来源地址
update_time datetime 19 Null 更新时间
uuid varchar 32 Null 唯一标识
context varchar 65535 Null 信封内容
ip varchar 32 Null Ip地址

5)  信封内容表 letter_paras

字段名 字段类型 长度 可空 描述
id Int 11 Not Null 主键-Id-不可空
letter_id varchar 1024 Null 信封ID
para_name Int 64 Not Null 参数名
para_value datetime 19 Null 参数值
update_time varchar 32 Null 更新时间
 

6)  系统设置表 setting

字段名 字段类型 长度 可空 描述
id Int 11 Not Null 主键-Id-不可空
site_name varchar 1024 Not Null 网站名称
keywords varchar 1024 Not Null 关键字
description varchar 1024 Null 苗文本
copyright varchar 128 Null 版权
letter_api varchar 255 Null Api地址
open_reg Int 1 Not Null 开启注册0关闭,1开启,默认0
open_invite Int 1 Not nul 开启邀请码注册,0关闭,1开启 默认0
 

7)  邀请码表 invite

字段名 字段类型 长度 可空 描述
id Int 11 Not Null 主键-Id-不可空
invite_code varchar 32 Not Null 邀请码
status Int 1 Not Null 状态,0已使用,1未使用
user_id Int 11 Null 注册用户
update_time datetime   Not Null 创建/更新时间
exp_time datetime   Not Null 到期时间
 

8)  后台管理表 admin

字段名 字段类型 长度 可空 描述
id Int 11 Not Null 主键-Id-不可空
user_name varchar 32 Not Null 用户名
user_pwd varchar 32 Not Null 密码
role_id Int 11 Not null 关联role_id
 

9)  后台角色表 role

字段名 字段类型 长度 可空 描述
id Int 11 Not Null 主键-Id-不可空
name varchar 64 Not Null 角色名
menus Varchar 1024 Null 菜单ID集。逗号分隔

10)    菜单表 menus

字段名 字段类型 长度 可空 描述
id Int 11 Not Null 主键-Id-不可空
title varchar 64 Not Null 菜单名
url varchar 255 Not Null 菜单地址
type Int 1 Not Null 菜单类型,0一级菜单,1二级菜单,默认0
up_id Int 11 Not Null 上级ID,关联本表ID
seq Int 11 Null 排序。值越小越靠前
 

11)    邮箱表 email

字段名 字段类型 长度 可空 描述
id Int 11 Not Null 主键-Id-不可空
smtp varchar 32 Null 服务器
email varchar 32 Null 邮箱账号
password varchar 32 Null 密码
bak_smtp varchar 32 Null 备用服务器
bak_email varchar 32 Null 备用邮箱账号
bak_password varchar 32 Null 备用密码
 
 

12)    网站后缀表 suffix

字段名 字段类型 长度 可空 描述
id Int 11 Not Null 主键-Id-不可空
suffix varchar 32 Not Null 后缀
status varchar 32 Not Null 状态,0关闭,1开启,2默认
 

13)    网站静态后缀表 suffix_static

字段名 字段类型 长度 可空 描述
id Int 11 Not Null 主键-Id-不可空
suffix varchar 32 Not Null 后缀
 

4  项目源代码引导说明

 
  1. 源代码结构截图
  1. Spring mvc配置
  1. 数据源配置
  1. 事物管理
  1. Quartz定时器配置
  1. AOP缓存实现

  1. 后台权限拦截
  1. 源代码类说明
4.1.1.1  com.xss.web.util工具类集合
com.xss.web.util包
CommonUtils 公共util操作方法封装工具
Constants 系统枚举或常量存放点
DateUtils  日期操作工具
EmailSenderUtil 邮件发送工具
EncryptionUtil  密码加密工具
FileUtils 文件读写工具
HibernateConfigurationUtil  hibernate常用操作工具
HqlUtil  hql语句转换工具
HTMLSpirit  html操作工具
HttpUtil  http请求工具
IPager  分页工具,接口
JsonUtil  json测试工具
JSONWriter  json转化工具
JUUIDUtil uuid生成工具
MsgEntity  系统消息容器
PropresUtil 对象操作工具
ReqJsonUtil 基于Gson的json操作工具
RequestUtil  请求转化工具
SpringContextHelper  spring对象池获取工具
StringUtils  字符串操作工具
UploadUtil  文件上传工具
VerificationCodeUtil 验证码生成工具
 
 
4.1.1.2  com.xss.web.annotation 注解合集
CacheHandle  添加缓存注解
DelCacheHandle 删除缓存注解
UpdateCacheHandle 更新缓存注解,暂未使用
 
 
4.1.1.3  com.xss.web.aspect aop层
CacheAspect  基于AOP的缓存实现类
 
 
 
4.1.1.4  com.xss.web.base基础公用层
com.xss.web.base.cache 基础缓存实现
com.xss.web.base.dao  hibernate持久层
com.xss.web.base.page  分页对象实现
com.xss.web.base.thread系统公用线程池
com.xss.web.base.wrapper  xss跨站脚本防御容器
 
 
 
 
4.1.1.5  com.xss.web.cache  缓存层
com.xss.web.cache.base 基础缓存
AdminCache 后台用户类
EmailCache  发信邮箱操作类
InviteCache  邀请码操作类
LetterCache 信封管理类
MenuCache 后台菜单类
ModuleCache 模板类
ProjectCache 项目类
RoleCache 后台角色类
SettingCache  网站设置类
SuffixCache  网站后缀操作类
UserCache  用户类
 
 
4.1.1.6  com.xss.web.controllers controller层
com.xss.web.controllers.base公用controller父类
AdminController 后台管理操作类
Controller 前台首页与周边功能类
Scontroller  收信类
UserController  前台会员操作类
4.1.1.7  com.xss.web.entity 工具对象与系统对象类
HqlEntity  hql对象
HttpEntity   http对象
MsgEntity 系统消息机制容器
PropresEntity  反射常用对象
Record  map封装容器
SimpleConcurrentMap  map封装缓存容器
ThisWhere   hql where条件对象
Where   hql where条件对象
 
 
4.1.1.8  com.xss.web.filter  过滤器层
AdminFilter 后台管理过滤器,包含权限拦截,菜单加载等
BaseFilter 基础信息过滤器,包含项目基础地址加载
SuffixFilter 后缀过滤器,实现系统可控设置后缀或伪静态
UserFilter  用户过滤器,用户身份拦截
XssFilter  预防xss跨站脚本攻击对本系统造成的隐患
 
4.1.1.9  com.xss.web.model  系统实体对象 (hibernate生成)

 
 
4.1.1.10    com.xss.web.service  service层

 
 
4.1.1.11    com.xss.web.task 定时器
EmailInitTask  发信邮箱状态激活定时器
 

你可能感兴趣的:(JAVA)