L003001024HTTP攻击与防范动态函数注入攻击.docx
- 文档编号:5362966
- 上传时间:2022-12-15
- 格式:DOCX
- 页数:10
- 大小:401.65KB
L003001024HTTP攻击与防范动态函数注入攻击.docx
《L003001024HTTP攻击与防范动态函数注入攻击.docx》由会员分享,可在线阅读,更多相关《L003001024HTTP攻击与防范动态函数注入攻击.docx(10页珍藏版)》请在冰豆网上搜索。
L003001024HTTP攻击与防范动态函数注入攻击
课程编写
类别
内容
实验课题名称
动态函数注入攻击
实验目的与要求
1.了解动态函数注入攻击带来的危险性。
2.掌握动态函数注入攻击方法
3.掌握动态函数注入攻击防范方法
实验环境
VPC1(虚拟PC)
Windowsserver2003
VPC1连接要求
PC网络接口,本地连接与实验网络直连
软件描述
1、学生机要求安装java环境
2、vpc安装windwos系统
实验环境描述
1、学生机与实验室网络直连;
2、VPC1与实验室网络直连;
3、学生机与VPC1物理链路连通;
预备知识
PHP函数是由多行代码组成的代码块,用于完成某项任务,一般情况下,一个任务多次执行,需要定义函数。
函数与方法,是一个含义,但函数常常写在普通的PHP文件中,而方法是属于类的。
位于某个类的下面。
函数的使用有利也有弊,下面我们来看一下利通过PHP动态函数进行攻击。
实验内容
掌握动态函数注入攻击方法
掌握动态函数注入攻击防范方法
实验步骤
1、学生单击实验拓扑按钮,进入实验场景,进入目标主机,(第一次启动目标主机,还需要安装java空间),如图所示:
2.打开虚拟机,输入用户名和密码,用户为Adminsitrator密码为123456
3.打开浏览器,输入http:
//localhost:
8080/example_code/如图:
4.鼠标单击打开“(13)动态函数注入攻击”
5.点击“演示1”,你将会看到“演示1”中读取URL参数func的值,func是一个自定义函数的名称。
在“演示1”文件中一共定义了4个自定义函数。
(注:
如需查看程序源码,请打开C:
\xampp\htdocs\example_code\source\code13\路径下的ex13-12.php文件)
(1)A:
用来返回$X+$y的值。
(2)B:
用来返回$x-$y的值。
(3)C:
用来返回$x*$y的值。
(4)D:
用来返回$X/$y的值。
此时给ex13-12.php传入http:
//localhost/example/ex13-12.php?
func=C值后,就会显示$x×$y的值。
6.下面我们来看一下黑客如何使用下面的URI来进行攻击,点击”攻击1“,当我们的值传入ex13-12.php?
func=phpinfo后,结果会执行phpinfo()函数,来显示服务器信息。
7.call_user_func函数
call_user_func函数用来调用一个自定义函数,方法如下:
mixedcall_user_func(callbackfunction[,mixedparameter[,mixed...]])
●Function是要调用的自定义函数名称。
●Parameter是自定义函数的参数。
call_user_func函数返回自定义函数的输出,如果有错误产生就返回FASLE。
ex13-13.php读取URL参数func的值,func是一个自定义函数的名称(详细程序代码请打开“C:
\xampp\htdocs\example_code\source\code13\下的ex13-13.php文件”)。
下面我们点击“演示2”,不难发现页面就会显示$x/$y的值等于0.625。
此时黑客可以使用下面的URI来进行攻击,点击“攻击2”
结果会执行phpinfo()函数,来显示服务器信息。
8.防范的方法
要防范命令注入攻击和eval注入攻击,可以使用下列方法。
(1)尽量不要执行外部的应用程序或命令。
(2)使用自定义函数或函数库来替代外部应用程序或命令的功能。
(3)使用escapeshellarg函数来处理命令的参数。
(4)使用safe_mode_exec_dir来指定可执行的文件路径。
(5)事先列出可以提供给system、eval等函数的参数。
9使用escapeshellarg函数来处理命令的参数
Escapeshellarg函数会将任何会引起参数或命令结束的字符转义,有如下3种可能。
单引号“'”会被“\'”替换;
双引号“"”会被“\"”替换;
分号“;”会被“\;”替换。
点击“防范1”,你将看到phpinfo()函数无法被调用。
10.使用safe_mode_exec_dir指定的可执行文件的路径
将php.ini文件中的safe_mode选项设置为On,然后将您的Web程序允许执行的文件放入一个执行的目录中,使用safe_modeexecdir来指定这个可执行的文件路径。
例如将可执行的外部应用程序放置在C:
/php文件夹内。
然后设置php.ini文件,双击“我的电脑”打开“C盘下的C:
\xampp\php”找到php.ini文件,找到safe_mode=off,将值改为:
safe_mode=On
safe_mode_exec_dir=C:
/php
重启apache服务。
注意,目录的分隔必须使用“/”字符,即使在Windows操作系统中也一样。
11.实验完毕,关闭虚拟机和所有窗口。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- L003001024HTTP 攻击 防范 动态 函数 注入