CTFSHOW-WEB详解

2023-11-20

一、WEB13–文件上传

  开始的界面就是文件上传,确定方向为文件上传漏洞分析,尝试上传文件,我上传的第一个文件是一个文本文件很小只有9个字节,就上传成功了直接,还以为会按往常一样出现绝对路径又或者提示只能上传别的格式文件,然后我们通过绕过,接着使用蚁剑连接直接看文件拿到flag。

  然而。。。。。。
  简单的信息泄露例子,看完绝对不亏.
  事情没有我们想的那么简单,我上传一个webshell的时候,发现内容超过了大小,又试了几次发现还是不行,寻思着看个源码呗,源码也没有,这题目不会一点提示都不给吧!思来想去,可能是文件泄露,试了一下upload.php.bak,果然代码放在里面。
在这里插入图片描述
  总结一下文件内容,文件大小不能超过24,文件名不能超过9,后缀名不能超过3且不能为php(防止挂马)。没有php且不能超过3,把我们常规的绕过基本封死,既然如此我们就要我们就试试.hataccess和user.ini文件。


1.创建一个1.txt

echo "<?php eval($_GET[b]);" > 1.txt


2.创建一个.user.ini文件

vi .user.ini


3.在文件里面里写入auto_ prepend_ file=1.txt
auto_ prepend_ file 意味这是在php脚本执行前会执行这个参数设置的脚本,然后这个参数的脚本所在目录受include_ path限制。此时任意一个页面都会将该文件中的内容包含进去。这样在该目录下的所有文件都会包含1.txt的内容。


4.开始文件上传
以上的文件都符合所有的要求,都是可以上传的,我们这里先上传.user.ini,再上传1.txt文件。
本来想着直接上antSword,但是按照各位博主也是无法查看文件,那就只能利用网页直接读取文件。


5.用glob()和print_r()打印出文件名,当前文件的目录的文件名。

/?b=print_r(glob("*"));

在这里插入图片描述


附加.glob()和highlight_file()讲解[好像也可以使用show_source]
在这里插入图片描述在这里插入图片描述

6.直接读取文件,拿到flag。

/?b=highlight_file("9*.php ");

在这里插入图片描述

二、WEB-红包题第二弹

  这道题开始是真的看不懂为什么要这样后面各种查找资料才懂了一点。
  下面就给大家讲讲知识点。Content-type和Content-Disposition不是特别懂。
題目:
在这里插入图片描述
在这里插入图片描述
  一般我们的文件上传都会放到 /temp/php??????,一般后面的6个字符是随机生成的有大小写,?可以代表1个任意字符,也算是一种通配符,而*能代表很多个,当然glob通配符还有很多很多,读了绝对不亏之通配符.上传完毕后然后再决定删不删除之类的操作,所以我们就需要通过这一步骤,上传文件并且执行sh脚本语句,来查看该目录是否用有重要的内容。

  1.开始抓包,然后构造Poc命令
为什么这里为什么是用 /?cmd=?><?=`.+/??p/p?p???'呢?我们来看RCE中命令的执行方式:system(‘ls’);  echo(‘ls’);
  有这两种,但是这里题目都进行看过滤所以我们得尝试绕过过滤,进行突破,构造?> 是为了闭合之前的语句;<?= 就是echo的意思。. 即source的意思,表示命令的执行,Linux中C程序运行不就是用的这个吗?;+ 表示过滤空格等于%20;执行完毕。

  2.构造文件上传的报文包
具体该包含哪些我也不是很懂,我就讲讲为什么是#!bin/sh,首先#!是启动bin文件中的命令的意思,bin(binary)主要存放着系统常用的命令,比如 cat more ls less 等等,可以执行这些命令后我们就可以在一下行,直接远程命令执行。

#!bin/sh

ls

执行ls,返包就可以看到一个flag文件,然后cat /flag.txt返包即可拿到flag。
读了绝对不亏之 无字母数字webshell之提高篇.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CTFSHOW-WEB详解 的相关文章

  • 在 ASP Web API 中指定无效参数时返回错误

    我正在使用 C 和 ASP NET Web API 创建一个 API 并且希望它在使用无法识别的参数时返回错误 例如 api Events 应该有一个事件列表 api Events startTime startTime 应该返回在特定时间
  • 是什么让某些东西成为 ASP.NET Core 中的请求功能?

    ASP NET Core 有一点我相信我还没有完全理解 那就是请求功能的想法 正如中所解释的the docs https docs asp net en latest fundamentals request features html 功
  • 客户端Web - 如何随时获取当前记录ID

    我正在努力 基于工作流程状态的不同权限 https stackoverflow com questions 10994216 different permissions based on workflow state问题 但我正在努力解决这
  • 混合命名和未命名函数参数

    我有这个功能来验证 JWT 令牌 不是中间件 它说 package main import net http log fmt github com dgrijalva jwt go func ValidateToken w http Res
  • Spring MVC Web 应用程序 - 从属性启用/禁用控制器

    我有一个在 Tomcat 中运行的 Web 应用程序 并使用 Spring MVC 来定义控制器和映射 我有以下课程 Controller api test public class TestController RequestMappin
  • css位置固定根本不起作用

    我正在寻找一个页脚类型的东西布莱克霍利网站 http www blakehawley com它有一些不同的链接等 它应该是横幅样式 我的意思是它应该停留在底部并被修复 div 是 菜单 这是我的 HTML
  • 在 Google Cloud 中设置网站? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我完全迷失在这之中 我习惯于使用带有 cpanel 的简单 Web 主机来制作网站 只需使用 filezilla 登录并上传我的 ht
  • REST API 与 Web API

    我是构建 HTTP API 的初学者 我似乎对 REST API 和 Web API 之间的区别感到困惑 我在网上读到更多相关内容 困惑似乎越来越多 我猜菲尔丁有与此链接相同的问题http roy gbiv com untangled 20
  • 如何判断是哪个控件导致ViewState加载失败?

    我的页面面临 Viewstate 加载问题 页面有一个登录工具来登录管理员和非管理员用户 当非管理员用户登录页面并单击启用了自动回发的复选框时 会出现奇怪的行为 错误详情如下 后来我发现 在左侧的导航面板中 承载链接 侧边栏如下图所示 Se
  • Tomcat 是否立即支持 JAX-RS(它是否支持 JAX-RS)?

    从教材 RESTful Java with JAX RS 中我们可以读到 如果我们的应用程序服务器是 JAX RS 感知的 或者换句话说 与 JAX RS 紧密集成 则声明我们的ShoppingApplication作为 servlet 的
  • 清除 Laravel 队列缓存而不重新启动

    在我的应用程序中 每个客户都有一种复杂的类 我们在其中为该特定客户进行一些搜索和替换 我运行队列工作人员每天与 eBay 同步 以便每个客户进行某种搜索和替换 问题是 Laravel 队列会缓存代码很长一段时间 如果我想去更改任何客户类文件
  • URL中的gs_upl是什么意思?

    在任何谷歌搜索 URL 中 gs upl 是什么意思 例如 那么 gs upl 1045l1663l0l3648l4l4l0l0l0l0l258l682l0 3 1l4l0 在这里意味着什么 从构建的脚本gs upl j 我找到 funct
  • 如何将 html 输入到 Flask 中?

    我有这个 html 位
  • 函数默认参数有些问题?

    看到这个 let foo outer function bar func x gt foo let foo inner console log func bar outer 我想知道为什么输出是 外部 而不是 内部 我知道 JavaScri
  • 尝试访问我的网站时出现内部服务器错误

    我收到这个错误 内部服务器错误 服务器遇到内部错误或配置错误 无法完成您的请求 请联系服务器管理员 电子邮件受保护 cdn cgi l email protection和 告知他们错误发生的时间以及您可能会发生的任何事情 所做的事情可能导致
  • Electron 应用程序可以与 java 代码集成吗?

    由于node js仍然缺乏Java中存在的重要功能 因此我想使用Java而不是node js 并使用Web语言 html js css 创建客户端 Electron 是跨平台的 java 也是跨平台的 因此似乎有一个能够两全其美的解决方案
  • 在 html 中创建子页面 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 假设我有一个网站http www example com http www example com 如何为此页面创建更多子页面 即 w
  • 电话链接在 iframe 中不起作用,但在 iOS 9 Web 中的 div 中起作用。如何使电话链接在 iOS 9 safari 中正常工作?

    您好 我正在尝试 iOS9 中 iframe 内的电话链接 iOS9 中的 safari 中无法打开手机应用程序 当我在里面尝试相同的链接时 它就在那里工作 我正在尝试下面的锚标记 将此代码放入 div 中时会打开手机应用程序 但同样的代码
  • Web Api - 不允许捕获 405 方法

    截至目前 Web api 应用程序针对 405 方法不允许错误返回以下响应正文 我正在尝试更改响应正文 但我不知道如何使用委托处理程序 ApiControllerActionSelector 或过滤器 谁能帮我捕获服务器端的 405 错误
  • 使用“邮递员”chrome 应用程序的肥皂请求正文

    假日网络服务 的肥皂请求正文会是什么样子 http www holidaywebservice com HolidayService v2 HolidayService2 asmx wsdl http www holidaywebservi

随机推荐

  • 泰勒公式的介绍、应用及常见题型

    目录 一 简介 1 泰勒公式及其证明过程 2 两种类型的余项 3 麦克劳林公式 二 泰勒公式常见题型 1 用泰勒公式展开函数 2 用泰勒公式求极限 3 用泰勒公式讨论无穷小的比较 4 用泰勒公式证明等式和不等式 一 简介 1 泰勒公式及其证
  • JAVA实现简易HTTP服务器

    说实话 之前完全没有想过 我还能写出服务器 感觉服务器这么高端的东西 能会用就不错了 还能写 不吐槽了 开始了 这次的作业是搭建一个服务器 要能接收请求 并给浏览器返回正确响应 项目的下载地址 项目目标 实现一个简易的多线程服务器 可以处理
  • Linux 内核中的 Device Mapper 机制

    Linux 内核中的 Device Mapper 机制 尹 洋 在读博士生 尹洋 中科院计算所国家高性能计算机工程技术研究中心的在读博士生 主要从事服务部署和存储资源管理以及Linux块设备一级的开发和研究工作 简介 本文结合具体代码对 L
  • macOS命令行终端隐藏主机名和用户名

    首先要区分自己的终端用的是Bash Shell还是Zsh Shell 网上很多教程都是Bash的 所以如果你用的是Zsh 那按照Bash的步骤来设置是不会有效果的 从2019年起 macOS的默认Shell由Bash改为Zsh 查看当前使用
  • 手把手教你安装Eclipse最新版本的详细教程 (非常详细,非常实用)

    简介 首先声明此篇文章主要是针对测试菜鸟或者刚刚入门的小伙们或者童鞋们 大佬就没有必要往下看了 写这篇文章的由来是因为后边要用这个工具 但是由于某些原因有部分小伙伴和童鞋们可能不会安装此工具 为了方便小伙伴们和童鞋们的后续学习和不打击他们的
  • GET报错注入(Sqli-labs第一题详解)

    文章目录 一 找注入点 二 order by判断列数 三 union联合注入 判断数据显示点 四 爆库 爆表 一 找注入点 单引号注入题目 在参数后面加一个单引号 id 1 数据库报错 单引号匹配出错 即添加的单引号成功被数据库解析 可以通
  • es文件浏览器怎么开ftp服务器,es文件浏览器怎么开ftp服务器

    es文件浏览器怎么开ftp服务器 内容精选 换一换 怎样上传文件到Windows操作系统云服务器 安装传输工具在本地主机和Windows云服务器上分别安装数据传输工具 将文件上传到云服务器 例如QQ exe 在本地主机和Windows云服务
  • qt在打包的时候提示应用程序无法正常启动(0xc000007b)

    造成这种现象的原因是你的电脑中有多个版本的qt 导致环境路径会出现有问题 解决的方法是 1 找到你配置好的开发程序使用的QT版本 进入Qt命令行工具 使用windeployqt命令来进行打包
  • Mac 安装 vue 环境

    安装 nodejs 首先 安装 nodejs 官网下载node https nodejs org zh cn 接下来 安装下载下来的软件包 安装完成后 在终端输入 node v 查看是否安装成功 安装 cnpm 终端输入 sudo npm
  • 【华为OD统一考试B卷

    华为OD统一考试A卷 B卷 新题库说明 2023年5月份 华为官方已经将的 2022 0223Q 1 2 3 4 统一修改为OD统一考试 A卷 和OD统一考试 B卷 你收到的链接上面会标注A卷还是B卷 请注意 根据反馈 目前大部分收到的都是
  • Linux下面安装MySQL详细步骤讲解

    今天下午在Linux下装了MySQL 我的是虚拟机里面装的CentOs7版本 装mysql的过程中遇到了一些问题 网上的回答又是乱七八糟 为了使朋友们少走弯路 特把我今天安装的全部流程总结如下 1 首先我是先从官网下下载一个 mysql 5
  • 在centos在部署分布式文件存储系统Minio

    docker部署以及详细文档自取 链接 https pan baidu com s 14NhCk1SQZEHqzMubpUD0eQ 提取码 xyxy 0 应用场景 电商网站 海量商品图片 视频网站 海量视频文件 网盘 海量文件 社交网站 海
  • LeetCode题解—260.只出现一次的数字Ⅲ

    题目地址 260 只出现一次的数字 III 力扣 LeetCode 题解 这道题是基于寻找只出现一次的数字 上的拓展 136 只出现一次的数字 力扣 LeetCode 在 中 我们只需要把所有的数字异或一遍即可 因为只有一个数字是唯一的 但
  • 2.23怎么在OrCAD原理图中显示与隐藏元器件的Value值?【OrCAD原理图封装库50问解析】

    笔者电子信息专业硕士毕业 获得过多次电子设计大赛 大学生智能车 数学建模国奖 现就职于南京某半导体芯片公司 从事硬件研发 电路设计研究 对于学电子的小伙伴 深知入门的不易 特开次博客交流分享经验 共同互勉 全套资料领取扫描文末二维码 温馨提
  • C1认证学习笔记(第三章)

    C1认证 三 JS基础 JavaScript变量命名规则 任务目标 任务背景 语法层面 工程层面 任务练习 逻辑运算 任务目标 任务背景 比较运算符 逻辑运算符 知识拓展 任务练习 隐式类型转换 任务目标 任务背景 任务内容 字符串和数字的
  • 设计模式之访问者模式

    访问者模式 把被操作的对象作为元素 可变可拓展的操作作为访问者 可以说访问者中有很多操作 然后访问者访问元素 对该元素进行操作 不同的访问者有不同的操作 案例 定义访问者接口 public interface UniversalVisito
  • 如何创建虚拟环境

    创建虚拟环境常用的两种方法 一 用conda创建虚拟环境的步骤 1 创建虚拟环境 conda create n env python 3 6 版本号 2 激活虚拟环境 source activate env 3 退出虚拟环境 source
  • Unity动画控制器animator.CrossFade

    需要特别注意 1 CrossFade虽然可以不用任何逻辑来链接而直接跳转 但是CrossFade只能覆盖其他动画 当当前动画播放完毕而没有跳出这个动画时再次调用CrossFade将会失败 造成动画依旧停在原位 参数animator Cros
  • [学C日记]---数组

    1 数组创建 int count int arr count 不行 中不能使用变量 2 数组的大小可以通过计算得到 int arr 10 int sz sizeof arr sizeof arr 0 在主函数里算 在调用函数里算时 传参的时
  • CTFSHOW-WEB详解

    CTFSHOW WEB详解 一 WEB13 文件上传 二 WEB 红包题第二弹 一 WEB13 文件上传 开始的界面就是文件上传 确定方向为文件上传漏洞分析 尝试上传文件 我上传的第一个文件是一个文本文件很小只有9个字节 就上传成功了直接