WEB安全解析1.docx
- 文档编号:29451146
- 上传时间:2023-07-23
- 格式:DOCX
- 页数:27
- 大小:2.38MB
WEB安全解析1.docx
《WEB安全解析1.docx》由会员分享,可在线阅读,更多相关《WEB安全解析1.docx(27页珍藏版)》请在冰豆网上搜索。
WEB安全解析1
甘肃政法学院
本科生实验报告
(一)
姓名:
王顺龙
学院:
公安技术学院
专业:
网络安全与执法
班级:
网络安全与执法本科班
实验课程名称:
WEB安全解析
实验日期:
2017-4-22
指导教师及职称:
金涛
实验成绩:
开课时间:
2016至2017学年第一学期
甘肃政法学院实验管理中心印制
题目
SQL注入攻击实验、跨站脚本攻击(XSS)实验、单点登录实验、网页防篡改实验
小组合作
是
姓名
王顺龙
班级
网络安全与执法
学号
201483030131
一、实验目的
熟悉SQL注入的定义
对给定网站进行脚本注入式的攻击
进行跨站点攻击实验
进行单点登陆实验
进行网络防篡改实验
二.实验环境
本地主机(WindowsXP系统)、Windows实验台(Windows2003系统)、动网论坛6.0版本、
三、实验内容与步骤
启动虚拟机,并设置实验台的IP地址,172.20.3.15以实验台为目标主机进行攻防试验。
个别实验学生可以以2人一组的形式,互为攻击方和被攻击方来做实验。
一、获取后台用户名
以动网论坛6.0为例,在地址栏中输入http:
//172.20.3.15/page6/index.asp访问论坛首页,通过下图可以看到一共有2位注册会员。
图3.6.12
http:
//172.20.3.15/Page6/tongji.asp?
orders=2&N=10后显示出了整个论坛中2位用户的用户名。
图3.6.13
(1)在地址栏中输入:
(注意输入命令最后的逗号)
http:
//172.20.3.15/Page6/tongji.asp?
orders=2&N=10%20userclass,后,如下显示,其中管理员的身份已经被标出。
图3.6.14
(2)在地址栏中输入:
(注意输入命令最后的逗号)
http:
//172.20.3.15/Page6/tongji.asp?
orders=2&N=10%20userid,
显示论坛中用户的注册次序。
图3.6.15
(3)在地址栏中输入:
(注意输入命令最后的逗号)
http:
//172.20.3.15/Page6/tongji.asp?
orders=2&N=10%20userpassword,显示2个用户的密码,被MD5进行了加密。
图3.6.16
(4)在地址栏中输入:
(注意输入命令最后的逗号)
http:
//172.20.3.15172.20.3.15/Page6/tongji.asp?
orders=2&N=10%20quesion,显示的是论坛中用户忘记密码后的提示问题。
图3.6.17
(5)在地址栏中输入:
(注意输入命令最后的逗号)
http:
//172.20.3.15/Page6/tongji.asp?
orders=2&N=10%20answer,显示用户忘记密码后提示问题的答案,也是通过MD5加密的。
图3.6.18
二、构造SQL注入点
构造SQL注入点文件(slq.asp),代码如下:
(注:
此sql.asp文件可以从工具箱中下载)
<%
strSQLServerName="."'数据库实例名称(说明:
“.”表示本地数据库)
strSQLDBUserName="sa"'数据库帐号
strSQLDBPassword="123456"'数据库密码
strSQLDBName="test"'数据库名称
Setconn=Server.createObject("ADODB.Connection")
strCon="Provider=SQLOLEDB.1;PersistSecurityInfo=False;Server="&strSQLServerName&";UserID="&strSQLDBUserName&";Password="&strSQLDBPassword&";Database="&strSQLDBName&";"
conn.openstrCon
dimrs,strSQL,id
setrs=server.createobject("ADODB.recordset")
id=request("id")
strSQL="select*fromadminwhereid="&id
rs.openstrSQL,conn,1,3
rs.close
%>
Test!
!
!
!
一般在写ASP程序的时候,会反复调用数据库,为了管理方便,所以把这个连接数据库的语句和配置写成一个独立的文件,需要用的时候再引用。
后来这方法广泛使用,也就是conn.asp这个文件,全称是:
connection,也就是连接的意思。
一般为了防止SQL注入,会在conn.asp文件中对行动态调用的变量进行一些关键字或者符号进行过滤。
如果在conn.asp文件中没有对这些符号或关键字进行过滤,当在进行动态调用的时候就可出现注入点从而实现注入。
上面的代码基于此原理而写。
其中strSQL="select*fromadminwhereid="&id可以判断这是一种数字型的注入(如果是字符型则应为在id后加撇号‘)。
在这里,我把这个写好的存在漏洞的文件保存为sql.asp,放入实验台中动网6.0的根目录中。
在该文件中,并没有对变量字段id进行过滤。
因此该注入点可被找到并注入。
启动啊Dsql注入工具,直接单击[登陆]按钮进入攻击界面:
图3.6.19
在检测网址输入框中输入我们构造的SQL注入点”http:
//172.20.3.15/page6/sql.asp?
id=1”,点击红色的打开网页图标。
这时我们可以看到该工具已经检测出注入点,并用红色的字体标出。
图3.6.110
选择SQL注入检测,界面如下:
图3.6.111
点击检测按键后,界面为:
图3.6.112
点击检测表段、字段按钮,则会显示出我们之前所建立的表和字段,在点检测内容,则把我们所构造的表中的所有信息全显示了出来。
在底下的当前库中显示了该表所在的数据库。
连接类型为数字型也被检测出来了。
数据库也显示出来了MSSQL,当前用户为dbo,即sa。
当前的权限也为sa权限。
点击跨库按键,则显示出了当前主机中所有的数据库。
如下图所示。
图3.6.113
从列表中选择某个数据库,然后点击检测表段、字段、内容。
所选数据库中的所有内容都可以被显示出来。
如下图所示。
图3.6.114
2跨站脚本攻击(XSS)实验
【实验步骤】
(1)打开Windows实验台,然后在IE浏览器中输入http:
//localhost/xss-test.asp,得到如图3.6.21所示的界面,此网页可以直接输出文本框中输入的内容。
图3.6.21
(2)尝试输入任意字符、符号、数字,查看网页,如下所示。
图3.6.22输入字母“abcbc”所得页面
图3.6.23输入数字“123123”
图3.6.24输入“@#@#@#”
从上面的图片可以看出,页面是显示正常的。
(3)检测能否XSS
在输入栏中分别输入:
弹出提示框
alert('XSS')">弹出提示框 弹出用户COOKIES //localhost/xss-test.asp>在当前页插入另一站点 并查看效果,效果如图3.6.25和图3.6.26所示。 图3.6.25输入之后的效果 图3.6.26输入 //localhost/xss-test.asp>之后的效果 通过上面的实验,能够看出,由于页面对于特殊符号未进行过滤,导致了跨站的产生,如图3.6.26,如果这时 3单点登录实验 一、具体流程 用户数据库: users;Singlelogin站点为主站点,apply1、apply2分别为分站点。 (一)登录流程(假设登录apply1站点登录的用户为xiaoliu) (1)首先验证用户的分站点凭证,如果存在,登录成功。 否则就查看apply1是否有令牌,如果有令牌,则给apply1发放分站点凭证,登录成功。 如果均不存在,则返回主站点要求用户登录。 (2)通过主站点的登录页面输入用户名xiaoliu以及密码123456。 (3)对输入的用户名和相应的密码users中查找,如果没有找到相应用户或者用户密码不正确则返回登录页面。 (4)登录后,将用户登录信息存储到Cache中,给apply1和apply2发放令牌,并且给原分站点发放分站点凭证,成功登录apply1。 (二)退出流程(假设登出apply1站点,登出的用户为xiaoliu) (1)点击“注销”按钮后,收回分站点apply1的分站点凭证,并返回主站点。 (2)在主站点注销用户xiaoliu的相关Cache。 (3)退出成功。 (三)访问流程(登录后,在各个子应用间切换) 假设xiaoliu已经通过singlelogin站点的入口成功登录了apply1站点,并且认证中心正常工作。 (1)如果此时访问apply2站点,判断apply2站点中是否有分站点凭证,如果有登录成功。 (2)如果apply2没有分站点凭证,则查看其是否拥有令牌,如果令牌存在则可以访问,否则返回主站点,要求用户登录。 (3)如果用户拥有了站点凭证,可以访问站点下任何一个子网页。 (4)当注销后,分站点凭证和令牌都被收回,用户将不能访问所有站点。 过程和退出过程类似。 如图3.6.31所示为单点登录的访问流程图。 图3.6.31访问流程图 二、具体实施过程 (1)启动Windows实验台,打开IIS管理器,在网站下面找到应用站点apply1和apply2。 (2)打开IE浏览器,设置通过httpwatch观察网页的跳转过程,如图3.6.32启动httpwatch;点击“记录”,如图3.6.33所示选择许可文件httpwatch.lic,然后浏览站点apply1下边的网页line1.aspx。 图3.6.32 图3.6.33 图3.6.34 (3)先浏览站点apply1下边的网页line1.aspx然后登陆(用户名xiaoliu,密码123456).打开line1的时候,会首先验证分站凭证(也就是session信息)是否存在,接着去验证是否有令牌(也就是Cache信息),显然都不存在,所以要求用户到主站去登录,当用户输入正确的用户名和密码的时候,主站点会根据请求地址返回,并给请求的分站点发放令牌和分站凭证。 具体分析依次如图3.6.34、图3.6.35、图3.6.36和图3.6.37所示,注意httpwatch选择查看“标题”信息。 图3.6.35登录line1.aspx (1) 图3.6.36登录line1.aspx (2) 图3.6.37登录line1.aspx(3) 图3.6.38登录line1.aspx(4) (4)这个时候如果我们登录apply2的line2(在IIS服务器中选择“浏览”),首先要检查line2的分站凭证(line2和line1是相互独立的站点,所以接受不到line1的session),接下来检查line2的令牌,apply2可以接受到主站发放的令牌,这时候给line2发放分站凭证,登录成功。 具体过程分析依次如图3.6.38、图3.6.39和图3.6.310所示。 图3.6.39登录line2.aspx (1) 图3.6.310登录line2.aspx (2) 图3.6.311登录line2.aspx(3) (5)接下来如果我们在line2中注销用户,分站凭证被删除,返回主站点,收回用户的令牌后返回登录界面,具体过程分析如图3.6.311和图3.6.312所示。 图3.6.312在line2.aspx中注销 (1) 图3.6.313在line2.aspx中注销 (2) (6)这个时候我们再浏览line1的时候,页面先会去查看分站凭证,由于已经没有分站凭证,而且令牌也被删除,如图3.6.313所示,所以用户被要求重新去登录。 图3.6.314line2.aspx注销后刷新line1.aspx 4.网页防篡改实验 一、木马攻击 (1)在Windows实验台中启动qjsc网页服务(默认已启动)。 (2)在本地主机启动IE浏览器(需是6.0版本,如是其它版本可启动Windows实验台内的IE)。 (3)打开Windows实验台qjsc网站的管理登录页面,如图3.6.42所示(本例为http: //172.20.3.72/qjsc/admin/Login.asp)。 图3.6.42管理登录 (4)登录后打开侧边栏(用户名admin;密码123),如图3.6.43所示。 图3.6.43点击打开侧边栏 (5)选择“下载中心|添加下载程序”,点击“下载说明”中的“插入图片”按钮,如图3.6.44所示;在文件路径选择放置木马的路径(本例为C: \木马网页\vote.asp,随意编辑一个文件用于实验即可),点击“上传文件”,会提示文件格式不对,如图3.6.45所示。 图3.6.44插入图片按钮 图3.6.45格式提示 (6)复制一份木马,将其后缀名改为jpg格式,再次上传成功,如图3.6.46所示。 图3.6.46上传成功 (7)点击“下载说明”下方的“HTML视图”,可以查看上传图片的路径,如图3.6.47所示,按Ctrl+C复制其路径。 图3.6.47查看路径 (8)在其它必填框中随意输入一些其它信息并提交,如图3.6.48所示。 图3.6.48提交成功 (9)点击“系统管理|数据库备份”,在“当前数据库路径”中填入刚复制的上传文件路径,在备份名称中填入后缀名为asp的文件,如图3.6.49所示。 图3.6.49备份文件 (10)点击“确认”后,会有备份成功提示并给出完整的备份路径,如图3.6.410所示,这样我们就可以完全利用该木马了;可在实验台的备份路径下查看该文件,如图3.6.411所示。 图3.6.410显示备份路径 图3.6.411查看文件 二、防篡改测试 (1)点击运行Safe3网页防篡改系统,输入登录密码(admin),如图3.6.412所示。 图3.6.412登录界面 (2)添加对应的保护规则(保护文件夹为C: \Inetpub\wwwroot\qjsc\admin\Databackup),如图3.6.413和图3.6.414所示。 图3.6.413选择保护路径 图3.6.414添加规则 (3)在此进行数据库备份操作以上传木马,比较前后区别,验证保护规则的有效性,如图3.6.415和图3.6.416所示。 图3.6.415重新复制 图3.6.416复制失败 四、实验分析 通过实验自己知道了SQL(StructuredQueryLanguage)即结构化查询语言,是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。 对于SQL注入的定义,目前并没有统一的说法。 微软中国技术中心从两个方面进行了描述,即第一是脚本注入式的攻击,第二是恶意用户输入用来影响被执行的SQL脚本。 就其本质而言,SQL注入式攻击就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串,由于在服务器端未经严格的有效性验证,而欺骗服务器执行恶意的SQL命令。 实际上,SQL注入是存在于有数据库连接的应用程序中的一种漏洞,攻击者通过在应用程序中预先定义好的查询语句结尾加上额外的SQL语句元素,欺骗数据库服务器执行非授权的查询。 这类应用程序一般是基于Web的应用程序,它允许用户输入查询条件;并将查询条件嵌入SQL请求语句中,发送到与该应用程序相关联的数据库服务器中去执行。 通过构造一些畸形的输入,攻击者能够操作这种请求语句去获取预先未知的结果。 跨站脚本攻击(XSS)实验 本次实验让自己知道了跨站点攻击的原理以及方式进一步加深了自己对网络安全的理解。 XSS(CrossSiteScript)的全称是跨站脚本,其基本攻击原理是: 用户提交的变量没有经过完整过滤Html字符或者根本就没有经过过滤就放到了数据库中,一个恶意用户提交的Html代码被其它浏览该网站的用户访问,通过这些Html代码也就间接控制了浏览者的浏览器,就可以做很多的事情,如: 窃取敏感信息、引导访问者的浏览器去访问恶意网站等。 一、XSS攻击的两种方式 内跨站(来自自身的攻击)主要指的是利用程序自身的漏洞,构造跨站语句。 外跨站(来自外部的攻击)主要指的自己构造XSS跨站漏洞网页或者寻找非目标机以外的有跨站漏洞的网页。 例如: 当我们要渗透一个站点,我们自己构造一个有跨站漏洞的网页,然后构造跨站语句,通过结合其它技术,如社会工程学等,欺骗目标服务器的管理员打开。 二、XSS攻击的危害 (1)针对性挂马 这类网站一定是游戏网站,银行网站或者是关于QQ、taobao或者影响力相当大的网站,挂马(网页木马)的目的无法是盗号或者批量抓肉鸡。 (2)用户权限下操作 这类网站一般有会员,而且这些会员有很多有意义的操作或者有我们需要的内部个人资料,所以我们可以通过XSS对已登录访问者进行有权限操作。 例如: 盗取用户cookies,从而获取用户某些信息或者进行权限下的相关操作。 (3)DoS攻击 这同样需要一个访问量非常大的站点,我们可以通过访问此页的用户不间断的攻击其它站点,或者进行局域网扫描等等。 (4)实现特殊效果 譬如在XX空间的插入视频、插入版块;还有一些人在新浪博客实现了特殊效果等等。 3.单点登陆实验 本次实验让自己明白了单点登录(SingleSignOn),简称为SSO,是目前比较流行的企业业务整合的解决方案之一。 SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。 它包括可以将这次主要的登录映射到其它应用中用于同一个用户的登录的机制。 当用户第一次访问应用系统1的时候,因为还没有登录,会被引导到认证系统中进行登录;根据用户提供的登录信息,认证系统进行身份效验,如果通过效验,应该返回给用户一个认证的凭据--ticket;用户再访问别的应用的时候就会将这个ticket带上,作为自己认证的凭据,应用系统接受到请求之后会把ticket送到认证系统进行效验,检查ticket的合法性。 如果通过效验,用户就可以在不用再次登录的情况下访问应用系统2和应用系统3了。 4.网页防篡改实验 本次实验自己知道了网页被篡改的原因和特点 黑客强烈的表现欲望,国内外非法组织的不法企图,商业竞争对手的恶意攻击,不满情绪离职员工的发泄等等都将导致网页被篡改。 网页篡改攻击事件具有以下特点: 篡改网站页面传播速度快、阅读人群多;复制容易,事后消除影响难;预先检查和实时防范较难;网络环境复杂难以追查责任,攻击工具简单且向智能化趋势发展。 和网页防篡改技术的发展历程 (1)(起始点)人工对比检测 人工对比检测,其实就是一种专门指派网络管理人员,人工监控需要保护的网站,一旦发现被篡改,然后以人力对其修改还原的手段。 严格的说来,人工对比检测不能算是一种网页防篡改系统采用的技术,而只能算是一种原始的应对网页被篡改的手段。 但是其在网页防篡改的技术发展历程中存在一段相当的时间,所以在这里我们把它作为网页防篡改技术发展的起始点。 这种手段非常原始且效果不佳,且不说人力成本较高,其最致命的缺陷在于人力监控不能达到即时性,也就是不能在第一时间发现网页被篡改也不能在第一时间做出还原,当管理人员发现网页被篡改再做还原时,被篡改的网页已在互联网存在了一段时间,可能已经被一定数量的网民浏览。 (2)(第一代)时间轮巡技术 时间轮巡技术(也可称为“外挂轮巡技术”)。 在这里将其称为网页防篡改技术的第一代。 从这一代开始,网页防篡技术已经摆脱了以人力检测恢复为主体的原始手段而作为一种自动化的技术形式出现。 时间轮询技术是利用一个网页检测程序,以轮询方式读出要监控的网页,与真实网页相比较,来判断网页内容的完整性,对于被篡改的网页进行报警和恢复。 但是,采用时间轮询式的网页防篡改系统,对每个网页来说,轮询扫描存在着时间间隔,一般为数十分钟,在这数十分钟的间隔中,黑客可以攻击系统并使访问者访问到被篡改的网页。 此类应用在过去网页访问量较少,具体网页应用较少的情况下适用,目前网站页面通常少则上百页,检测轮巡时间更长,且占用系统资源较大,该技术逐渐被淘汰。 (3)(第二代)事件触发技术&核心内迁嵌技术 在这里将事件触发技术与核心内嵌技术两种技术放在同一代来说,因为这两种网页防篡改技术出现的时间差距不大,而且两种技术常常被结合使用。 所谓核心内嵌技术即密码水印技术,最初先将网页内容采取非对称加密存放,在外来访问请求时将经过加密验证过的,进行解密对外发布,若未经过验证,则拒绝对外发布,调用备份网站文件进行验证解密后对外发布。 此种技术通常要结合事件触发机制对文件的部分属性进行对比,如大小,页面生成时间等做判断,无法更准确的进行其它属性的判断。 其最大的特点就是安全性相对外挂轮巡技术安全性大大提高,但不足是加密计算会占用大量服务器资源,系统反映较慢。 核心内嵌技术就避免了时间轮巡技术的轮巡间隔这个缺点,但是由于这种技术是对每个流出网页都进行完整检查,占用巨大的系统资源,给服务器造成较大负载。 且对网页正常发布流程作了更改,整个网站需要重新架构,增加新的发布服务器替代原先的服务器。 随着技术发展以及网上各类应用的增多,对服务器的负载资源简直可以用“苛刻”来形容,任何占用服务器资源的部分都要淘汰,来确保网站的高访问效率,如此一来,内嵌技术(即密码技术)最终将被淘汰。 (4)(第三代)文件过滤驱动技术+事件触发技术 文件过滤驱动技术的最初应用于军方和保密系统,作为文件保护技术和各类审计技术,甚至被一些狡猾好事者应用于“流氓软件”,该技术可以说是让人喜忧参半。 在网页防篡改技术革新当中,该技术找到了其发展的空间。 与事件触发技术结合,形成了今天的第三代网页防篡改保护技术。 其原理是: 将篡改监测的核心程序通过微软文件底层驱动技术应用到Web服务器中,通过事件触发方式进行自动监测,对文件夹的所有文件内容,对照其底层文件属性,经过内置散列快速算法,实时进行监测,若发现属性变更,通过非协议方式、纯文件安全拷贝方式将备份路径文件夹内容拷贝到监测文件夹相应文件位置,通过底层文件驱动技术,整个文件复制过程为毫秒级,使得公众无法看到被篡改页面,其运行性能和检测实时性都达到最高的水准。 页面防篡改模块采用Web服务器底层文件过滤驱动级保护技术,与操作系统紧密结合,所监测的文件类型不限,可以是一个html文件也可以是一段动态代码,执行准确率高。 这样
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- WEB 安全 解析