HTTP攻击与防护-函数注入攻击

实验目的

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.实验完毕,关闭虚拟机和所有窗口。

posted @ 2020-09-15 16:44  kalibb  阅读(498)  评论(0)    收藏  举报