[RoarCTF 2019]Easy Calc

news/2024/5/19 21:36:06 标签: Easy Calc, CTF

这题考查的是: 字符串解析特性+目录读取+文件内容读取

字符串解析特性详解:PHP字符串解析特性 ($GET/$POST参数绕过)(含例题 buuctf easycalc)_参数解析 绕过-CSDN博客
ascii码查询表:ASCII 表 | 菜鸟工具 (jyshare.com)

用到的函数有:

print_r()   读取复杂对象,字符串、数组、对象等

chr()        将ascii码值转换为字符

scandir()  读取目录;成功返回文件数组;失败返回false;目录必须用引号包裹

file_get_contents()     将文件内容读取到字符串中;以二进制流读取;图片、字符数据都可用

全是知识盲区啊;又学到了新知识

打开题目发现是一个计算器界面;查看源码发现设置了waf;具体内容不知道什么情况

通过抓包测试发现了calc.php的一段源码信息;里面对输入的一些特殊字符进行了过滤

过滤的字符:空格 ' " \t \r \n ` [ ] $ ^

尝试输入num参数进行测试发现只能输入数字;字母和其他符号都不通过;应该是waf搞的鬼

这里彻底蒙圈了;知识匮乏了;看了大佬的wp发现可以利用字符串解析特性进行绕过

百度了一下php参数的字符串解析特性:1.去掉空白符  2.将某些字符转化为下划线

大佬的文章:PHP字符串解析特性 ($GET/$POST参数绕过)(含例题 buuctf easycalc)_参数解析 绕过-CSDN博客

构造payload:?%20num=phpinfo()

发现成功执行了phpinfo()函数;好了;waf已经绕过了;接下来就是绕过calc.php的过滤操作了

现在不知道flag在哪里;先要读取一下目录文件

由于' " 都被过滤了;所以用chr()进行输入绕过;chr(47)是/

构造payload:print_r(scandir(chr(47)))           读取根目录下的文件信息;然后打印该数组

找到了疑似存放flag的文件名为f1agg

注意:文件名中第二个是数字1;不是l;我在这儿耽搁了好一会儿才发现

构造payload:print_r(file_get_contents(chr(47).chr(102).chr(49).chr(97).chr(103).chr(103)))

成功读取到了flag

10


http://www.niftyadmin.cn/n/5399168.html

相关文章

C# WPF编程-创建项目

1.创建新项目 选择“WPF应用程序”》“下一步” 2. 设置项目 设置项目名称,保存位置等参数>下一步 3.选择框架 4.项目创建成功 5.运行项目

Codeforces Round 807 (Div. 2)(C复制字符串找第k位 D 固定01段 E线段树上二分解决进位问题)

A.直接最小的n个数匹配最大的n个数 #include<bits/stdc.h> using namespace std; const int N1e610,M2*N,mod1e97; #define int long long const long long inf2e18; typedef pair<int,int> PII; typedef long long LL; using nodetuple<int,int,int>;int n…

VL53L8CX驱动开发(1)----驱动TOF进行区域检测

VL53L8CX驱动开发----1.驱动TOF进行区域检测 概述视频教学样品申请源码下载主要特点硬件准备技术规格系统框图应用示意图区域映射生成STM32CUBEMX选择MCU 串口配置IIC配置LPn 设置X-CUBE-TOF1串口重定向代码配置Tera Term配置演示结果 概述 VL53L8CX是一款8x8多区域ToF测距传感…

Java+SpringBoot+Vue:瑜伽馆管理的黄金组合

✍✍计算机毕业编程指导师 ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java、…

数据仓库与数据挖掘概述

目录 一、数据仓库概述 &#xff08;一&#xff09;从传统数据库到数据仓库 &#xff08;二&#xff09;数据仓库的4个特征 &#xff08;三&#xff09;数据仓库系统 &#xff08;四&#xff09;数据仓库系统体系结构 &#xff08;五&#xff09;数据仓库数据的粒度与组织…

【Pytorch深度学习开发实践学习】【AlexNet】经典算法复现-Pytorch实现AlexNet神经网络(1)model.py

算法简介 AlexNet是人工智能深度学习在CV领域的开山之作&#xff0c;是最先把深度卷积神经网络应用于图像分类领域的研究成果&#xff0c;对后面的诸多研究起到了巨大的引领作用&#xff0c;因此有必要学习这个算法并能够实现它。 主要的创新点在于&#xff1a; 首次使用GPU…

基于大模型思维链(Chain-of-Thought)技术的定制化思维链提示和定向刺激提示的心理咨询场景定向ai智能应用

本篇为个人笔记 记录基于大模型思维链&#xff08;Chain-of-Thought&#xff09;技术的定制化思维链提示和定向刺激提示的心理咨询场景定向ai智能应用 人工智能为个人兴趣领域 业余研究 如有错漏欢迎指出&#xff01;&#xff01;&#xff01; 目录 本篇为个人笔记 记录基…

oracle 数据库连接错误:ORA-12154,ORA-12523

起由&#xff1a;在本机启动两个数据库&#xff0c; orcl和HIS&#xff0c; 在服务端连接没有问题。采用客户端模式连接时&#xff0c;在PL/SQL连接数据库时&#xff0c;经常会报以下两个错误。 ORA-12154: TNS:could not resolve the connect identifierspecified ORA-12523…