L003001022-HTTP攻击与防范-目录穿越漏洞攻击_第1页
L003001022-HTTP攻击与防范-目录穿越漏洞攻击_第2页
L003001022-HTTP攻击与防范-目录穿越漏洞攻击_第3页
L003001022-HTTP攻击与防范-目录穿越漏洞攻击_第4页
L003001022-HTTP攻击与防范-目录穿越漏洞攻击_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程编写类别内容实验课题名称目录穿越漏洞攻击实验目的与要求1.了解目录穿越漏洞攻击的方式2.掌握目录穿越漏洞攻击防范方法实验环境VPC1(虚拟PC)Windowsserver2003VPC1连接要求PC网络接口,本地连接与实验网络直连软件描述1、学生机要求安装java环境

2、vpc安装windwos系统实验环境描述学生机与实验室网络直连;VPC1与实验室网络直连;学生机与VPC1物理链路连通;预备知识目录穿越(DirectoryTraversal)攻击是黑客能够在Web应用程序所在的根目录以外的文件夹上,任意地存取被限制的文件夹、执行命令或查找数据。目录穿越攻击,也有人称为PathTraversal攻击。服务器的基本功能是提供文件给客户端的浏览器使用,例如静态的HTML、图片文件,动态的ASP、PHP和JSP文件。当浏览器向服务器请求动态网页时,服务器会先执行这个动态网页,然后将执行的结果发送给浏览器。为了避免使用者存取到服务器上未经许可的文件,服务器提供两个安全机制:(1)根目录;(2)文件存取权限。服务器限制使用者只能存取Web应用程序所在的根目录,以及根目录下的子目录中的文件。要进一步限制使用者只能存取根目录中的特定文件时,可以使用文件存取权限限制。网站的管理员决定使用者可以查找、执行或存取哪些文件。这些安全措施是为了避免黑客执行可执行文件,如Windows系统上的cmd.exe文件,以及避免黑客存取重要的文件,如UNIX系统上的passwd密码文件。但是黑客可以使用目录穿越攻击,来查找、执行或存取Web应用程序所在的根目录以外的文件夹。如果目录穿越攻击成功,黑客就可以执行破坏性的命令来攻击网站。实验内容1.了解目录穿越漏洞攻击的方式2.掌握目录穿越漏洞攻击防范方法实验步骤学生单击实验拓扑按钮,进入实验场景,进入目标主机,(第一次启动目标主机,还需要安装java空间),如图所示:2.打开虚拟机,输入用户名和密码,用户为Adminsitrator密码为1234563.打开浏览器,输入http://localhost:8080/example_code/如图:4.找到“(11)目录穿越漏洞攻击(DirectoryTraversal)”项,并点击打开。5.如何攻击目录穿越攻击可能发生在Web应用程序上,也可能发生在Web服务器上。在Web应用程序上发生的目录穿越攻击,是因为Web应用程序要求使用者输入文件名。例如将使用者的账号作为保存文件的名称,当使用者输入账号后,程序会立即查找并打开指定用户名为文件名的文件。请参考ex11-1.php:源码地址在:C:\xammp\htdocs\example_code\source\code11下ex11-1.php文件会读取一个文件名称,这个文件名称由URL参数file所提供。readfile函数会输出文件的内容,@操作符用来屏蔽错误信息。将这个文件名称与目录字符串“home/users/”进行结合后,就是在Web应用程序所在的根目录下的文件路径。Web应用程序所在的根目录是:C:\xampp\htdocs\example_code\source\code11假设使用者输入的文件名称是data.txt,那么data.txt文件的完整路径是:C:\xampp\htdocs\example_code\source\code11\home\users\data.txtdata.txt文件的内容如下:(详细请查看:C:\xampp\htdocs\example_code\source\code11\home\users\下的data.txt文件)目录穿越攻击DirectorvTraversalAttack现在我们点击“攻击1”你将会看会看到下图显示结果:6.开始攻击刚才是正常的输入文件名称,现在要开始执行目录穿越攻击。点击“攻击2”结果如图在表示文件系统的字符串中,一个点符号“.”表示相同的目录,两个点符号“..”表示上一层的目录。图发动目录穿越攻击因此上述的地址:http://localhost:8080/example_code/source/code11/ex11-1.php?file=../../....//../apache/logs/access.log每一个“../”记号会往上移动一层目录,这个地址有5个“../”记号,因此总共往上移动了4层目录。本来data.txt文件的完整路径是:C:\xampp\htdocs\example_code\source\code11\home\users\data.txt现在往上移动了4层目录后,就是:C:\xampp的目录。将C:\xampp与4个“../”记号后面的地址Apache/logs/access.log进行结合后,就是:C:\xampp\apache\logs这表示要打开Apache服务器内的日志文件access.log,结果如图11-2所示的文件真的打开了。服务器日志文件access.log应该是只能让网站管理员查看,其他的使用者根本不应该能够查找这个服务器记录文件。但是黑客利用目录穿越攻击,就能够随便地打开、查看,甚至执行网站内的绝密文件。下面点击“攻击2”,你会看到如下结果:这个地址告诉服务器要显示Windows目录内的boot.ini文件的内容。7.防范的方法要防范目录穿越与远程文件调用攻击,可以使用下列方法。(1)不要使用使用者提供的文件名。(2)检查使用者输入的文件名中是否有“..”的目录级层的字符。(3)php.ini文件中设置openbasedir来指定可以打开文件的目录。(4)php.ini文件中设置allow_url_fopen为Off,来让Web应用程序不能打开远程文件。(5)realpath与basename函数来处理使用者输入的文件名。8.使用者输入的文件名目录穿越攻击是利用“../”的目录级层的记号来穿越于任意的文件夹中。因此如果能够检查使用者输入的文件名中是否有“..”的目录级层的字符,就可以事先决定要不要调用使用者输入的文件。在ex11-5.php文件中加入检查“..”字符的程序代码:(源代码在:C:\xampp\htdocs\example_code\source\code11\ex11-5.php)strstr函数会返回第一个要查找的子字符串的位置,一直到被查找的字符串结尾。用法如下:stringstrstr(stringhaystack,stringneedle)●haystack是被查找的字符串;●needle是要查找的子字符串。如果找不到要查找的子字符串,strstr函数会返回FALSE。点击“防护2”,你将看到如下结果:检查使用者输入的文件名注意,“../”字符的URL编码是%2E%2E%2F,因此上述的地址可以写成:http://localhost:8080/example_code/source/code11/ex11-5.php?file=%2E%2E%2F%2E%2E%2F%2E%2E%2F%2E%2E%2FApache2.2/logs/access.log在Windows操作系统上,目录级层的字符可以使用“../”或“..\”,因此上上述的地址可以写成:http://localhost:8080/example_code/source/code11/ex11-l.php?file=..\..\..\..\Apache2.2/logs/access.log注意,“..\”字符的URL编码是%2E%2E%5C,因此上述的地址可以写成:http://localhost/example/ex11-5.php?file=%2E%2E%5C%2E%2E%5C%2E%2E%5C%2E%2E%5CApache2.2/logs/access.logex11-5.php文件对这4个地址都有效。9.设置open_basedir打开“我的电脑”找到"C:\xampp\php"下的php.ini文件,在php.ini文件中将;open_basedir=属性指定可以打开文件的目录。例如:open_basedir="/pathl:/path2:/path3"这将指定/pathl、/path2与/path3是可以打开文件的目录。例如,指定只有C:/xammp/htdocs/example_code/source/code11目录中的文件可以打开:open_basedir="example_code/source/code11"如图设置可以打开文件的目录修改配置文件后,重启桌面上XAMPP,如下图所示先将apache服务stop,再start。再次点击“攻击1”结果如图11-11所示,出现错误的信息。10.设置allow_url_fopen为Off在php.ini文件中设置allow_url_fopen为Off,Web应用程序就不能打开远程文件。既然不能打开远程文件,远程文件引入攻击自然就没有作用。不过,如果Web应用程序需要调用远程文件,allow_url_fopen就必须设置为On。11.使用realpath与basename函数来处理文件名如果使用者输入的文件名中包含有“./”或“../”等可疑的字符,有可能就是黑客在使用目录穿越攻击。您可以使用realpath和b

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论