Web网站渗透测试论文.docx

上传人:b****2 文档编号:2020513 上传时间:2022-10-26 格式:DOCX 页数:27 大小:2.70MB
下载 相关 举报
Web网站渗透测试论文.docx_第1页
第1页 / 共27页
Web网站渗透测试论文.docx_第2页
第2页 / 共27页
Web网站渗透测试论文.docx_第3页
第3页 / 共27页
Web网站渗透测试论文.docx_第4页
第4页 / 共27页
Web网站渗透测试论文.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

Web网站渗透测试论文.docx

《Web网站渗透测试论文.docx》由会员分享,可在线阅读,更多相关《Web网站渗透测试论文.docx(27页珍藏版)》请在冰豆网上搜索。

Web网站渗透测试论文.docx

Web网站渗透测试论文

Web网站渗透测试论文

----------------------------------------------装订线----------------------------------------------

 

XXX职业技术学院

毕业设计(论文)

 

题目:

Web网站渗透测试技术研究

 

系(院)

信息系

专业班级

计算机网络

学号

1234567890

学生姓名

XXX

校内导师

XXX

职称

讲师

企业导师

XXX

职称

工程师

企业导师

XXX

职称

工程师

 

第一章概述

1.1网络安全概述

随着网络技术的发展,网络已经越来越多地渗透到当前社会生活的方方面面,网上电子商务、电子政务、电子金融等业务日益普及,网络上的敏感数据也越来越多,自然对网络安全提出了更高的要求。

根据一般的定义,网络安全是指网络系统的硬件、软件及其系统中的数据受到保护,不因偶然的或者恶意的原因而遭受到破坏、更改、泄露,系统连续可靠正常地运行,网络服务不中断。

要做到这一点,必须保证网络系统软件、应用软件、数据库系统具有一定的安全保护功能,并保证网络部件,如终端、调制解调器、数据链路的功能仅仅能被那些被授权的人访问。

在现实世界中,由于网络相关的各种软硬件安装、配置、管理上面基本不可能做到没有任何缺陷和漏洞,所以可以说不存在绝对的网络安全。

尤其在当下网络技术逐渐普及扩散的情境下,防范各种形式的黑客攻击是网络资源管理者必须严肃考虑的问题。

根据黑客攻击的类型,大致可以分为两种,一种是直接针对操作系统本身或应用软件的安全漏洞进行的攻击,传统的注入端口扫描、弱口令爆破、缓冲器溢出都属于这种类型的攻击,如果攻击成功往往可以直接远程控制目标系统,因此一旦出问题危害极大,但针对这种攻击的防范技术也比较成熟,采用最新的安全操作系统、强大的防火墙和IDS入侵检测系统可以将绝大部分入侵企图拒之门外。

另外一种就是针对动态Web网站进行的攻击,它不像针对系统的攻击那样直接,成功后能在目标系统上进行的操作有限,往往还需要进行提权等后续工作,但目前Web网站本身设计上的安全防护水平普遍不高,针对Web网站的防范措施目前也还不够成熟,所以有安全问题的Web网站非常多,Web网站的攻防也是现在安全技术领域的研究热点。

1.2Web网站面临的威胁

传统上,网络应用业务采用C/S(客户机和服务器)模式,即开发出安装在普通客户计算机上的递交申请业务模块和安装在高性能服务器上的响应请求业务模块,这样做的好处是性能高,响应速度快,但缺点是需要为每个业务专门开发不同的服务端和客户端,开发和学习的成本也高,所以现在的趋势是将所有的服务模块都放到Web网站上,而客户机统一使用浏览器去访问Web网站去实现业务功能。

用Web网站形式开发网络业务有不少优点,首先是客户端统一为浏览器、降低了这方面的学习成本,另一方面,Web网站的主流开发语言(ASP、PHP、JSP等)是动态脚本语言,比起用C/C++、Java等语言开发C/S程序,难度有所降低,有利于快速开发出所需的项目。

但是从安全方面考虑,由于Web网站牵涉到的一些网络协议先天的不足,以及由于网络技术发展太快,网站复杂程度随着需求扩展不断膨胀,而网站开发程序员的水平和安全意识往往没有跟上,导致Web网站非常容易出现各种安全漏洞,使黑客能够对其进行各种形式的攻击,常见的Web安全漏洞主要有SQL注入和XSS跨站攻击等。

1SQL注入

SQL注入(SQLinjection)是发生在Web应用程序和后台数据库之间的一种安全漏洞攻击,它的基本原理是:

攻击者精心构建一个包含了SQL指令的输入数据,然后作为参数传递给应用程序,在应用程序没有对输入数据做足够的检查的情况下,数据库服务器就会被欺骗,将本来只能作为普通数据的输入当成了SQL指令并执行。

数据库是动态网站的核心,包含了很多网站相关的敏感数据,例如管理员的账号和密码等,所以一旦数据库的信息被SQL注入非法查询,这些敏感信息就会被泄露,导致严重后果。

此外,SQL注入还可能被用于网页篡改、网页挂马,更为严重的是,有些数据库管理系统支持SQL指令调用一些操作系统功能模块,一旦被SQL注入攻击甚至存在服务器被远程控制安装后门的风险。

2XSS跨站攻击

简单地说,XSS也是由于Web应用程序对用户的输入过滤不严而产生,攻击者利用XSS漏洞可以将恶意的脚本代码(主要包括html代码和JavaScript脚本)注入到网页中,当其他用户浏览这些网页时,就会触发其中的恶意脚本代码,对受害者进行诸如Cookie信息窃取、会话劫持、网络钓鱼等各种攻击。

与主动攻击Web服务器端的SQL注入攻击不同,XSS攻击发生在浏览器客户端,对服务器一般没有直接危害,而且总体上属于等待对方上钩的被动攻击,因此XSS这种安全漏洞虽很早就被发现,其危害性却曾经受到普遍忽视,但随着网络攻击者挖掘出了原来越多的XSS漏洞利用方式,加上Web2.0的流行、Ajax等技术的普及,使得黑客有了更多机会发动XSS攻击,导致近年来XSS攻击的安全事件层出不穷,对XSS攻防方面研究的重视程度明显提高。

当然,Web网站面临的安全威胁还有很多,并且随着网络技术和网络业务的发展而不断更新,例如CSRF跨站请求伪造、界面操作劫持等。

1.3Web渗透测试概述

由于各种安全漏洞,因特网上的Web网站面临黑客攻击的风险,因此必须采取措施进行防护工作。

传统防火墙因为必须放行Web服务的端口(一般是80端口),所以对SQL注入、XSS跨站攻击之类入侵手段没有防护效果,现在也出现了一些专门用于保护Web网站的安全设备,例如WAF防火墙、安全狗等,但这些设备并不是万能的,往往容易被高水平的入侵者绕过。

最有效的措施还是进行Web渗透测试。

渗透测试时安全模拟黑客可能使用的攻击技术和漏洞发现技术,对目标系统的安全做深入的探测,发现系统最脆弱的环节。

渗透测试能够直观的让管理人员知道自己网络所面临的问题。

Web渗透测试主要是对Web应用程序和相应的软硬件设备配置的安全性进行测试。

进行Web渗透测试的安全人员必须遵循一定的渗透测试准则,不能对被测系统进行破坏活动。

Web安全渗透测试一般是经过客户授权的,采取可控制、非控制性质的方法和手段发现目标服务器、Web应用程序和网络配置中存在的弱点。

通过Web渗透测试后,即可有针对性地对Web网站上的安全漏洞进行修补,最大程度地加固系统,确保安全。

第二章Web渗透测试方案设计

2.1渗透测试网站创建

为了研究Web渗透测试技术,我们需要一个测试用的Web网站,由于法律的限制,我们不能直接去攻击互联网上的Web网站,所以需要自己创建一个实验测试用Web网站,这样不但合法,而且还有利于测试完成后做修补加固和代码审核工作。

测试Web网站可以创建在本地,也可以创建到自己购买的虚拟空间或云主机上,为了方便起见,这里选择在云平台上的一台Windows2003虚拟机系统上创建Web网站。

ASP、ASP.NET、PHP和JSP网站需要不同的环境,包括选用Apache、IIS、Nginx或者Weblogic中哪个Web服务器,数据库也有Access、MicrosoftSQLServer、MySQL以及Oracle等多种选择。

至于网站的源代码,可以自己开发,但一般更常见是到互联网上去搜寻开源的Web项目下载,例如中国站长网等,可以根据需求自己对网站源代码进行适当的裁剪修改,也更好达到渗透测试目的。

如图2-1所示,这里选用了IIS+ASP方案创建了一个测试用Web网站。

图2-1创建Web网站

2.2渗透测试工具选择

对Web网站进行渗透测试的工作是在一台能访问Web网站的攻击机上实施的,这些测试工作有些可以直接用手工操作,不过如果有适当的工具帮助,往往可以大幅度地提高渗透测试的成功率和效率,因此选择一套渗透测试用的工具软件是必备的工作,这些工具一般包括端口扫描器、网站目录扫描器、网站后台扫描器、网站漏洞扫描器、SQL注入工具、XSS利用工具、转码工具、加解密工具等等。

如图2-2所示,在本地攻击机上安装了一些常用的渗透测试工具。

图2-2渗透测试工具

2.3渗透测试方法

准备好测试用Web网站和渗透测试工具后,即可在攻击机上开始进行Web渗透测试工作,方法是模拟真正黑客的入侵过程,综合利用各种工具和手段,获取目标Web网站甚至网站所在服务器上的权限,从而挖掘出网站的各种安全漏洞,为后面的安全加固提供依据。

当然,这需要很高的技术水平和熟练的操作,没有多年的经验积累是很难在各种情景下都能完成任务的,在下一章,我们就以一个比较简单的,漏洞比较明显的Web网站为例演示一下比较典型的Web渗透测试过程。

第三章Web渗透测试过程

3.1扫描测试Web网站

如图3-1所示,渗透测试首先应该先用Nmap之类的端口扫描工具扫描一下目标网站所在的服务器,了解开放的端口服务,目标可能的操作系统类型等信息。

这里可以看到,目标服务器的80号端口是开放的,所以Web服务应该是正常的。

图3-1端口扫描

然后用浏览器打开网站验证,如图3-2所示:

图3-2Web网站浏览

3.2寻找Web安全漏洞

我们可以用一些自动化的网站扫描工具去检测网站的常见漏洞,也可以用纯手工的方式进行检测,如图3-3和3-4所示,在网页URL后面添加“and1=1”和“and1=2”,发现网站返回的情况不同!

说明这里存在着SQL注入漏洞。

图3-3SQL注入测试

图3-4SQL注入测试

如图3-5所示,在地址栏后面添加““>”,弹窗窗口出现,证明这里存在反射型XSS漏洞。

图3-5反射型XSS

如图3-6、3-7和3-8所示,在留言板里发表包含“”的帖子内容,弹窗窗口出现,证明这里存在存储型XSS漏洞。

图3-6留言板

图3-7XSS留言

图3-8存储型XSS

3.3SQL注入攻击测试

在上一节已经找到Web网站的SQL注入漏洞的基础上,我们利用此漏洞去猜解网站后台数据库中的账号和密码,既可以用工具也可以用手工方式,这里为方便起见选用注入工具,如图3-9和3-10所示,很快猜解出账号和密码。

图3-9工具扫描SQL注入漏洞

图3-10注入找到后台账号密码

从密码的形式可以看出不是明文而是原始密码的MD5散列码,MD5是单向散列函数,本来是不能破解的,不过如果密码原文比较简单,也可能用暴力破解的方式找到原密码,如图3-11、3-12和3-13所示。

图3-11破解MD5

图3-12破解成功

图3-13破解出密码原文

有了账号和密码后,扫描网站的管理后台地址,如图3-14所示。

图3-14扫描出管理后台

如图3-15和3-16所示,用前面注入猜解和破解获取的账号和密码登录,成功进入Web网站的管理后台界面。

图3-15登录管理后台

图3-16进入管理后台

3.4XSS跨站攻击测试

前面已经通过手工方式探测到网站存在XSS漏洞,XSS漏洞属于一种比较被动的安全漏洞,不能用来直接攻击服务器,而是一部用来攻击其他客户端,具体利用的方法和形式很多,下面是利用XSS漏洞窃取管理员cookie的步骤。

图3-17XSS利用平台网站

如图3-17所示,XSS漏洞攻击者自己创建一个具有XSS漏洞利用功能的网站,然后为自己创建一个项目,生成具有窃取cookie功能的代码,如图3-18所示:

图3-18XSS利用代码

现在攻击者可以设法利用各种欺

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

当前位置:首页 > 自然科学 > 生物学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1