实验目的

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. 2022 跳槽涨薪必不可少面试通关宝典 —— css 篇

    生于忧患死于安乐!已经居家隔离 23 天了,解封以后估计就得找工作了,提前准备起来!需要的赶紧收藏起来 一.谈谈你对 BFC 的理解及作用. BFC 是 Block Formatting Contex ...

  2. 基于Node和Electron开发了轻量版API接口请求调试工具——Post-Tool

    Electron 是一个使用 JavaScript.HTML 和 CSS 构建桌面应用程序的框架. 嵌入 Chromium 和 Node.js 到 二进制的 Electron 允许您保持一个 Java ...

  3. JavaScript创建和获取时间的方法

    一.获取时间常用方法 1.创建时间对象 var time=new Date() //创建当前的时间信息对象 var time1=new Date(2022,1,1,10,25,30) //创建2022 ...

  4. 安卓无法访问Azure服务器和微软API

    Azure服务器保护机制限制移动端访问 必须使用移动app服务来转接api,才可以访问.

  5. Docker安装配置mysql

    Docker安装mysql踩坑日记 拉取镜像 sudo docker pull mysql:5.7 运行镜像 docker run -p 3306:3306 --name mysql -v /myda ...

  6. Android 12(S) 图形显示系统 - 应用建立和SurfaceFlinger的沟通桥梁(三)

    1 前言 上一篇文章中我们已经创建了一个Native示例应用,从使用者的角度了解了图形显示系统API的基本使用,从这篇文章开始我们将基于这个示例应用深入图形显示系统API的内部实现逻辑,分析运作流程. ...

  7. golang中的接口值

    package main import ( "bytes" "fmt" "io" ) // 此处的w参数默认是一个空接口,当传递进来buf参 ...

  8. python变量系列--1

    所以这里需要注意变量的使用,print(message),直接去引用,和shell略有不同 1.变量名只能包含字母,数字,下划线,但不能以数字开头 2.变量名不能含有空格

  9. kubernetes之Pod水平自动伸缩(HPA)

    https://k8smeetup.github.io/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/ Horizon ...

  10. hadoop面试

    hadoop.apache.orgspark.apache.orgflink.apache.orghadoop :HDFS/YARN/MAPREDUCE HDFS读写流程 NameNode DataN ...