文档详情

L003001002-HTTP攻击与防范-命令注入攻击.docx

发布:2017-12-03约1.75千字共14页下载文档
文本预览下载声明
课程编写类别内容实验课题名称Command Injection命令注入攻击实验目的与要求1.了解命令注入攻击攻击带来的危险性。2.掌握命令注入攻击攻击的原理与方法3.掌握防范攻击的方法实验环境VPC1(虚拟PC)Windows server 2003VPC1 连接要求PC 网络接口,本地连接与实验网络直连软件描述1、学生机要求安装java环境2、vpc安装windwos 系统实验环境描述学生机与实验室网络直连;VPC1与实验室网络直连;学生机与VPC1物理链路连通;预备知识在PHP中您可以使用下列5个函数来执行外部的应用程序或函数。(1) system:执行一个外部的应用程序并显示输出的结果。(2) exec:执行一个外部的应用程序。(3) passthru:执行一个UNIX系统命令并显示原始的输出。(4) shell_exec:执行shell命令并返回输出的字符串。(5) ``运算符:与shell_exec函数的功能相同。正常情况下,PHP的命令执行函数system、exec、passthru、shell_exec与“``”运算符会执行外部的应用程序或命令,然后显示输出的结果。但是黑客可以在这些函数的参数内输入可执行外部应用程序或系统命令来执行攻击,这就是命令注入(Command Injection)攻击。许多Web应用程序会执行外部命令,来辅助应用程序本身的功能。但是却没有仔细地验证所执行的是否是真正想要的命令,因此给黑客以可乘之机来执行任何指令。实验内容1.了解命令注入攻击攻击攻击带来的危险性。2.掌握命令注入攻击攻击攻击的原理与方法3.掌握防范攻击的方法实验步骤学生单击实验拓扑按钮,进入实验场景,进入目标主机,(第一次启动目标主机,还需要安装java控件),如图所示:2.打开虚拟机,输入用户名和密码,用户为Adminsitrator 密码为 1234563.打开浏览器,输入http://localhost:8080/example_code/ 如图:4、点击上图中的(1)命令注入攻击(Command Injection)后,结果如下图所示:5、攻防实例一可以查看在c:\xampp\htdocs\example_code\source\code1\ex1-1.php中使用的是system函数执行windows系统dir命令,来显示URL参数dir所指定的子目录的内容。当点击演示1时,出现下图显示:6、黑客可以使用下列的URI来进行命令注入攻击:ex1-5.php?dir=. \ping 直接在浏览器中输入http://localhost:8080/example_code/source/code1/ex1-5.php?dir=. \ping ,结果显示如下:可以使用escapeshellarg函数来处理命令的参数,防止URI来进行命令注入攻击点击防护5,如图:8、攻防实例二:返回如图界面:9、可以查看c:\xampp\htdocs\example_code\source\code1\ex1-6.php文件,使用exec函数执行windows系统命令dir,来显示URL参数dir所指定的子目录的内容。点击演示二,结果如下图所示:10、黑客可以使用下列的URI来进行命令注入攻击:dir=.%5c%26ping%20,点击攻击5,结果如下图所示:11、攻击实例三在c:\xampp\htdocs\example_code\source\code1\ex1-7.php中,使用的是passthru函数执行windows系统命令,读取URL参数username所指定的来访者账号,并显示来访者的登录日志的内容。在浏览器中输入http://localhost:8080/example_code/source/code/ex1-7.php后,显示结果如下图:12、可以使用下列的URI来进行命令注入攻击:ex1-7.php?username=tom%26ping%20, 当你点击攻击7时,有如下效果:13、可以使用escapeshellarg函数来处理命令的参数,防止URI来进行命令注入攻击点击防护7,如图:14、实验完毕,关闭虚拟机和所有窗口。
显示全部
相似文档