实验目的

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

HTTP攻击与防护-函数注入攻击的更多相关文章

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

    实验目的 1.了解命令注入攻击攻击带来的危险性. 2.掌握命令注入攻击攻击的原理与方法 3.掌握防范攻击的方法 实验原理 1.了解命令注入攻击攻击攻击带来的危险性. 2.掌握命令注入攻击攻击攻击的原理 ...

  2. web攻击之三:SQL注入攻击的种类和防范手段

    观察近来的一些安全事件及其后果,安全专家们已经得到一个结论,这些威胁主要是通过SQL注入造成的.虽然前面有许多文章讨论了SQL注入,但今天所讨论的内容也许可帮助你检查自己的服务器,并采取相应防范措施. ...

  3. Spring cloud微服务安全实战-3-2 第一个API及注入攻击防护

    先来写一些用户的基础数据的管理的api.就是用户的基本的增删改查.用spring boot可以很容易的写出这种api 首先新建maven的项目 依赖关系 引入依赖.用最新的spring boot ht ...

  4. XSS/CSRF跨站攻击和防护方案

    Xss(Cross Site Scripting 跨站脚本攻击)/CSRF(Cross-site request forgery 跨站请求伪造),它与著名的SQL注入攻击类似,都是利用了Web页面的编 ...

  5. 注入攻击-SQL注入和代码注入

    注入攻击 OWASP将注入攻击和跨站脚本攻击(XSS)列入网络应用程序十大常见安全风险.实际上,它们会一起出现,因为 XSS 攻击依赖于注入攻击的成功.虽然这是最明显的组合关系,但是注入攻击带来的不仅 ...

  6. php过滤提交数据 防止sql注入攻击

    规则 1:绝不要信任外部数据或输入 关于 Web 应用程序安全性,必须认识到的第一件事是不应该信任外部数据.外部数据(outside data) 包括不是由程序员在 PHP 代码中直接输入的任何数据. ...

  7. SQL注入攻击[详解]

    SQL注入攻击是黑客对数据库进行攻击的常用手段之一.随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多.但是由于程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候, ...

  8. SQL注入攻击三部曲之入门篇

    SQL注入攻击三部曲之入门篇 服务器安全管理员和攻击者的战争仿佛永远没有停止的时候,针对国内网站的ASP架构的SQL注入攻击又开始大行其道.本篇文章通过SQL注入攻击原理引出SQL注入攻击的实施方法, ...

  9. SQL注入攻击的常见方式及测试方法

    本文主要针对SQL注入的含义.以及如何进行SQL注入和如何预防SQL注入让小伙伴有个了解.适用的人群主要是测试人员,了解如何进行SQL注入,可以帮助我们测试登录.发布等模块的SQL攻击漏洞,至于如何预 ...

随机推荐

  1. Mysql group by之 Error 1055

    统计每个班级有多少人 我按照班级名称进行分组,返回  班级id和班级name出现了如下错误 报错的查询语句如下 -- 统计每个班级有多少人select c.id,c.name,count(*) fro ...

  2. 1121day-户别确认

    1.Addinfor.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" ...

  3. Book of the Dead 死者之书Demo工程回顾与学习

    1.前言 一转眼离Book of the Dead Environment Demo开放下载已过去多年,当时因为技术力有限,以及对HDRP理解尚浅, 所以这篇文章一直搁浅到了现在.如今工作重心已转向U ...

  4. unity3d发布安卓出错plese set the package name

    发布时报错 参考https://forum.unity.com/threads/where-is-package-name-setting.318839/ 参考https://answers.unit ...

  5. 话说C#程序员人手一个ORM

    话说C#程序员人手一个ORM,确实没有必要再写ORM了,不过我的ORM并不是新的,是从DBHelper演化过来的,算是DBHelper魔改版. 目前流行的ORM有EF.Dapper.SqlSugar. ...

  6. C++虚函数和静态函数调用方式

    简单情况: #include<iostream> using namespace std; class A { public: virtual void foo() { cout < ...

  7. DDD从入门到精通:基础篇

    这篇文章主要还是表述清楚DDD相关的基础概念,因为DDD入门有一定的专业名词,还是得有个基本的了解. 先讲解下领域模型作用: 对软件需求进行设计,维持其内在逻辑的一致性 1)划分边界.也是一种高内聚. ...

  8. golang中的rpc开发

    golang中实现RPC非常简单,官方提供了封装好的库,还有一些第三方的库 golang官方的net/rpc库使用encoding/gob进行编解码,支持tcp和http数据传输方式,由于其他语言不支 ...

  9. java ++ -- 异或 短路与 短路或 三目条件

    public class Demo { public static void main(String[] args) { int i1 = 12, i2 = 20; int i = (i2++); S ...

  10. 关于Linux安装中NAT模式和桥接模式的区别详解(转载)

    1.一般我们在创建一个Linux虚拟机时候,会面临三个网络配置选择: 桥接模式.nat模式.host-only模式(主机模式,这个模式用得少,就不介绍了) 2.NAT模式: 所谓nat模式,就是虚拟系 ...