收藏 分享(赏)

合肥工业大学软件安全课程设计新闻发布系统.docx

上传人:cjc2202537 文档编号:4837343 上传时间:2019-01-15 格式:DOCX 页数:29 大小:14.76MB
下载 相关 举报
合肥工业大学软件安全课程设计新闻发布系统.docx_第1页
第1页 / 共29页
合肥工业大学软件安全课程设计新闻发布系统.docx_第2页
第2页 / 共29页
合肥工业大学软件安全课程设计新闻发布系统.docx_第3页
第3页 / 共29页
合肥工业大学软件安全课程设计新闻发布系统.docx_第4页
第4页 / 共29页
合肥工业大学软件安全课程设计新闻发布系统.docx_第5页
第5页 / 共29页
点击查看更多>>
资源描述

1、 合肥工业大学计算机与信息学院计算机系 2013 级软件安全课程设计报告姓 名: 马骏 专业年级: 信息安全 13-1 学 号: 2013211869 提交时间: 2016 年 09 月 目录一、 实验题目 4二、 实验目的 4三、实验环境与工具 .4四、 开发过程 44.1 需求分析 .44.1.1 项目目的 .44.1.2 项目背景 .44.1.3 可行性分析 .44.1.4 需求概述 .44.2 功能层次图 54.3 数据描述 54.3.1 静态数据 .54.3.2 动态数据 .64.3.3 数据库描述 .64.3.4 数据流图与数据字典 64.3.5 数据关系 E-R 图 84.4 功

2、能需求 84.4.1 功能划分 .84.4.2 功能描述 .94.4.3、性能需求 94.5 安全需求 94.5.1 新闻发布系统的安全需求概述 .94.5.2 新闻发布系统基本安全表现形式 94.5.3 应用系统的安全需求 104.5.4 网络安全体系结构模型 104.5.5 对边界防护的需求 114.5.6 平台安全的需求 114.5.7 针对网站攻击的安全需求 124.5.8 新闻发布系统安全备份需求 12五、网站实现 135.1 功能实现 135.1.1 登录界面 .135.1.2 游客新闻界面 135.1.3 普通会员可以浏览评论新闻 145.1.4 新闻发布员 .155.1.5 新

3、闻审核员 .165.1.6 系统管理员 .185.2 网站安全设计 195.2.1 登录使用验证码 195.2.2 输入检查防止 SQL 注入 .205.2.3 用户密码使用 MD5 加密 215.2.4 安全退出 .225.2.5 页面中对 session 中的用户信息有检查防止页面跳转 23六、实验总结 23七、参考文献 241、 实验题目新闻发布系统课程设计2、 实验目的本系统的目的是实现新闻发布和浏览的基本功能。新闻发布系统是在网络上提供资源共享、信息交流和协同工作的计算机网络信息系统。随着网络技术的发展和 Internet 应用的普及互联网已成为人们获取信息的重要来源。由于现在各领域

4、对信息的需求越来越高,新闻系统对实现互联网+等有着重要的作用。本系统主要采用了 B/S 设计模式,基于 jsp.NET+SQL Server2008 技术开发了一个新闻发布系统。三、实验环境与工具操作系统:Windows 7开发软件:Myeclipse数据库:SQLServer网站架构:JSP4、 开发过程4.1 需求分析4.1.1 项目目的本系统的目的是实现新闻发布和浏览的基本功能。新闻发布系统是在网络上提供资源共享、信息交流和协同工作的计算机网络信息系统。随着网络技术的发展和 Internet 应用的普及互联网已成为人们获取信息的重要来源。由于现在各领域对信息的需求越来越高,新闻系统对实现

5、互联网+等有着重要的作用。本系统主要采用了 B/S 设计模式,基于 jsp.NET+SQL Server2008 技术开发了一个新闻发布系统。4.1.2 项目背景21 世纪是信息化世纪,实现一个将各种新闻整合和发布等功能集合起来的新闻发布系统就显得十分必要,既可以节省资源又可以有效存储、更新查询新闻,提高工作和服务效率。4.1.3 可行性分析本系统采用 B/S 模式,即浏览器/服务器模式,在这种模式下无需安装客户端,只需计算机能够连接到因特网即可进行操作。网页开发工具采用 MyEclipse,它可以在数据库和 JavaEE 的开发、发布以及应用程序服务器的整合方面极大地提高工作效率。采用 JS

6、P 开发技术,具备 Java 技术的简单易用、完全面向对象和平台无关性且安全可靠。数据库采用 SQLSever,支持十几种操作系统,跨平台、可移植性强,并为多重编程语言提供了 API,优化的 SQL 查询算法,有效地提高查询速度,提供 TCP/IP、ODBC 和 JDBC 等多种数据库连接途径。4.1.4 需求概述用户特点本系统的最终用户是面向管理员(新闻网站管理员和其他管理人员)和访问者(会员和普通用户) ,他们都具有一定的计算机基础知识和操作计算机的能力,是经常性用户。系统维护人员是计算机专业人员,熟悉操作系统和数据库,是间隔性用户。新闻发布系统发布不同类型新闻如政治新闻、体育新闻和经济新

7、闻。系统将用户分为:游客,普通用户,系统管理员、新闻审核员和新闻发布员。游客只可以浏览新闻而不能评论,发布新闻等。普通用户能在本系统中进行新闻浏览,阅读,新闻搜索。每条新闻的标题被做成一个链接,用户点击它们就能跳转页面进行新闻阅读;新闻阅读页面,每条新闻的详细信息将被取出,包括内容、标题等;用户能根据自己的需要搜索新闻,如可以通过新闻标题或新闻内容对新闻进行搜索,这样可以快速地找到符合条件的新闻,并输出搜索结果;用户能对新闻进行被评论。新闻发布员既可以浏览、评论新闻也可以发布新闻。但他发布的新闻需要经过新闻审核员的审核才能发布。新闻审核员可以浏览、评论新闻,他可以批准或撤销新闻发布员提交的新闻

8、,或删除已发布的新闻,但他不可以发布新闻。系统管理员可以进行新闻分类管理、添加版块、修改版块。他可以指定新闻审核员、新闻发布员、普通用户如包括系统用户管理、添加用户和更改账号。但他不可以审核新闻和删除新闻。4.2 功能层次图图一:功能层次图普通用户能在本系统中进行新闻浏览,阅读,新闻搜索。新闻发布员既可以浏览、评论新闻也可以发布新闻。新闻审核员可以浏览、评论新闻,他可以批准或撤销新闻发布员提交的新闻,或删除已发布的新闻,但他不可以发布新闻。系统管理员可以进行新闻分类管理、添加版块、修改版块。他可以指定新闻审核员、新闻发布员、普通用户如包括系统用户管理、添加用户和更改账号。但他不可以审核新闻和删

9、除新闻。4.3 数据描述4.3.1 静态数据新闻:新闻号,新闻所属板块号,新闻标题,新闻内容,发布员号,审核员号板块:板块号,板块标题会员:会员号,会员姓名,邮箱,性别发布员:发布员号,发布员姓名,邮箱,性别审核员:审核员号,审核员姓名,邮箱,性别系统管理员:管理员号,系统管理员姓名,邮箱,性别板块分配表:板块号,发布员号密码表:号码,类型,密码4.3.2 动态数据输入数据:鼠标对按钮的点击,查询方式,查询新闻板块,查询新闻标题等。浏览新闻内容。新建新闻,新建用户。对新闻的审查,删除操作等。会员对新闻的评论等。新闻审核员对新闻的审核等。输出数据:查询新闻板块所确定的数据库子集,新闻显示内容,操

10、作成功或失败的消息,用户添加,板块添加操作时的结果信息。4.3.3 数据库描述数据库采用 SQL Server2008 数据库。4.3.4 数据流图与数据字典4.3.4.1 数据流图图二:普通用户数据流图图三:会员用户数据流图图四:新闻发布员数据流图图五:新闻审核员数据流图图六:系统管理员数据流图4.3.4.2 数据字典数据接口描述(1)名称:普通用户简单描述:完成检索 浏览 新闻数据流:新闻信息(2)名称:会员用户简单描述:完成检索 浏览 评论 新闻数据流:新闻信息 评论信息(3)名称:新闻发布员简单描述:完成检索 浏览 评论 发布 新闻数据流:新闻信息 评论信息 发布新闻信息(4)名称:新

11、闻审核员简单描述:完成检索 浏览 评论 审核 新闻数据流:新闻信息 审核信息(5)名称:系统管理员简单描述:完成检索 浏览 评论 增加 删除 账号 划分版块数据流:新闻信息 账号信息4.3.5 数据关系 E-R 图图七:ER 图4.4 功能需求4.4.1 功能划分新闻发布系统发布不同类型新闻如政治新闻、体育新闻和经济新闻。系统将用户分为:游客,普通用户,系统管理员和新闻发布员。游客只可以浏览新闻而不能评论,发布新闻等。普通用户能在本系统中进行新闻浏览,阅读,新闻搜索。每条新闻的标题被做成一个链接,用户点击它们就能跳转页面进行新闻阅读;新闻阅读页面,每条新闻的详细信息将被取出,包括内容、标题等;

12、用户能根据自己的需要搜索新闻,如可以通过新闻标题或新闻内容对新闻进行搜索,这样可以快速地找到符合条件的新闻,并输出搜索结果;用户能对新闻进行被评论。新闻发布员既可以浏览、评论新闻也可以发布新闻。但他发布的新闻需要经过新闻审核员的审核才能发布。新闻审核员可以浏览、评论新闻,他可以批准或撤销新闻发布员提交的新闻,或删除已发布的新闻,但他不可以发布新闻。系统管理员可以进行新闻分类管理、添加版块、修改版块。他可以指定新闻审核员、新闻发布员、普通用户如包括系统用户管理、添加用户和更改账号。但他不可以审核新闻和删除新闻。4.4.2 功能描述(1)浏览功能所有用户都可以点击新闻标题,进入新闻展示界面浏览新闻

13、,或者按日期、按版块检索新闻。(2)评论功能评论编辑框输入评论,提交时会根据身份选择通过或退回。(3)新闻发布功能只有新闻发布员才可以点击的功能,编辑发布新闻后可以查看已通过、待审核、退回整改的新闻。(4)新闻审核功能新闻审核员才可以点击的功能,选择提交的新闻查看,选择通过或者退回整改。(5)系统管理功能增加版块或者删除版块,更改权限(管理员只有一个,不能将其他用户权限提升到管理员) ,增加或者删除用户。4.4.3、性能需求根据新闻系统的需求进行开发设计,主要实现如下目标:界面设计友好、美观、数据要准确、安全、可靠。强大查询功能,方便用户浏览网站的所有信息。设计会员登陆功能,保证新闻留言的安全

14、性。实现对新闻的添加、修改、删除,便于更新网站内容。系统最大限度地实现易维护性和易操作性。在此系统的开发中就很好的体现了这一点,系统的界面美观 ,典雅 ,充满了人性化;用户操作起来也容易上手。对于一个新闻发布系统而言新闻信息是很多的,而且使用人数较多,所以对系统的安全性有比较高的要求:对于数据库,要设置不同用户的权限,数据的修改必须由合法用户操作。4.5 安全需求4.5.1 新闻发布系统的安全需求概述满足基本的安全要求,是新闻发布系统成功运行的必要条件,在此基础上提供强有力的安全保障,是系统安全运行的重要原则。网络内部部署的众多的网络设备、服务器,保护这些设备的正常运行,维护主要业务系统的安全

15、,是网络的基本安全需求。对于各种各样的网络攻击,如何在提供灵活且高效的网络通讯及信息服务的同时,抵御和发现网络攻击,并且提供跟踪攻击的手段。网站也会经常发生资料泄密事件,而泄密事件是由一系列事件构成的,包括内网非法外联、木马通过外部网络进入内部网络、木马感染主机、泄密、发现泄密事件等阶段。要防止泄密事件的发生,就要阻断木马传播、主动预防、检测和清除木马,形成一个纵深的防御体系。4.5.2 新闻发布系统基本安全表现形式网络正常运行。用户能够浏览新闻,检索新闻等,在受到攻击的情况下,依然能够保证网站正常使用。网络管理/网络部署的资料不被窃取。新闻系统的资源文件需要进行严格的管理。具备先进的入侵检测

16、及跟踪体系。提供灵活而高效的内外通讯服务。采用 B/S 架构,软件,系统安装、修改和维护全 在服务器端解决。用户在使用系统时,仅仅需要一个浏览器就可运行全部的模块,真正达到了“零客户端”的功能,很容易在运行时自动升级 4.5.3 应用系统的安全需求与普通网络应用不同的是,应用系统是网络功能的核心。新闻发布系统应该具有较高级的网络安全措施。应用系统的安全体系应包含一下一些方面。访问控制,通过对特定网段、服务建立的访问控制体系,将绝大多数攻击阻止在到达攻击目标之前。检查安全漏洞,通过对安全漏洞的周期检查,即使攻击可到达攻击目标,也可使绝大多数攻击无效。攻击监控,通过对特定网段、服务建立的攻击监控体

17、系,可实时检测出绝大多数攻击,并采取相应的行动(如断开网络连接、记录攻击过程、跟踪攻击源等) 。加密通讯,主动的加密通讯,可使攻击者不能了解、修改敏感信息。认证,良好的认证体系可防止攻击者假冒合法用户.备份和恢复。良好的备份和恢复机制,可在攻击造成损失时,尽快地恢复数据和系统服务。多层防御,攻击者在突破第一道防线后,延缓或阻断其到达攻击目标。隐藏内部信息,使攻击者不能了解系统内的基本情况。设立安全监控中心,为信息系统提供安全体系管理、监控,维护及紧急情况服务4.5.4 网络安全体系结构模型安全体系结构框架物理安全构架网络安全构架4.5.5 对边界防护的需求木马都是由外部网络传入内部网络的,必须

18、在边界处进行有效的控制,防止恶意行为的发生,实现拒敌于国门之外。针对边界防护,需要考虑加强防护的方面有:1)内网和外网间的边界防护在条件允许的情况下,实现保密内网与外网的物理隔离,从而将攻击者、攻击途径彻底隔断。即使在部分单位,内网、外网有交换数据的需求,也必须部署安全隔离和信息交换系统,从而实现单向信息交换,即只允许外网数据传输到内网,禁止内网信息流出到外网。2)对核心内部服务器的边界防护内网中常包括核心服务器群、内网终端两大部分,核心服务器保存着大部分保密信息。为避免内网终端非法外联、窃密者非法获取核心服务器上的保密数据,就要实现核心服务器与内网终端间的边界防护。感染木马时,核心服务器的边

19、界安全网关能够阻止终端的越权访问,并检查是否含有木马,然后进行清除。但在实现网关的封堵、查杀木马的同时,要防止对系统带宽资源的严重损耗。3)防止不安全的在线非法外联内网与外网的连接点必须做到可管、可控,必须有效监控内网是否存在违规拨号行为、无线上网行为、搭线上网行为,避免内用户采取私自拨号等方式的访问互联网而造成的安全风险。4)防止离线非法外联或不安全的接入行为要限制终端设备,如 PC 机、笔记本,直接接入并访问内网区域,对于不符合安全条件的设备(比如没有安装防病毒软件,操作系统没有及时升级补丁,没有获得合法分配的 IP 地址或离线外联过),则必须禁止进入。4.5.6 平台安全的需求网络平台将

20、支持多种应用系统,对于每种系统均在不同程度上要求充分考虑平台安全。平台安全与平台性能和功能的关系通常,系统安全与性能和功能是一对矛盾的关系。如果某个系统不向外界提供任何服务(断开),外界是不可能构成安全威胁的。但是,若要提供更多的服务,将网络建成了一个开放的网络环境,各种安全包括系统级的安全问题也随之产生。构建平台安全系统,一方面由于要进行认证、加密、监听、分析、记录等工作,由此影响网络效率,并且降低客户应用的灵活性;另一方面也增加了管理费用。但是,来自网络的安全威胁是实际存在的,特别是在网络上运行关键业务时,网络安全是首先要解决的问题。选择适当的技术和产品,制订灵活的网络安全策略,在保证网络

21、安全的情况下,提供灵活的网络服务通道。采用适当的安全体系设计和管理计划,能够有效降低网络安全对网络性能的影响并降低管理费用。平台安全的管理因素平台安全可以采用多种技术来增强和执行。但是,很多安全威胁来源于管理上的松懈及对安全威胁的认识。来自平台方面的安全威胁主要利用以下途径:系统实现存在的漏洞,系统安全体系的缺陷。 使用人员的安全意识薄弱,管理制度的薄弱。良好的平台管理有助于增强系统的安全性。及时发现系统安全的漏洞。审查系统安全体系,加强对使用人员的安全知识教育。建立完善的系统管理制度。网络安全问题,从网络结构上来讲涉及到网络结构的各个层次,按照 OSI 七层模型,网络安全贯穿于整个七层模型,

22、针对网络实际运行的TCP/IP 协议,网络安全贯穿于信息系统的 4 个层次,即物理层、链路层、网络层和应用层(包括应用系统和应用平台) 。4.5.7 针对网站攻击的安全需求常见的 Web 攻击分为两类:一是利用 Web 服务器的漏洞进行攻击,如 CGI 缓冲区溢出,目录遍历漏洞利用等攻击;二是利用网页自身的安全漏洞进行攻击,如 SQL 注入,跨站脚本攻击等。常见的针对 Web 应用的攻击有:缓冲区溢出攻击者利用超出缓冲区大小的请求和构造的二进制代码让服务器执行溢出堆栈中的恶意指令Cookie 假冒精心修改 cookie 数据进行用户假冒认证逃避攻击者利用不安全的证书和身份管理非法输入在动态网页

23、的输入中使用各种非法数据,获取服务器敏感数据强制访问访问未授权的网页隐藏变量篡改对网页中的隐藏变量进行修改,欺骗服务器程序拒绝服务攻击构造大量的非法请求,使 Web 服务器不能相应正常用户的访问跨站脚本攻击提交非法脚本,其他用户浏览时盗取用户帐号等信息SQL 注入构造 SQL 代码让服务器执行,获取敏感数据下面列举简单的两个攻击手段进行说明。SQL 注入对于和后台数据库产生交互的网页,如果没有对用户输入数据的合法性进行全面的判断,就会使应用程序存在安全隐患。用户可以在可以提交正常数据的 URL 或者表单输入框中提交一段精心构造的数据库查询代码,使后台应用执行攻击着的 SQL 代码,攻击者根据程

24、序返回的结果,获得某些他想得知的敏感数据,如管理员密码,保密商业资料等。跨站脚本攻击由于网页可以包含由服务器生成的、并且由客户机浏览器解释的文本和 HTML 标记。如果不可信的内容被引入到动态页面中,则无论是网站还是客户机都没有足够的信息识别这种情况并采取保护措施。攻击者如果知道某一网站上的应用程序接收跨站点脚本的提交,他就可以在网上上提交可以完成攻击的脚本,如 JavaScript、VBScript、ActiveX、HTML 或 Flash 等内容,普通用户一旦点击了网页上这些攻击者提交的脚本,那么就会在用户客户机上执行,完成从截获帐户、更改用户设置、窃取和篡改 cookie 到虚假广告在内

25、的种种攻击行为。随着攻击向应用层发展,传统网络安全设备不能有效的解决目前的安全威胁,网络中的应用部署面临的安全问题必须通过一种全新设计的高性能防护应用层攻击的安全防火墙应用防火墙来解决。应用防火墙通过执行应用会话内部的请求来处理应用层。应用防火墙专门保护 Web 应用通信流和所有相关的应用资源免受利用 Web 协议发动的攻击。应用防火墙可以阻止将应用行为用于恶意目的的浏览器和 HTTP 攻击。这些攻击包括利用特殊字符或通配符修改数据的数据攻击,设法得到命令串或逻辑语句的逻辑内容攻击,以及以账户、文件或主机为主要目标的目标攻击。4.5.8 新闻发布系统安全备份需求数据安全是一个非常广泛的范畴,简

26、单来说就是利用现成的或用户定制的软件或硬件技术建立起系统,阻止恶意破坏或弥补操作失误的技术。数据备份作为数据安全的一种保护方式是通过提前复制数据,防止数据丢失的一种方法。而数据恢复的目标是通过一定的技术手段 查找并保存在计算机系统中遭到破坏,通过一般方法已经无法获取的数据文件,也就是说,即使破坏已经突破了防火墙,或者备份文件由于各种因素已经遭到破坏, 通过数据恢复技术仍有可能完整的找回丢失的数据。目前市场上具有数据恢复功能的技术大致可分为三类:第一类,数据备份类软件内置数据恢复功能,其数据恢复功能是通过备份或存储数据来恢复当初状态来实现的。随着云计算相应技术的发展,这种数据恢复方式正被越来越多

27、的企业所认可;第二类,反病毒软件内置数据恢复功能,其数据恢复功能比较有限,对病毒以外原因造成的数据丢失往往束手无策;第三类,专业的数据恢复软件,它除了具有数据恢复、数据存储等功能外,它更强调事后补救功能,即在不破坏原有的系统的情况下,对以任何原因被损坏的数据都能进行修复。五、网站实现5.1 功能实现5.1.1 登录界面登录需要用户输入用户名和密码,并选择用户类型,游客可以直接点击游客请进进入5.1.2 游客新闻界面游客可以浏览任意新闻,但是不能评论5.1.3 普通会员可以浏览评论新闻5.1.4 新闻发布员新闻发布员不仅可以浏览评论新闻,也可以发布新闻5.1.5 新闻审核员新闻审核员可以浏览评论

28、新闻,可以删除或修改新闻,也可以删除评论,但不可以发表评论5.1.6 系统管理员系统管理员可以浏览所有用户的信息及权限,可以修改和删除用户,也可以注册用户5.2 网站安全设计5.2.1 登录使用验证码5.2.2 输入检查防止 SQL 注入5.2.3 用户密码使用 MD5 加密5.2.4 安全退出安全退出功能 清空 session5.2.5 页面中对 session 中的用户信息有检查防止页面跳转六、实验总结随着网络应用的深入普及,网络安全越来越重要,国家和企业都对网络系统安全有了更高的要求。本文对新闻发布系统需求分析的基础上针对系统安全架构与设计进行了安全分析,细化了网站安全的安全架构过程,给

29、出了安全体系结构模型和策略管理执行模型的设计与实现,把安全体系结构、安全策略管理的实现和网络安全的实现机制有机地结合在一起从而实现了从高级安全策略向网络安全实现机制的平滑过渡,为接下来的系统安全架构与设计做好准备。SQL 注入漏洞攻击在网上非常普遍,许多 ASP、PHP 论坛和文章管理系统、下载系统以及新闻系统都存在这个漏洞。造成 SQL 注入漏洞攻击的主要原因是开发人员在系统开发的过程中编程不规范,没有形成良好的编程习惯,问题的解决只有依赖于规范编程。通过本次实验的学习,我对 SQL 注入攻击有了更加深刻的了解。在软件安全的实验中,我不仅提高了编程能力,将书本的知识融会贯通,而且提高了安全意识,对以后参加工程的开发起到很大的帮助作用。同时在学习实验中还存在很多不足之处,希望在今后的学习研究中继续解决。七、参考文献1 姜强.SQ Server 与 JSP 动态网站开发 M.北京:电子工业出版社,2013.8

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 实用文档 > 课程设计

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报