欢迎来到天天文库
浏览记录
ID:32629130
大小:56.54 KB
页数:5页
时间:2019-02-13
《web应用安全攻防实训平台设计和实现》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、Web应用安全攻防实训平台设计和实现摘要:紧密结合OWASP和TrustWave的安全报告,进行Web应用相关安全威胁(漏洞)特征的分析和提取,并在此基础上设计和实现Web应用安全攻防实训平台,集成了多种类型的Web系统和应用漏洞。在Web应用安全攻防实训平台上,对SQL注入攻防过程进行真实训练,使用户能清晰地看到攻击行为、过程、结果,并能够有针对性地提出SQL注入安全改进建议和完成相关安全措施部署。关键词:OWASP;Web应用漏洞;安全攻防;实训平台;SQL注入一、引言随着计算机与互联网的快速发展,Web应用已经深入各
2、个领域当中。但是由于Web开发人员能力的良莠不齐,致使大量的站点存在着Web应用安全漏洞,这就给攻击者打开方便之门。世界上权威的Web安全与数据库安全研究组织OWASP(OpenWebApplicationSecurityProject)提供的OWASPTOP10WEB安全报告,总结了Web应用程序最可能、最常见、最危险的十大安全威胁,包括SQL注入漏洞;跨站脚本(XSS);直接引用安全漏洞;跨站请求伪造(CSRF);配置安全缺陷;加密存储威胁;未检验重定向等。TrustWave公司在其2012GlobalSecurity
3、Report的十大Web应用安全威胁包括SQL注入漏洞;逻辑缺陷;跨站脚本;授权旁路;会话处理缺陷;旁路认证;跨站请求伪造;源代码泄露;详细的错误信息;脆弱的第三方软件等。Web应用安全受到越来越多的攻击者的关注,一方面是由于传统的C/S架构方式逐渐在往“瘦客户端”的:B/S架构上迁移,而且其应用与数据库系统的结合也更加紧密,使得存在安全漏洞的环节增多;另一方面是由于防火墙和IDS/IPS可以关闭不必要暴露的端口,但是对于Web应用常用的80端口都是对外开放的,这样使得攻击者可以方便地借助于这个通道进行攻击或者执行恶意的操
4、作。二、系统框架设计基于B/S架构的Web应用安全攻防实训平台允许用户使用浏览器与站点进行交互操作,并且可以通过应用来访问后台数据库系统,其架构主要包括以下方向。1.Web应用系统。采用标准HTML代码进行编写用于显示数据和接收用户输入的数据,在NetFramework框架基础上采用C#进行编写代码接受用户端传递过来的参数,负责处理业务逻辑和数据库访问等功能。2.Web应用服务器。用来支持Web应用和用户浏览器之间的正常通信,负责处理HTTP请求/响应消息等操作,采用Windows自带的IIS程序,根据实际需要可以扩展到A
5、pache>Lighttpd等Web应用服务器。1.操作系统和数据库系统。操作系统默认采用WindowsSever系列,后台数据库默认采用SQLServer作为后台数据库系统,根据实际需要可以进行相应扩展MySQL、Access、Oracle等等。攻防实训平台的硬件部分包括Web应用服务器、数据库服务器、防火墙、教师端和学生端等,其系统拓扑图如图1所示。学生端分为校内学生端和校外学生端两组,其中校外学生端通过防火墙进行访问、分析和处理。图1系统拓扑图三、安全漏洞设计和利用在OWASP和TrustWave的报告中,SQL注入
6、漏洞都被列为最危险的攻击形式之一,因此,提取SQL注入漏洞作为分析和测试用例。1.SQL注入漏洞分析。其原理是通过把SQL命令插入到Web表单递交、或输入域名或页面请求的查询字符串中,最终达到欺骗服务器执行恶意的SQL命令,通过构造巧妙的递交参数构造巧妙的SQL语句,从而成功获取想要的数据。其严重后果会使得攻击者得到在数据库服务器上执行命令的权限,并且甚至可以获得管理员的权限进行更为危险的操作。2.SQL注入漏洞构造。为了利用SQL注入漏洞,攻击者必须找到一个参数传递数据,然后这个参数传送到操作数据库的SQL语句中,Web
7、应用程序使用该语句操作数据库,可能导致信息泄漏、数据丢失、记录篡改等危害。在Web应用安全攻防平台的显示页面(view,aspx)的部分代码编写如下。SqlCommandCmd=newSqlCommand("select*fromNewViewwhereid="+Request.QueryString["id"],Conn);SqlDataReaderDr=Cmd.ExecuteReader();其传递过来的参数id,没有做任何的限制和处理就传递给操作数据库的SQL语句,那么该语句就产生了SQL注入漏洞。3•模拟攻击过程。
8、在构造完SQL注入漏洞以后,使用经典的参数后面附带单引号(')、and1=1、and1=2和分号(;)测试数据,分析其返回结果。对于SQLServer的数据库可以采用错误的安全配置和猜解管理员数据表及其内容的方式进行模拟攻击。(1)SA用户权限利用。如果Web应用采用了SA用户进行数据连接,那么可以构造
此文档下载收益归作者所有