admin 管理员组

文章数量: 1086019


2024年3月21日发(作者:nas web服务器搭建)

毕业设计

面向PHP安全漏洞的Web攻防技术研究

(论文)题目

一、课题来源、研究的目的和意义、国内外研究现状及分析

随着微博、facebook等一系列新型互联网产品的诞生,Web2.0时代悄然

来临。Web2.0时代更注重用户的交互作用,用户既是网站内容的浏览者,

也是网站内容的制造者。所谓网站内容的制造者是说互联网上的每一个用

户不再仅仅是互联网的读者,同时也成为互联网的作者;不再仅仅是在互

联网上冲浪,同时也成为波浪制造者。在企业信息化的过程中,各种应用

也都架设在Web平台上,Web业务的迅速发展引起了黑客们的强烈关注,

接踵而至的便是Web安全威胁的凸显,黑客利用各种各样的Web应用程序

漏洞来获得Web服务器的控制权限,轻则篡改网页内容,重则窃取重要数

据,甚至在网页中植入恶意代码,使得网站访问者受到侵害。

PHP(PHP:Hypertext Preprocessor的缩写,中文名:“PHP:超文本预

处理”)是一种通用的开源脚本语言。PHP因为其开源、免费、快捷、跨平

台、高效率等特性,在市场上占有着领导地位。然而,由于PHP对程序开

发人员要求比较低以及PHP Web应用程序开发人员的疏忽,可能导致所开

发的PHP Web应用程序存在大量的高风险漏洞,对Web应用程序的安全性

造成了极大的威胁。

正因如此,在本课题中将对PHP Web应用程序中的常见安全漏洞进行

分析和研究,并将给出相关的防御措施和安全的编码风格。

二、主要研究内容

在本课题中,我们主要分析研究PHP Web应用程序中的安全漏洞,如

代码注入漏洞、SQL注入漏洞、跨站漏洞、上传漏洞等。针对PHP Web漏

洞的各种攻击,如命令注入攻击、SQL注入攻击、跨站脚本攻击、文件上

传攻击等,我们将进一步研究其防范措施,以此总结出开发人员在开发Web

应用程序时,能够避免PHP安全漏洞的编程思路。

PHP Web常见的安全漏洞出现的原因主要有三种:

① Web应用程序在调用动态文件系统时,对用户输入没有做合理验证,

例如include()或者fopen();

② PHP配置出现问题,例如默认开启allow_url_fopen等;

③ 对用户执行代码权限控制不足。

PHP提供了大量方便Web应用程序开发人员使用的函数,然后这些函数

在带来便利的同时也引入了新的风险。PHP程序中所有的参数输入点都可

能导致攻击的发生,如$_SERVER包含了诸如头信息、路径、以及脚本位

置等信息的数组;$_GET通过URL参数传递给当前脚本呢的变量的数组;

$_POST通过HTTP POST方法传递给当前脚本的变量的数组;$_COOKIE

通过HTTP Cookies方法传递给当前脚本变量的数组。PHP通过以上四个参

数输入点来获取参数值后,以此来进一步处理数据时都有可能会导致注入

攻击的发生。

三、实验方案、实验方法及预期达到的目标

本课题从总结常见PHP应用程序的漏洞开始,仔细研究PHP程序开发

者在处理用户输入时是否进行了可靠严格的验证和对系统的输出有没有进

行适当的转义。用户的输入永远是不可以盲目的相信,在没有进行验证前,

都可以认为是攻击代码。系统的输出在没有适当转义前,也可能导致较大

的风险。

本课题从两方面入手,一是未对用户输入进行严格验证产生的安全漏洞

及其防范;二是未对系统的输出进行适当转义产生的安全漏洞及其防范。

第一方面,如果PHP程序开发者未对用户输入进行严格的验证,极其

容易产生SQL注入漏洞、代码注入漏洞、上传漏洞等。如果要对其过滤,

则可以考虑采用正则表达式等对用户输入进行验证。

第二方面,如果PHP程序开发者未对系统的输出进行适当的转义,则

容易产生跨站脚本攻击,从而窃取用户或者管理员的Cookies,导致网站被

攻击。

通过对于以上两方面的研究,让PHP程序开发者注意到用户的输入,

系统的输出,总结出一些常用的过滤规则来进行检查。从而能够防止常见

漏洞的出现。

四、完成课题所需的条件、主要困难及解决办法

本课题讨论基于PHP 5.X进行,PHP代码采用Zend Studio开发。开发

环境采用Win7 SP1 64位操作系统,部分部署环境采用CentOS,数据库使用

MySQL、SQL Server等。

本课题的主要困难主要有以下几点:1、各类PHP应用程序的漏洞归纳

与总结;2、针对于PHP应用程序漏洞的攻击代码编写;3、如何编写PHP

应用程序才能防御已知或者未知的漏洞攻击。

首先,为了熟悉PHP应用程序的常见漏洞,可以从OWASP TOP10上

开始总结,了解其漏洞原理;然后分析别人的漏洞利用代码,针对具体的

一类漏洞总结出一种攻击思路;接着自己开始编写漏洞利用代码,尝试绕

过开发者不够全面的防御思路;最后总结出能够防止出现漏洞或者可以良

好防御攻击代码的编码思路。另外,还可以仔细的去分析现有模板(如

WordPress、Joomla、ECSHOP等)公开漏洞的漏洞形成原因和漏洞利用代

码,从而开阔自己的眼界。

五、参考文献

(参考文献书写顺序:[序号] 作者.文章名.学术刊物名.年,卷(期):引用起止页)

[1] 程茂华.PHP安全漏洞防范研究[J].信息安全与技术,2013,4(7):75-77.

[2] 刘辉兰,李茂峰.PHP网站安全策略的研究和设计[J].大众科技,2013,(8):4-7.

[3] 程茂华.基于PHP安全漏洞的Web攻击防范研究[J].信息安全与技术,2013,4(5):53-55.

[4] 李晓飞.浅析PHP加密技术在网站安全方面的应用[J].佳木斯教育学院学

报,2012,(5):415.

[5] 杨博程.浅析PHP网站安全漏洞与安全防范措施[J].中国电子商务,2013,(5):58.

[6] 王洪.PHP网站建设的安全性研究[J].计算机应用,2004,24(10):64-66.

[7] 陈敏,陈为民.PHP程序安全浅析[J].华南金融电

脑,2010,(3)::10.3969/.2095-0799.2010.03.040.

[8] 刘鹏,张玉清.PHP常见安全漏洞攻防研究[J].信息网络安

全,2011,(7)::10.3969/.1671-1122.2011.07.012.

[9] 李高杰.浅谈PHP网站安全与加密技术[J].数字技术与应用,2013,(8):182-182.

[10] 刘巧,朱雪波,邵真真等.Php+mysql网络知识普及学习平台的设计与安全[J].计算机安

全,2011,(5)::10.3969/.1671-0428.2011.05.016.

[11] 常会丽,曹海华.Web应用安全及防范体系研究[J].电脑知识与技

术,2013,(6):1272-1274,1277.

[12] 罗有明,贺熹.PHP网站设计中信息安全防御的研究[J].科技经济市

场,2011,(3)::10.3969/.1009-3788.2011.03.003.

[13] 张博.浅析PHP中加密函数的应用[J].计算机光盘软件与应用,2012,(24):195-196.

[14] 尹春宏.Linux系统下配置PHP服务器的技巧[J].考试周刊,2009,(36):395-396.

[15] 刘鹏.PHP Web应用程序安全性研究及安全漏洞检测工具开发[D].西安电子科技大

学,:10.7666/d.y2068169.

[16] 冯兴利,锁志海,徐墨等.基于PHP+MySQL的Web系统安全防范及全站静态化[J].现代

电子技术,2012,35(8)::10.3969/.1004-373X.2012.08.008.

起止日期

2014年3月前

3月1日~3月7日

3月8日~3月14日

论文工作进度(主要内容、完成要求)

熟悉PHP语法,写好参考文献

写好中文摘要、目录和绪论

熟悉并应用SQL注入攻击、跨站脚本利用等

3月15日~3月25日 熟悉SQL注入等攻击手段的代码级防御方法

3月26日~4月30日 基本完成PHP漏洞攻击方式与防御代码

5月1日~5月5日

5月6日~答辩前

完成总结和展望

查漏补缺,完成

指导教师(签字):

年 月 日

系主任(签字):

年 月 日

教学院长(签字、公章):

年 月 日

注:开题报告作为毕业设计(论文)答辩委员会对学生答辩资格审查的依据材料之一,此报告

应在导师指导下,由学生填写,经指导教师签署意见及所在系审核后生效。


本文标签: 漏洞 攻击 研究 网站