文章目录

  • 概述
  • 题目
    • 题目概述
  • 源代码
    • 源代码分析
  • 解题思路
    • 题目解答

概述

HackTheBox 网站CTF靶场Web相关题目baby CachedView,题目地址https://app.hackthebox.com/challenges/baby-cachedview,主要考察的是IP地址限制的绕过思路。

题目

题目概述

题目提供了附件下载,解压后如图

题目提示大意为经历了安全事故后对网站的服务进行了基于IP地址的限制。

开启程序实例后,提示访问138.68.142.134:31643,访问http://138.68.142.134:31643,看到如下Web界面

查看requirements.txt,发现为Flask应用

Flask
selenium

源代码

routes.py

from flask import Blueprint, request, render_template, abort, send_file
from application.util import cache_web, is_from_localhostweb = Blueprint('web', __name__)
api = Blueprint('api', __name__)@web.route('/')
def index():return render_template('index.html')@api.route('/cache', methods=['POST'])
def cache():if not request.is_json or 'url' not in request.json:return abort(400)return cache_web(request.json['url'])@web.route('/flag')
@is_from_localhost
def flag():return send_file('flag.png')

可以在路由中看到/flag路径,这个路由有两个装饰器,其中用到了util.py

util.py

源代码分析

在目标首页提交的源代码,由/cache响应,经过cache_web函数处理后返回结果,在cache_web函数中有IP地址的限制,主要是对127网段、172.16网段、192.168等内网网段的限制。

而如果访问/flag路径,会被装饰器中的check_ip处理,如果不是本地地址(127.0.0.1)会被禁止。

实际验证,首先在输入框输入http://138.68.142.134:31643/flag,触发了check_ip的检查

如果在输入框输入http://127.0.0.1:31643/flag,触发了cache_web的检查,提示IP not allowed

解题思路

在云服务器上部署Web服务,输入框输入地址为云服务器地址,通过cache_web的检查,而服务器上Web的内容为本地访问flag

题目解答

在云服务器上部署网页index.html,内容为

<meta http-equiv="refresh" content="0; URL=http://127.0.0.1:31643/flag" />

在输入框输入云服务器地址

得到flag

HackTheBox-baby CachedView相关推荐

  1. [watevrCTF 2019]Baby RLWE

    [watevrCTF 2019]Baby RLWE 题目 Mateusz carried a huge jar of small papers with public keys written on ...

  2. [NPUCTF2020]Baby Obfuscation [HDCTF2019]MFC

    文章目录 [NPUCTF2020]Baby Obfuscation 把五个Fox分析一下 F0X1(int a, int b): 运用辗转相除法求得最大公因数(学到一个词汇:最大公约数GCD,最小公倍 ...

  3. 离散对数(Baby Step Giant Step)

    现在我来介绍一种算法叫做Baby Step Giant Step.它是用来解决如下方程最小正整数解的     其中 如果,那么我们可以先取模,即,所以在这里我们只讨论的情况. 普通Baby Step ...

  4. 使用Eric构建Caffe应用程序-Baby年龄识别

    训练好的Caffe网络结构,可以固定下来,直接载入程序作为数据库接口使用.本文使用Eric构建运行于Python环境下的图片识别应用程序,因为Eric使用QT作为GUI,且有Python的接口,可直接 ...

  5. CF1516E. Baby Ehab Plays with Permutations(组合数学)

    CF1516E. Baby Ehab Plays with Permutations Solution 因为组合水平不行所以只弄出来一个O(k4)O(k^4)O(k4)的做法(虽然随便改改可能就O(k ...

  6. bsgs(Baby Steps Giant Steps)算法

    BSGS算法(Baby Steps Giant Steps算法,大步小步算法,北上广深算法,拔山盖世算法) 适用问题 对于式子: $$x^y=z(mod_p)$$ 已知x,z,p,p为质数: 求解一个 ...

  7. NOI数学:大步小步(Baby Step Giant Step,BSGS)算法

    BSGS算法求 高次同余方程:1.可爱的质数 2.计算器 BSGS算法求 高次同余方程:1.可爱的质数 2.计算器_啦啦啦32421的博客-CSDN博客 大步小步算法(BSGS)及扩展 & b ...

  8. 《101 Windows Phone 7 Apps》读书笔记-BABY MILESTONES

    课程内容 Ø图片的读写 Ø序列化 Ø双向数据绑定 Baby Milestones将婴儿从出生到2岁之间的发展关键里程碑通知给父母.该应用程序使得父母能够跟踪发展里程碑,并确保他们的宝宝正常成长.它会把 ...

  9. SandyMandy ,绝世好BABY http://angel.mingox.com

    Sandy&Mandy ,绝世好BABY    ...... http://angel.mingox.com 转载于:https://www.cnblogs.com/tataa/archive ...

最新文章

  1. Atom:Uncaught TypeError: Right-hand side of 'instanceof' is not callable(markdown-scroll-sync)
  2. 2021-2030 无人机行业十大发展趋势
  3. python图形编程基础-Python从基础到入门系列教程
  4. 一次生产事故的优化经历
  5. Android 横竖屏切换时 Dialog 布局自适应
  6. postgres xshell copy 命令 内存溢出_良心国产工具,比Xshell好用还免费!
  7. java 有序容器_Java 容器集合框架概览
  8. [转载] python单词词典_Python 字典(Dictionary)
  9. [Hive]Hive表文件压缩介绍
  10. R语言与回归分析几个假设的检验
  11. 不会真有人觉得聊天机器人难吧——使用BERT加载预训练模型得到中文句子向量
  12. Windows使用阿里云RAM访问控制API实现自建DDNS动态域名解析
  13. oracle+linux+oel+6.9,Oracle 11g(11.2.0.4) install on OEL6.7
  14. java绝对值排序_HDU 2020 绝对值排序
  15. 前端Javascript第一天知识点:数据类型(重要)
  16. 华为强推996工作制,程序员们的变态加班何时休?
  17. 使用cerebro可视化ElasticSearch集群信息
  18. 压敏电阻器的结构原理及参数 (tvs,气体管,防雷击)
  19. protobuf c语言版本
  20. 第一卷清晨的帝国 第一百四十三章 辩难始

热门文章

  1. Intent传递Bitmap
  2. Unity 基础开发-WebGL发布无法运行问题
  3. Python语言练习
  4. 解决下载图片打不开的问题
  5. 从一路赞美到嘘声不断 90后创业热潮已宣告死亡
  6. 摩杜云受邀出席CDEC中国数据智能生态大会
  7. 企业级移动应用如何优化域名解析和业务访问?
  8. 关于西门子PC Adapter USB对于PPI协议的支持问题的结论(2015-10-19相反的结论):
  9. 读书笔记 《Python灰帽子-黑客与逆向工程师的Python编程之道》
  10. 改装普通电脑为触屏电脑