Web网站渗透测试论文

Web网站渗透测试论文


2024年4月19日发(作者:)

----------------------------------------------

线

----------------------------------------------

XXX职业技术学院

毕业设计(论文)

题目: Web网站渗透测试技术研究

系 (院)

信息系

专业班级

计算机网络

学 号

1234567890

学生姓名

XXX

校内导师

XXX

职 称

讲师

企业导师

XXX

职 称

工程师

企业导师

XXX

职 称

工程师

摘 要

Web网站渗透测试技术研究

随着网络技术的发展和应用领域的扩张,网络安全问题越来越重要。相对于传统的系统

安全,Web网站的安全得到了越来越多的重视。首先,越来越多的网络业务不再用专门的客

户机/服务器模式开发,而是运行在Web网站上用浏览器统一访问;其次,和比较成熟的操作

系统安全技术比较,Web网站的安全防护技术还不够完善,当前黑客也把大部分注意力集中

在Web渗透技术的发展上,使Web网站安全总体上面临相当严峻的局面。

为了确保Web网站的安全,需要采用各种防护措施。在各种防护措施中,当前最有效的

措施是先自己模拟黑客攻击,对需要评估的网站进行Web渗透测试,找到各种安全漏洞后再

针对性进行修补。

本文在对Web网站渗透测试技术进行描述的基础上,配置了一个实验用Web网站,然后

对此目标网站进行了各种黑客渗透攻击测试,找出需要修补的安全漏洞,从而加深了对Web

安全攻防的理解,有利于以后各种实际的网络安全防护工作。

关键词:

网络安全;Web网站;渗透测试

Web site penetration testing technology research

Abstract:

With the expansion of the network technology development and applications,

network security issues become increasingly important. Compared with the traditional

system security, Web security has got more and more attention. First, more and more

network applications no longer develop with specialized client / server model, but

run on the Web site and accessed by browser; Secondly, operating system security

technology is relatively safe, but secure Web site protection technology is still

not perfect, so the most of the current hackers’ attention focused on the development

of Web penetration technology, the Web site is facing serious security situation in

general.

To ensure the security Web site, you need to use a variety of protective measures.

In a variety of protective measures, the most effective measure is to own hacking

simulation, the need to assess the Web site penetration testing, to find a variety

of security vulnerabilities before specific repair.

Based on the Web site penetration testing techniques described, the configuration

of an experimental Web site, then this target site penetration of various hacker

attack test, identify areas that need patching security holes, thereby deepening of

Web security offensive understanding, there is conducive to future practical network

security protection work.

Keywords:

Network Security, Web sites, penetration testing

目 录

第一章 概述 ................................................................................................ 1

1.1 网络安全概述 .......................................................................................... 1

1.2 Web网站面临的威胁 ............................................................................... 1

1.3 Web渗透测试概述 ................................................................................... 2

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

2.1 渗透测试网站创建 .................................................................................. 4

2.2 渗透测试工具选择 .................................................................................. 4

2.3渗透测试方法 ........................................................................................... 5

第三章 Web渗透测试过程 ........................................................................... 6

3.1 扫描测试Web网站 .................................................................................. 6

3.2 寻找Web安全漏洞 .................................................................................. 7

3.3 SQL注入攻击测试 ................................................................................... 9

3.4 XSS跨站攻击测试 ................................................................................. 13

3.5 网马上传攻击测试 ................................................................................ 17

第四章 Web网站防护 ................................................................................. 23

4.1 网站代码修复 ........................................................................................ 23

4.2 其它防护措施 ........................................................................................ 24

总 结 ......................................................................................................... 25

参考文献 ..................................................................................................... 25

第一章 概述

1.1 网络安全概述

随着网络技术的发展,网络已经越来越多地渗透到当前社会生活的方方面面,网上电

子商务、电子政务、电子金融等业务日益普及,网络上的敏感数据也越来越多,自然对网

络安全提出了更高的要求。

根据一般的定义,网络安全是指网络系统的硬件、软件及其系统中的数据受到保护,

不因偶然的或者恶意的原因而遭受到破坏、更改、泄露,系统连续可靠正常地运行,网络

服务不中断。要做到这一点,必须保证网络系统软件、应用软件、数据库系统具有一定的

安全保护功能,并保证网络部件,如终端、调制解调器、数据链路的功能仅仅能被那些被

授权的人访问。

在现实世界中,由于网络相关的各种软硬件安装、配置、管理上面基本不可能做到没

有任何缺陷和漏洞,所以可以说不存在绝对的网络安全。尤其在当下网络技术逐渐普及扩

散的情境下,防范各种形式的黑客攻击是网络资源管理者必须严肃考虑的问题。

根据黑客攻击的类型,大致可以分为两种,一种是直接针对操作系统本身或应用软件

的安全漏洞进行的攻击,传统的注入端口扫描、弱口令爆破、缓冲器溢出都属于这种类型

的攻击,如果攻击成功往往可以直接远程控制目标系统,因此一旦出问题危害极大,但针

对这种攻击的防范技术也比较成熟,采用最新的安全操作系统、强大的防火墙和IDS入侵

检测系统可以将绝大部分入侵企图拒之门外。另外一种就是针对动态Web网站进行的攻击,

它不像针对系统的攻击那样直接,成功后能在目标系统上进行的操作有限,往往还需要进

行提权等后续工作,但目前Web网站本身设计上的安全防护水平普遍不高,针对Web网站

的防范措施目前也还不够成熟,所以有安全问题的Web网站非常多,Web网站的攻防也是

现在安全技术领域的研究热点。

1.2 Web网站面临的威胁

传统上,网络应用业务采用C/S(客户机和服务器)模式,即开发出安装在普通客户

计算机上的递交申请业务模块和安装在高性能服务器上的响应请求业务模块,这样做的好

处是性能高,响应速度快,但缺点是需要为每个业务专门开发不同的服务端和客户端,开

发和学习的成本也高,所以现在的趋势是将所有的服务模块都放到Web网站上,而客户机

统一使用浏览器去访问Web网站去实现业务功能。

用Web网站形式开发网络业务有不少优点,首先是客户端统一为浏览器、降低了这方

面的学习成本,另一方面,Web网站的主流开发语言(ASP、PHP、JSP等)是动态脚本语

1

言,比起用C/C++、Java等语言开发C/S程序,难度有所降低,有利于快速开发出所需的

项目。但是从安全方面考虑,由于Web网站牵涉到的一些网络协议先天的不足,以及由于

网络技术发展太快,网站复杂程度随着需求扩展不断膨胀,而网站开发程序员的水平和安

全意识往往没有跟上,导致Web网站非常容易出现各种安全漏洞,使黑客能够对其进行各

种形式的攻击,常见的Web安全漏洞主要有SQL注入和XSS跨站攻击等。

1 SQL注入

SQL注入(SQL injection)是发生在Web应用程序和后台数据库之间的一种安全漏洞

攻击,它的基本原理是:攻击者精心构建一个包含了SQL指令的输入数据,然后作为参数

传递给应用程序,在应用程序没有对输入数据做足够的检查的情况下,数据库服务器就会

被欺骗,将本来只能作为普通数据的输入当成了SQL指令并执行。

数据库是动态网站的核心,包含了很多网站相关的敏感数据,例如管理员的账号和密

码等,所以一旦数据库的信息被SQL注入非法查询,这些敏感信息就会被泄露,导致严重

后果。此外,SQL注入还可能被用于网页篡改、网页挂马,更为严重的是,有些数据库管

理系统支持SQL指令调用一些操作系统功能模块,一旦被SQL注入攻击甚至存在服务器被

远程控制安装后门的风险。

2 XSS跨站攻击

简单地说,XSS也是由于Web应用程序对用户的输入过滤不严而产生,攻击者利用XSS

漏洞可以将恶意的脚本代码(主要包括html代码和JavaScript脚本)注入到网页中,当其

他用户浏览这些网页时,就会触发其中的恶意脚本代码,对受害者进行诸如Cookie信息窃

取、会话劫持、网络钓鱼等各种攻击。

与主动攻击Web服务器端的SQL注入攻击不同,XSS攻击发生在浏览器客户端,对服

务器一般没有直接危害,而且总体上属于等待对方上钩的被动攻击,因此XSS这种安全漏

洞虽很早就被发现,其危害性却曾经受到普遍忽视,但随着网络攻击者挖掘出了原来越多

的XSS漏洞利用方式,加上Web2.0的流行、Ajax等技术的普及,使得黑客有了更多机会

发动XSS攻击,导致近年来XSS攻击的安全事件层出不穷,对XSS攻防方面研究的重视程

度明显提高。

当然,Web网站面临的安全威胁还有很多,并且随着网络技术和网络业务的发展而不

断更新,例如CSRF跨站请求伪造、界面操作劫持等。

1.3 Web渗透测试概述

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

行防护工作。传统防火墙因为必须放行Web服务的端口(一般是80端口),所以对SQL注

2

入、XSS跨站攻击之类入侵手段没有防护效果,现在也出现了一些专门用于保护Web网站

的安全设备,例如WAF防火墙、安全狗等,但这些设备并不是万能的,往往容易被高水平

的入侵者绕过。最有效的措施还是进行Web渗透测试。

渗透测试时安全模拟黑客可能使用的攻击技术和漏洞发现技术,对目标系统的安全做

深入的探测,发现系统最脆弱的环节。渗透测试能够直观的让管理人员知道自己网络所面

临的问题。

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

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

Web安全渗透测试一般是经过客户授权的,采取可控制、非控制性质的方法和手段发现目

标服务器、Web应用程序和网络配置中存在的弱点。

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

地加固系统,确保安全。

3

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

2.1 渗透测试网站创建

为了研究Web渗透测试技术,我们需要一个测试用的Web网站,由于法律的限制,

我们不能直接去攻击互联网上的Web网站,所以需要自己创建一个实验测试用Web网站,

这样不但合法,而且还有利于测试完成后做修补加固和代码审核工作。

测试Web网站可以创建在本地,也可以创建到自己购买的虚拟空间或云主机上,为了

方便起见,这里选择在云平台上的一台Windows 2003虚拟机系统上创建Web网站。

ASP、、PHP和JSP网站需要不同的环境,包括选用Apache、IIS、Nginx或者

Weblogic中哪个Web服务器,数据库也有Access、Microsoft SQL Server、MySQL以及Oracle

等多种选择。至于网站的源代码,可以自己开发,但一般更常见是到互联网上去搜寻开源

的Web项目下载,例如中国站长网等,可以根据需求自己对网站源代码进行适当的裁剪修

改,也更好达到渗透测试目的。

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

图2-1 创建Web网站

2.2 渗透测试工具选择

对Web网站进行渗透测试的工作是在一台能访问Web网站的攻击机上实施的,这些测

试工作有些可以直接用手工操作,不过如果有适当的工具帮助,往往可以大幅度地提高渗

4

透测试的成功率和效率,因此选择一套渗透测试用的工具软件是必备的工作,这些工具一

般包括端口扫描器、网站目录扫描器、网站后台扫描器、网站漏洞扫描器、SQL注入工具、

XSS利用工具、转码工具、加解密工具等等。

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

图2-2 渗透测试工具

2.3渗透测试方法

准备好测试用Web网站和渗透测试工具后,即可在攻击机上开始进行Web渗透测试工

作,方法是模拟真正黑客的入侵过程,综合利用各种工具和手段,获取目标Web网站甚至

网站所在服务器上的权限,从而挖掘出网站的各种安全漏洞,为后面的安全加固提供依据。

当然,这需要很高的技术水平和熟练的操作,没有多年的经验积累是很难在各种情景下都

能完成任务的,在下一章,我们就以一个比较简单的,漏洞比较明显的Web网站为例演示

一下比较典型的Web渗透测试过程。

5

第三章 Web渗透测试过程

3.1 扫描测试Web网站

如图3-1所示,渗透测试首先应该先用Nmap之类的端口扫描工具扫描一下目标网站

所在的服务器,了解开放的端口服务,目标可能的操作系统类型等信息。这里可以看到,

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

图3-1 端口扫描

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

图3-2 Web网站浏览

6

3.2 寻找Web安全漏洞

我们可以用一些自动化的网站扫描工具去检测网站的常见漏洞,也可以用纯手工的方

式进行检测,如图3-3和3-4所示,在网页URL后面添加“and 1=1”和“and 1=2”,发现

网站返回的情况不同!说明这里存在着SQL注入漏洞。

图3-3 SQL注入测试

图3-4 SQL注入测试

如图3-5所示,在地址栏后面添加“ “> ”,弹窗窗口出现,

证明这里存在反射型XSS漏洞。

7

图3-5 反射型XSS

如图3-6、3-7和3-8所示,在留言板里发表包含“ ”的帖子

内容,弹窗窗口出现,证明这里存在存储型XSS漏洞。

图3-6 留言板

8

图3-7 XSS留言

图3-8 存储型XSS

3.3 SQL注入攻击测试

在上一节已经找到Web网站的SQL注入漏洞的基础上,我们利用此漏洞去猜解网站后

台数据库中的账号和密码,既可以用工具也可以用手工方式,这里为方便起见选用注入工

具,如图3-9和3-10所示,很快猜解出账号和密码。

9

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

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

从密码的形式可以看出不是明文而是原始密码的MD5散列码,MD5是单向散列函数,

本来是不能破解的,不过如果密码原文比较简单,也可能用暴力破解的方式找到原密码,

如图3-11、3-12和3-13所示。

10

图3-11 破解MD5

图3-12 破解成功

图3-13 破解出密码原文

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

11

图3-14 扫描出管理后台

如图3-15和3-16所示,用前面注入猜解和破解获取的账号和密码登录,成功进入Web

网站的管理后台界面。

图3-15 登录管理后台

12

图3-16 进入管理后台

3.4 XSS跨站攻击测试

前面已经通过手工方式探测到网站存在XSS漏洞,XSS漏洞属于一种比较被动的安全

漏洞,不能用来直接攻击服务器,而是一部用来攻击其他客户端,具体利用的方法和形式

很多,下面是利用XSS漏洞窃取管理员cookie的步骤。

图3-17 XSS利用平台网站

13

如图3-17所示,XSS漏洞攻击者自己创建一个具有XSS漏洞利用功能的网站,然后为

自己创建一个项目,生成具有窃取cookie功能的代码,如图3-18所示:

图3-18 XSS利用代码

现在攻击者可以设法利用各种欺骗手段让其他Web网站用户执行XSS代码,这里利用

存储型XSS漏洞,由攻击者在留言板上发表包含XSS利用代码的内容插入网站数据库,如

图3-19所示。

图3-19 将代码插入目标Web网站

如图3-20所示,一旦Web网站的管理员在登录状态下查看了留言板,XSS利用代码就

14

在后台隐蔽执行了。

图3-20 管理员被攻击

此时攻击者回到XSS网站,会发现自己的项目中返回了数据,如图3-21所示。

图3-21 攻击者收到cookie

如图3-22所示,攻击者窃取到了Web网站管理员的cookie信息。

15

图3-22 窃取到的cookie值

如图3-23和3-24所示,有了窃取到的cookie信息,再借助一些cookie修改工具,可

以不输入密码直接进入管理后台界面。

图3-23 cookie修改工具

16

图3-24 窃取cookie进入管理界面

3.5 网马上传攻击测试

前面利用SQL注入漏洞拿到管理账户和密码后可以非法进入后台管理界面,但到这来

一般并不能做多少事,用后台权限篡改新闻挂黑页是很无聊的事情,常见的做法是想办法

将网页木马上传到网站获取Webshell得到网站所在服务器的某些权限,然后有需要和可

能再设法提权。

如图3-25所示,在Web网站管理后台里找到一个能够上传自己图片的地方,然后选

择上传文件,如图3-26和3-27所示,直接上传asp格式的网马是通不过检查的,所以上

传一个伪装成图片文件的小马,结果成功上传,并被自动重命名,如图3-28和3-29所示。

17

图3-25 上传图片

图3-26 选择文件

18

图3-27 上传网马图片

图3-28 上传成功

图3-29 上传文件位置和名称

19

现在网马内容上传上去了,但文件后缀名不对,所以不能访问执行,所以需要再利用

类似如图3-30所示的备份漏洞,将上传的文件的后缀名成功改回asp。

图3-30 备份改名

现在可以直接访问上传成功的网马,如图3-31所示是小马的效果,利用它在上传一个

功能齐全的大马,如图3-32和3-33所示。

图3-31 访问网马

20

图3-32 上传大马

图3-33 访问大马

现在可以直接访问大马网页文件,如图3-34所示,登录成功后即得到类似图3-35所

示的Webshell界面,根据权限可以对Web网站所在的服务器进行操作,如果有其他系统

和软件漏洞,还可以设法提权,获取对服务器的完全控制权。

21

图3-34 网马登录

图3-35 获取Webshell

22

第四章 Web网站防护

4.1 网站代码修复

经过Web渗透测试,我们发现了网站的安全漏洞及其严重后果,下一步自然就是部署

安全防护措施,堵塞漏洞。

对Web网站后台代码进行阅读审核后,可知正是因为网站查询数据库的SQL语句缺少

必要的过滤措施才导致了SQL注入、XSS等安全漏洞。修补漏洞的最好办法是用安全编码

方式彻底重写所有相关代码,如果没有这个条件,添加一些过滤代码也是比较好的办法,

例如图4-1所示,在数据库连接文档中添加了对用户提交值中非法参数的检测。

图4-1 过滤代码

添加过滤代码后,黑客如果再企图对Web网站进行诸如SQL注入之类的攻击,就会被

拦截而归于失败,如图4-2所示。

23

图4-2 SQL注入被拦截

需要注意的是,黑名单式的过滤代码并不是万能的,往往会被更高水平的黑客攻击绕

过,所以还应根据攻防技术的发展及时更新,并结合其他安全防范措施。

4.2 其它防护措施

因为现在的Web网站功能越来越多,也越来越复杂,相应的黑客攻击技术也在不断发

展,所以往往不是单一的安全防护措施就能有效抵御各种渗透攻击,而需要综合采用各种

措施,一方面尽可能将所有的安全漏洞堵住,另一方面可以争取做到即使黑客攻破了某个

安全措施,也会被其他安全措施拦截,将损失降低到最小。

目前比较常用的Web安全防范措施有:尽量选用高版本的操作系统Web服务器,设置

高强度的密码,给网站目录设置最小的必要权限,加装Web防火墙和杀毒软件监控网页木

马等。

最后需要指出,Web渗透和防护技术还处在快速发展阶段,所以没有一劳永逸的安全,

必须不断学习,与时俱进。

24

总 结

网络安全是当前的一个技术研究热点,Web安全又是网络安全中的一个核心问题。Web

渗透测试则是强化Web网站安全的重要技术手段,它是在获得授权的情况下,模拟真实的

黑客攻击手段对目标Web站点进行入侵测试,因此能够最大程度挖掘出Web网站的安全漏

洞,为Web安全防护提供有效依据。

本文是在真实网络环境里自己搭建了一个Web网站,然后自己对其进行渗透测试,研

究Web安全相关攻防技术。限于水平,创建的Web网站和攻防所用的技术都比较简单,没

有涉及当前最新的Web网站漏洞测试,但仍然比较完整地展示了Web网站渗透测试和防护

的过程,为以后进一步学习和工作打下良好基础。

参考文献

[1] 陈小兵,范渊,孙立伟.Web渗透技术及实战案例解析 [M].北京:电子工业出版社,2012.4

[2] 王文君,李建蒙.Web应用安全威胁与防治 [M].北京:电子工业出版社,2013.1

[3] 吴翰清.白帽子讲Web安全 [M].北京:电子工业出版社,2012.3

[4] 鲍洪生.信息安全技术教程 [M].北京:电子工程出版社,2014.3

25


发布者:admin,转转请注明出处:http://www.yc00.com/news/1713515756a2264296.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信