ctfhub技能树部分wp(潦草笔记)

2023-11-14

备份文件下载

vim缓存

在使用vim时会创建临时缓存文件,关闭vim时缓存文件则会被删除,当vim异常退出后,因为未处理缓存文件,导致可以通过缓存文件恢复原始文件内容(隐藏文件index.php.swp前加 . )

以 index.php 为例:第一次产生的交换文件名为 .index.php.swp

再次意外退出后,将会产生名为 .index.php.swo 的交换文件

第三次产生的交换文件则为 .index.php.swn

.DS_Store

文件上传

无前端验证:上传小马文件,用中国蚁剑连接,得到flag; 有前端验证的禁用js,同样用上述方法

.htaccess

.htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置,通过htaccess文件,可以帮我们实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能。

简单来说,就是我上传了一个.htaccess文件到服务器,那么服务器之后就会将特定格式的文件以php格式解析。

wp: AddType application/x-httpd-php .png // .png文件当作php文件解析

上传.htaccess文件,当上传.htaccess文件到upload目录时,upload目录下的文件会按其配置生效解析。再上传一句话木马文件(后缀名为png,与上面一句话对应

MIME类型校验就是我们在上传文件到服务端的时候,服务端会对客户端也就是我们上传的文件的Content-Type类型进行检测,如果是白名单所允许的,则可以正常上传,否则上传失败。

wp: 文件上传之白名单绕过,先上传小马,抓包修改content-type为image/jpeg,放包发现上传成功,再连接中国蚁剑,查看flag

Web-SSRF

URL Bypass

给出提示,url参数的值中必须包含有http://notfound.ctfhub.com

可以采用@,也就是 HTTP 基本身份认证绕过

HTTP 基本身份认证允许 Web 浏览器或其他客户端程序在请求时提供用户名和口令形式的身份凭证的一种登录验证方式。

也就是:http://www.xxx.com@www.yyy.com形式

构造题目所需 Payload:

?url=http://notfound.ctfhub.com@127.0.0.1/flag.php

IP Bypass

同样web目录下存在flag.php,必须从本地访问,尝试本地访问flag.php

多次尝试提示127|172|@|被禁止

用特殊地址http://0/flag.php或用http://localhost/flag.php

302Bypass跳转

同样web目录下存在flag.php,用上述方法尝试发现被禁止,尝试用特殊地址绕过

DNS重绑定

与之前一样用?url=127.0.0.1/flag.php访问,..... 提示不允许企业内部IP访问,尝试使用file协议读取源码:?url=file:///var/www/html/index.php得到index.php页面的源码(查看源码),与CTFHub技能树 Web-SSRF 302跳转 Bypass一样的黑名单,但题目要求以DNS重绑定的方式绕过。

通过rbndr.us dns rebinding service网站设置DNS:

127.0.0.1 127.0.0.2

使用生成的域名构造payload即?url=7f000001.7f000002.rbndr.us/flag.php得到flag

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

ctfhub技能树部分wp(潦草笔记) 的相关文章

  • lvgl-文本框学习篇(五)

    lvgl 文本框学习篇 五 学习材料 工具 QT Creator 5 12 3 lvgl 源代码 lvgl 官方标签例程 极客笔记 学习内容 过程 零件和样式 用法 添加文字 占位符 删除字符 移动光标 隐藏光标 光标闪烁时间 单行模式 密
  • 1050 螺旋矩阵

    本题要求将给定的 N 个正整数按非递增的顺序 填入 螺旋矩阵 所谓 螺旋矩阵 是指从左上角第 1 个格子开始 按顺时针螺旋方向填充 要求矩阵的规模为 m 行 n 列 满足条件 m n 等于 N m n 且 m n 取所有可能值中的最小值 输
  • idea设置JVM运行参数

    对JVM运行参数进行修改是JVM性能调优的重要手段 下面介绍在应用程序开发过程中JVM参数设置的几种方式 方式一 java程序运行时指定 Dproperty value 该参数通常用于设置系统级全局变量值 如配置文件路径 保证该属性在程序中

随机推荐

  • linux 虚拟化

    主旨 日常我们都在自己的windows或者mac电脑上 安装vmware软件 来虚拟linux服务器 那么我们是不是也可以通过在linux服务器上安装vmware软件 来虚拟出来其他的服务器呢 开整 优点 可以在一台服务器上虚拟出来几台服务
  • 03 面向对象(多态,接口)

    如果要求程序员必须在某个类中特定的方法中实现一个特定的功能 应该如何实现 使用抽象方法或者使用接口 interface 抽象方法只能单继承 不能多继承 子类必须使用里面的抽象方法 接口可以多继承 实现类必须重写里面的方法 接口的作用 接口是
  • MOS管泄漏电流简要分析

    待机状态下 晶体管的漏电分析 一个理想的MOS晶体管不应该有任何电流流入衬底或者阱中 当晶体管关闭的时候D S之间不应该存在任何的电流 但是 现实中MOS却存在各种不同的漏电流 漏电流一方面严重减小了低功耗设备的电池使用寿命 另一方面在某些
  • 《深度学习》读书笔记:第3章 概率与信息论

    目录 第3章 概率与信息论 3 1 为什么要使用概率 3 2 随机变量 3 3 概率分布 3 3 1 离散型变量和概率质量函数 3 3 2 连续型变量和概率密度函数 3 4 边缘概率 3 5 条件概率 3 6 条件概率的链式法则 3 7 独
  • 九、网络IO原理-创建ServerSocket的过程

    示例 创建ServerSocker过程 创建ServerSocket并注册端口号8090 ServerSocket server new ServerSocket 8090 while true 循环 final Socket socket
  • [Tools: tiny-cuda-nn] Linux安装

    official repo https github com NVlabs tiny cuda nn 该包可以显著提高NeRF训练速度 是Instant NGP Threestudio和NeRFstudio等框架中 必须使用的 1 命令行安
  • iOS开发之Runtime运行时机制

    摘要 Objective C是基于C加入了面向对象特性和消息转发机制的动态语言 除编译器之外 还需用Runtime系统来动态创建类和对象 进行消息发送和转发 作者通过分析Apple开源的Runtime代码来深入理解OC的Runtime机制
  • js实现模仿广告弹出并关闭弹窗

    css部分
  • 字符串转换整数 (atoi)

    字符串转换整数 atoi 请你来实现一个myAtoi string s 函数 使其能将字符串转换成一个 32 位有符号整数 类似 C C 中的 atoi 函数 函数myAtoi string s 的算法如下 读入字符串并丢弃无用的前导空格
  • linux系统忘记记密码怎么办

    linux 此次操作系统为 CentOS Linux release 7 5 1804 Core 1 重启linux 进入系统的GRUB菜单界面 按下小写字母e进入编辑界面 进入如下画面 2 按下方向键 找到以字符串Linux16开头的行
  • 物联网改造体育产业,这些常见球类都成了数据终端

    从智能手机 衣服 汽车到冰箱 物联网意味着几乎任何物件都可以连接到网络 通过物件里含有的传感器之间的通信和同步 我们获得了大量的数据 这些数据经过分析和处理 产生了大数据智能 现在 物联网 大数据智能不仅仅是一种时尚 一个流行语 更将彻底改
  • pppoe 拨号过程

    PPPoE 拔号过程 发现阶段解析 文档编号 834 浏览 14295 评分 73 最后更新于 2011 02 11 PPPoE拔号的发现阶段 Discovery PPPoE的发现阶段一共分为 4步 分别是 PADI PPPoE Activ
  • 什么是图神经网络

    2019年可以说是图神经网络元年 01 什么是图神经网络 1 图和属性图 要了解图神经网络 首先要了解图 图是由节点和边组成的 如下图所示 一般图中的节点表示实体对象 比如一个用户 一件商品 一辆车 一张银行卡等都可以作为节点 边代表事件或
  • 服务器windows操作系统安装,服务器windows操作系统的安装.doc

    服务器windows操作系统的安装 Windows 2K3 2K8系统的安装 注 在这两个操作系统的安装中尤其要注意RAID卡驱动的加载 Windows server 2003标准版的安装 一 准备工作 Windows 2003标准版的安装
  • Unity之三:配置向导

    文章目录 一 C标准 编译器 微控制器 二 选项 2 1 整数类型 2 1 1 UNITY EXCLUDE STDINT H 2 1 2 UNITY EXCLUDE LIMITS H 2 1 3 UNITY INT WIDTH 2 1 4
  • 项目重构之起始

    百层之台始于累土 合抱之木生于毫末 转眼间来到公司已历三个寒暑 愈加光亮鬓角 隆起的肚腩 无不彰显着开发功力日渐深厚 公司的产品也从H5商城成长为了一款app 步入了他的青年阶段 也许是青春期的原因 也许是成长路上各种功能迭代导致 总而言之
  • Keil5(MDK5)在调试(debug)过程中遇到的问题

    参考原子哥教程 使用开发板 STM32F103RC Keil5 MDK5 在调试 debug 过程中崩溃 IDE已停止运行 http blog csdn net qq 33259138 article details 70224581 现象
  • Py的ipykernel:Python库介绍、安装及使用攻略

    Py的ipykernel Python库介绍 安装及使用攻略 ipykernel是一个用于在Jupyter Notebook中运行Python代码的包 它可以将Python代码转化为可以在IPython内核上运行的格式 下面我们将详细介绍如
  • C/C++中如何获取数组的长度?

    C C 中没有提供 直接获取数组长度的函数 对于存放字符串的字符数组提供了一个strlen函数获取长度 那么对于其他类型的数组如何获取他们的长度呢 其中一种方法是使 用sizeof array sizeof array 0 在C语言中习惯上
  • ctfhub技能树部分wp(潦草笔记)

    备份文件下载 vim缓存 在使用vim时会创建临时缓存文件 关闭vim时缓存文件则会被删除 当vim异常退出后 因为未处理缓存文件 导致可以通过缓存文件恢复原始文件内容 隐藏文件index php swp前加 以 index php 为例