GJ-CTF web之 来一波_ 关于$_REQUEST变量

2024-01-01 03:31
文章标签 web 变量 ctf request 一波 gj

本文主要是介绍GJ-CTF web之 来一波_ 关于$_REQUEST变量,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

GJ-CTF web之 来一波?

题目链接为:http://www.czlgjbbq.top/GJCTF/easyaduit.php

进入题目,题目直接给了源码提示

在这里插入图片描述

主要的内容为:

if($_REQUEST){foreach ($_REQUEST as $key => $value) {if(preg_match('/[a-zA-Z]/i', $value)){    										//这里用preg_match函数检查传入的参数die("其实我劝你最好不要输入任何字母!");      //使传入的参数不能有字母}}}

这里的$_REQUEST变量获得GET或POST的参数,值的注意的是,如果通过不同的方式获得相同变量的不同值,$_REQUEST变量只会获得最后传入的那个参数的值

这里的preg_match函数可以用数组来绕过



if(isset($_GET['GJCTF'])){if(!(substr($_GET['GJCTF'], 32) === md5($_GET['GJCTF']))){            					 //这里要传入GJCTF参数,并且要让它和它的md5值相等die('日爆md5!!!!!!');}

这里可以用数组来使substr函数和md5函数出错而绕过



  else{$getflag = file_get_contents($_GET['flag']);if($getflag === 'get_flag'){include 'flag.php';         //这里需要注意的就是file_get_contents函数echo $flag;}else die('差一点哦!');}
}

file_get_contents函数可以用data://伪协议绕过
可以参考以前的一篇文章:https://blog.csdn.net/silence1_/article/details/90241302

综上,可以构造payload为?GJCTF[]=&flag=data://text/plain;base64,Z2V0X2ZsYWc=
并post方式传入:flag=1

这里我用hackbar来完成
在这里插入图片描述
提交后成功获得flag
在这里插入图片描述

这篇关于GJ-CTF web之 来一波_ 关于$_REQUEST变量的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/558044

相关文章

Spring常见错误之Web嵌套对象校验失效解决办法

《Spring常见错误之Web嵌套对象校验失效解决办法》:本文主要介绍Spring常见错误之Web嵌套对象校验失效解决的相关资料,通过在Phone对象上添加@Valid注解,问题得以解决,需要的朋... 目录问题复现案例解析问题修正总结  问题复现当开发一个学籍管理系统时,我们会提供了一个 API 接口去

使用IntelliJ IDEA创建简单的Java Web项目完整步骤

《使用IntelliJIDEA创建简单的JavaWeb项目完整步骤》:本文主要介绍如何使用IntelliJIDEA创建一个简单的JavaWeb项目,实现登录、注册和查看用户列表功能,使用Se... 目录前置准备项目功能实现步骤1. 创建项目2. 配置 Tomcat3. 项目文件结构4. 创建数据库和表5.

手把手教你idea中创建一个javaweb(webapp)项目详细图文教程

《手把手教你idea中创建一个javaweb(webapp)项目详细图文教程》:本文主要介绍如何使用IntelliJIDEA创建一个Maven项目,并配置Tomcat服务器进行运行,过程包括创建... 1.启动idea2.创建项目模板点击项目-新建项目-选择maven,显示如下页面输入项目名称,选择

java如何调用kettle设置变量和参数

《java如何调用kettle设置变量和参数》文章简要介绍了如何在Java中调用Kettle,并重点讨论了变量和参数的区别,以及在Java代码中如何正确设置和使用这些变量,避免覆盖Kettle中已设置... 目录Java调用kettle设置变量和参数java代码中变量会覆盖kettle里面设置的变量总结ja

Perl 特殊变量详解

《Perl特殊变量详解》Perl语言中包含了许多特殊变量,这些变量在Perl程序的执行过程中扮演着重要的角色,:本文主要介绍Perl特殊变量,需要的朋友可以参考下... perl 特殊变量Perl 语言中包含了许多特殊变量,这些变量在 Perl 程序的执行过程中扮演着重要的角色。特殊变量通常用于存储程序的

变量与命名

引言         在前两个课时中,我们已经了解了 Python 程序的基本结构,学习了如何正确地使用缩进来组织代码,并且知道了注释的重要性。现在我们将进一步深入到 Python 编程的核心——变量与命名。变量是我们存储数据的主要方式,而合理的命名则有助于提高代码的可读性和可维护性。 变量的概念与使用         在 Python 中,变量是一种用来存储数据值的标识符。创建变量很简单,

Java Web指的是什么

Java Web指的是使用Java技术进行Web开发的一种方式。Java在Web开发领域有着广泛的应用,主要通过Java EE(Enterprise Edition)平台来实现。  主要特点和技术包括: 1. Servlets和JSP:     Servlets 是Java编写的服务器端程序,用于处理客户端请求和生成动态网页内容。     JSP(JavaServer Pages)

BUUCTF靶场[web][极客大挑战 2019]Http、[HCTF 2018]admin

目录   [web][极客大挑战 2019]Http 考点:Referer协议、UA协议、X-Forwarded-For协议 [web][HCTF 2018]admin 考点:弱密码字典爆破 四种方法:   [web][极客大挑战 2019]Http 考点:Referer协议、UA协议、X-Forwarded-For协议 访问环境 老规矩,我们先查看源代码

EasyPlayer.js网页H5 Web js播放器能力合集

最近遇到一个需求,要求做一款播放器,发现能力上跟EasyPlayer.js基本一致,满足要求: 需求 功性能 分类 需求描述 功能 预览 分屏模式 单分屏(单屏/全屏) 多分屏(2*2) 多分屏(3*3) 多分屏(4*4) 播放控制 播放(单个或全部) 暂停(暂停时展示最后一帧画面) 停止(单个或全部) 声音控制(开关/音量调节) 主辅码流切换 辅助功能 屏

9.8javaweb项目总结

1.主界面用户信息显示 登录成功后,将用户信息存储在记录在 localStorage中,然后进入界面之前通过js来渲染主界面 存储用户信息 将用户信息渲染在主界面上,并且头像设置跳转,到个人资料界面 这里数据库中还没有设置相关信息 2.模糊查找 检测输入框是否有变更,有的话调用方法,进行查找 发送检测请求,然后接收的时候设置最多显示四个类似的搜索结果