实验目的
1.了解eval注入的概念 2.了解eval注入攻击的方式 3.掌握防范攻击的方法
实验原理
1.了解eval注入的概念 2.了解eval注入攻击的方式 3.掌握防范攻击的方法
实验内容
1.了解eval注入的概念
2.了解eval注入攻击的方式
3.掌握防范攻击的方法
实验环境描述
1、 学生机与实验室网络直连; 2、 VPC1与实验室网络直连; 学生机与VPC1物理链路连通;
实验步骤
1.打开虚拟机,输入用户名和密码,用户为admin 密码为 123456
2.进入虚拟机后,首先打开PHPstudy工具,手动开启MySQL与apache服务
3.打开浏览器,输入http://localhost:8080/example_code/
4.找到“(2)eval注入攻击(Eval Injection )”项,并点击打开。
5.修改php.ini配置文件,打开php.ini文件,搜索register_globals 把register_globals = off 改为 on 保存退出
6.重新启动apache服务。双击桌面phpstudy图标,停止服务然后再开启服务
7.点击浏览器中的演示1 ,查看地址栏后的参数,那么变量$myvar的值就会是10
8.点击 攻击1 , 黑客可以使用下面的URI来进行eval注入攻击: 结果eval函数会执行下面的代码段:'dir c:'
9.点击防护1 用post获得数据,防止url来进行注入攻击。
10.点击演示2
11.点击攻击2, 读取URL参数的值,然后使用可变变量来重新设定变量的值 黑客可以使用下面红框中的URI来进行攻击:
12.点击防护2, 攻击没有起到作用
13.点击演示3
14.点击攻击3 ,读取URL参数Month的值,来替换$string字符串中的“August”子串 黑客可以使用下面的URI来进行攻击: ex2-3.php?Month=phpinfo(); 结果会执行下列的preg_replace函数: preg_replace("/^/e", "phpinfo();", $string); 执行phpinfo()函数来显示服务器的信息
15.点击防护3
16.点击演示4,如图所示: func是一个自定义的函数名称
17.点击攻击4 获取 php配置信息。
18.点击防护4,防止 获取php配置信息
19.实验完毕,关闭虚拟机和所有窗口。