Journal of Anshan Normal University 鞍山师范学院学报2021-04,23(2):57-60
基于SSM技术的网络安全渗透测试系统的开发
陈志伟
(福建林业职业技术学院自动化工程系,福建南平353000)
摘要使用集成框架技术提升Web系统的开发效率,成为更多软件开发设计人员的首选.当下,网络安
全的重要性已渗透到社会生活的方方面面,而用于发现网站安全漏洞的渗透测试系统还不是很多.为此,
本文以网络安全渗透测试系统的开发研究为目标,使用Spring、SpringMVC和MyBatis框架技术,对系统的
层次及功能进行划分和说明,而后进行系统的设计实现,最后以该系统作为平台测试发现了某网站页面存
在假冒登陆漏洞的事实,并给出了针对性的防范建议.
关键词SSM框架技术;网络安全;渗透测试;漏洞
中图分类号TP3文献标识码A文章编号1008-2441(2021)02-0057-04
随着网络技术和信息安全技术的不断深度融合发展,每天有大量的数据信息往来于互联网,获取这些数据信息变得越来越便捷的同时,存在其中的某些敏感数据会因Web系统本身的漏洞或者弱点而被泄漏,这将给社会或公众带来潜在危害•由此,进行网络安全渗透测试系统的设计⑴,开发出具有高可靠性、低成本和长生命周期等优点的系统[2],以此为平台测试发现网站页面可能存在的安全漏洞,并给出应对措施.
1系统介绍
1.1J2EE和SSM框架
J2EE是在SUN公司的引领和推动下,召集多家公司技术人员协同合作而制定出的一套企业级应用程序开发规范,该规范采用分层设计思想,为搭建具有高复用、高扩展、松耦合的应用系统提供了良好的技术支持.
SSM作为经典的模型(M)—视图(V)—控制
器(C)框架,将系统划分为持久化(Persistence)层、
数据访问(DAO)层、业务(Service)层和Web表现
层,如图1.
1•2系统功能
网络安全渗透测试系统设计按“区”划分,主要
分为测试(题目)区、功能区和推荐区•从具体各区
功能的实现角度出发,对测试区、功能区和推荐区
设计作如下说明:
1.2.1测试区提供进行安全渗透测试的平
图1SSM框架划分系统层次
台,用来发现可疑的网站页面弱点并给出应对措
施.部署有脚本测试模块、注入测试模块、上传测试模块、综合测试模块等,是系统的核心功能所在•图2
收稿日期2020-07-25
作者简介陈志伟(1983-),男,福建福州人,福建林业职业技术学院自动化工程系讲师、工程师,主要从事网络信息安全方向.
58鞍山师范学院学报第23卷
是系统的核心一一测试(题目)区功能模块划分情况.
1.2.2功能区负责对登录测试人员的记录.首先要确认测试人员的有效身份,通过登录类LoginInterceptor获取并判断Session中是否有此用户数据,对不符合条件的给出提示信息.
1.2.3推荐区定期收集、整理当下网络安全、渗透测试新技术等,并及时发布公告.
2系统设计ssm框架实现登录功能
2.1集成环境及支持
系统配置:运行内存为4GB;固态硬盘为100GB;数据库
服务器为Mysql-8.0.12-winx64;Web服务器为Apache-tomcat-
8.0.53;JDK版本为Java(TM)SE Runtime Environment
(build1.8.0_181-b13).
2.2前后端分离设计
本系统前端页面使用Bootstarp和jQuery框架完成页面图2测试区模块
功能的展示,后端则通过J2EE和SSM框架整合来实现系统的前后端分离设计I3】.
Spring框架为开发设计人员提供了注入和面向切面的支持.MyBatis框架通过XML或注解形式进行配置,在实体类和SQL语句间建立关联,以便实现数据的存储、查询、修改和删除等操作[4】.
2.3持久化类设计
数据持久化是将内存中的数据模型转换为存储模型以及将存储模型转换为内存中数据模型的统称⑸,该系统设计的持久化类包括:用户持久化类(User)和数据字典持久化类(BaseDict),如表1、表2所示.
表1系统用户表
字段名类型长度主键说明
user_id int32是用户ID
user_code varchar32否用户账号
user_name varchar50否用户名称
user_psd varchar32否用户密码
user_state varchar1否用户状态(1正常,0暂停)
表2数据字典表
字段名类型长度主键说明
dict_id varchar32是数据字典ID
dict_type_code varchar10否数据字典类别代码
dict_type_name varchar50否数据字典类别名称
dict_item_name varchar50否数据字典项目名称
dict_item_code varchar10否数据字典项目代码
dict_sort int10否排序字段
dict_enable char1否是否可用
dict memo varchar100否备注
3系统实现
从图2可以看出测试(题目)区为本系统的核心,下面主要介绍该区的实现:
首先,创建持久化类,在po包中,创建登录用户和数据字典持久化类.其次,实现DAO层,创建用户DAO层接口和映射文件UserDao接口,接着创建一个与接口同名的映射文件;创建数据字典DAO层接口映射文件BasicDicDao,然后创建一个与接口同名的映射文件.再次,实现Service层,创
建数据字典和用户的Service层接口,并创建这两个接口对应的实现类BaseDicServiceImpl和UserSer-viceImpl.最后,实现Controller层,在ller包中,创建用户控制器类UserCon-troller.其中,引入分页标签文件Page.java用于实现分页,部分代码如下:
第2期陈志伟:基于SSM技术的网络安全渗透测试系统的开发59
//计算总页数
int Total()/Size();
Total()%Size()>0){
pageCount++;
writer.print("<nav><ul class=冶pagination冶>");
String homeUrl=append(url,"page",1);
String backUrl=append(url,"page",pageCount);
//显示“上一页”按钮
Page()>1){
String preUrl=append(url,"page",Page()-1);
preUrl=append(preUrl,"rows",Size());
writer.print("<li><a href=”"+homeUrl+"”>"+"首页</a></li>");
writer.print("<li><a href二”"+preUrl+"”〉"+"上一页</a></li>");
//显示“下一页”按钮
Page()<pageCount){
String nextUrl=append(url,"page",Page()+1);
nextUrl=append(nextUrl,"rows",Size());
writer.print("<li><a href=”"+nextUrl+"”>"+"下一页</a></li>");
writer.print("<li><a href二”"+backUrl+"”>"+"尾页</a></li>");
writer.print("</nav>");
}catch(IOException e){
e.printStackTrace();
4系统测试
假冒(counterfeit),也称伪装、冒充,是一种欺骗或绕过系统登陆验证的手段•一旦系统被冒充者登陆,就会造成越权侵犯行为,给系统安全和数据信息安全造成威胁.
4.1主要步骤
分析网站页面查可能的渗透点寅发现疑似假冒的弱点寅利用该弱点传递/修改参数寅获取Key 值证实漏洞存在寅给出应对措施•
4.2漏洞分析
进入页面http://ncd3.zugencd.eqo/dcugi_cd841f990g5c41762fhf82h4g760c7gd/kpfgz.php,发现Cook
ies中有一个键值是Login=0,怀疑是可以用于假冒渗透测试的弱点,传递或修改参数Login=1,由此思路编写脚本进行渗透:
import requests
ym='http://ncd3.zugencd.eqo/dcug1_cd841f990g5c41762fhf82h4g760c7gd/kpfgz.php'
r=requests.post(ym,cookies={"Login":"1"})
)
60鞍山师范学院学报第23卷
运行上述脚本,得到Key值证实存在安全漏洞,如图3.
Python3.8.3(tags/v3.8.3:6f8c832,May132020,22:37:027[MSC v.192464bit(AMD64)]on win32~
*'or"liceiuseO"for more infoimation.
Type f'help n,**€opyright n,^credits
>»l
==================RESTART:C:\Users\Paisley2014\Desktop\l.py--------------------------------
<head>
<meta http-equiv=,'content-t>pe,'content=,'text/html;charset=utf-8M>
</head>
<body>
key is:yescookieedit7823789KJ
»>
图3渗透得到Key
4.3应对措施
用户可通过IE浏览器“隐私”选项,将隐私设置为完全禁止以阻止Cookie记录信息,也可对网站设置禁止使用Cookies进行编辑,再有就是养成定期清除Cookies的习惯.
5结语
综上,使用框架技术在提升设计人员开发Web系统效率的同时,也有助于系统呈现更好的伸缩性、扩展性和可维护性[6】.本文运用SSM、Bootstarp、jQuery等技术,面向当前主流的Web渗透测试需要,设计实现了该渗透测试系统的主要功能.
参考文献
[1]黄洋.网络安全监管系统的研究与应用[J].计算机光盘软件与应用,2010(9):52-53.
[2]曾冬梅.基于SSM的人事管理系统的设计与实现[J].信息与电脑(理论版),2019(17):84-85.
[3]刘昊,李民.基于SSM框架的客户管理系统设计与实现[J].软件导刊,2017(7):87-89.
[4]陈圣楠.基于SSM框架的信息系统全生命周期管理平台的设计与开发[J].信息技术与信息化,2019(6):79-81.
[5]肖睿,肖静,董宁.SSM轻量级框架应用实战[M].北京:人民邮电出版社,2018.
[6]郑逸凡.基于SSM框架的在线教学系统的设计[J].长沙大学学报,2019(2):41-44.
Development of Network Security Penetration
Testing System Based on SSM Technology
CHEN Zhiwei
(Department of Automation Engineering,Fujian Forestry Vocational and technical college,Nanping Fujian353000,China) Abstract Using integrated framework technology can improve the development efficiency of web system, which has become the first choice of more and more software developers and designers.At present,the impor­tance of network security has penetrated into all aspects of social life,and there are not many penetration tes­ting systems used to detect website security vulnerabilities.Therefore,this paper takes the development and re­search of network security penetration testing system as the goal,uses Spring,Spring MVC and MyBatis frame­work technology to divide and explain the level and function of the system,and then designs and implements the system.Finally,the system is used as a platform to test the fact that a website page has a fake login vulner­ability,and this paper gives some targeted preventive suggestions.
Key words SSM framework technology;Network security;Penetration testing;Vulnerability
(责任编辑:张冬冬)