BUUCTF 加固题 babypython WriteUp

news2025/1/21 22:05:43

原题wp参考链接:https://www.cnblogs.com/karsa/p/13529769.html

这是CISCN2021 总决赛的题,解题思路是软链接zip 读取文件,然后伪造admin的session读取flag

回到buuctf的这个题:

ssh连上去,查看 文件 /app/y0u_found_it/y0u_found_it_main.py

关键代码:

random.seed(uuid.getnode())
app = Flask(__name__)
app.config['SECRET_KEY'] = str(random.random()*100)

random生成伪随机数,uuid.getnode()用来获取当前主机的的MAC地址

所以用软链接读取/sys/class/net/eth0/address,然后伪造session就可以有admin的session了。

这里我的修复思路可能比较麻烦,但也是个可行的方法:

首先下载secrets模块,secrets模块可以提供比较强的随机数

pip install python-secrets -i https://pypi.tuna.tsinghua.edu.cn/simple

修改y0u_found_it_main.py的代码

导入secrets模块

import secrets

修改如下一行代码:

app.config['SECRET_KEY'] = str(secrets.randbelow(10000000000))

或者可以这样改

app.config['SECRET_KEY'] =secrets.token_hex(16)

然后访问check

在这里插入图片描述

这里不知道什么原因通过不了了,第一次试我是通过了的,大家可以用这个方法试试。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1290191.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

分割算法-大津算法

分割算法-大津算法 一、什么是大津算法二、算法原理三、公式推导四、代码五、算法适用性 大津算法介绍以及C函数代码实现。 一、什么是大津算法 大津算法(Otsu)由日本学者大津展之在1979年提出,又称最大类间方差法。此法求得的阈值&#xff…

Lidar-SLAM的历史与现状

文章:LiDAR-based SLAM for robotic mapping: state of the art and new frontiers 作者:Xiangdi Yue and Miaolei He 编辑:点云PCL 欢迎各位加入知识星球,获取PDF论文,欢迎转发朋友圈。文章仅做学术分享&#xff0c…

MOS管加三个元件就组成BUCK电路,为何说难点在于电感?

只要是电子产品就需要供电,就离不开电源,那什么是电源:小到手表中的电子,遥控器的电源,大到220V家庭用电,都可以看做是电源。然而在我们的电路设计中,会用到各种芯片,各种芯片所需要…

什么是呼叫中心的语音通道?呼叫中心语音线路有几种?

什么是呼叫中心的语音通道? 呼叫中心的语音通道是指在呼叫中心中使用的语音信号传输通道,它是呼叫中心中至关重要的一部分,负责将客户的语音信息传递给客服代表,以及将客服代表的语音信息传递给客户。在呼叫中心的运营中&#xf…

探索鸿蒙 DevEcoStudio汉化+运行报错

在下载好软件,摸索着成功创建了一个项目的时候,点击运行,竟然失败了。而且一大堆的英文也不知道从何入手,从网上搜了一下,找到了汉化的办法,并且解决了问题。我这里走的是Mac的步骤,微软的其实一…

软件科技成果鉴定测试需提供哪些材料?

为了有效评估科技成果的质量,促进科技理论向实际应用转化,所以需要进行科技成果鉴定测试。申请鉴定的科技成果范围是指列入国家和省、自治区、直辖市以及国务院有关部门科技计划内的应用技术成果,以及少数科技计划外的重大应用技术成果。   …

LIO-SAM如何存储地图

1. 需要修改配置文件config/params.yaml文件的参数: savePCD: true # https://github.com/TixiaoShan/LIO-SAM/issues/3 savePCDDirectory: "/zoe/ws_lio_sam/src/LIO-SAM/map" 2.保存地图: source deve…

重磅!苹果官方发布大模型框架:一个可以充分利用苹果统一内存的新的大模型框架MLX,你的MacBook可以一键运行LLaMA了

本文来自DataLearnerAI官方网站:重磅!苹果官方发布大模型框架:一个可以充分利用苹果统一内存的新的大模型框架MLX,你的MacBook可以一键运行LLaMA了 | 数据学习者官方网站(Datalearner)https://www.datalearner.com/blog/105170187…

西工大计算机学院计算机系统基础实验一(函数编写11~14)

稳住心态不要慌,如果考试周冲突的话,可以直接复制这篇博客和上一篇博客西工大计算机学院计算机系统基础实验一(函数编写1~10)-CSDN博客最后的代码,然后直接提交,等熬过考试周之后回过头再慢慢做也可以。 第…

1.2 C语言简介

一、为什么要讲C语言 C语言是编程界的长青藤,可以查看语言排名发现,虽然现在语言很多,但是C语言一直占有一定地址 来源网站:https://www.tiobe.com/tiobe-index/ 在系统、嵌入式、底层驱动等领域存在一定的唯一性(C语…

MIT6.5840-2023-Lab1: MapReduce

前置知识 MapReduce:Master 将一个 Map 任务或 Reduce 任务分配给一个空闲的 worker。 Map阶段:被分配了 map 任务的 worker 程序读取相关的输入数据片段,生成并输出中间 k/v 对,并缓存在内存中。 Reduce阶段:所有 ma…

【LeetCode刷题-链表】--92.反转链表II

92.反转链表II /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}* ListNode(int val) { this.val val; }* ListNode(int val, ListNode next) { this.val val; this.next next; }* }*/ cla…

Java第二十一章网络通信

一、网络程序设计基础 1、局域网与互联网 为了实现两台计算机的通信,必须用一个网络线路连接两台计算机,如下图所示。 2、网络协议 1.IP协议 IP指网际互连协议,Internet Protocol的缩写,是TCP/IP体系中的网络层协议。设计IP的目的…

基于NIQE算法的图像无参考质量评价算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1 空域NSS特征提取 4.2 图像块选取 4.3 MVG模型 4.4 NIQE指标 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 MATLAB2022a 3.部分核心程序 clc; clear; close all; …

Python推导式详细讲解

更多资料获取 📚 个人网站:ipengtao.com 在Python中,推导式是一种简洁而强大的语法特性,可以用来创建列表、集合、字典等数据结构。本文将深入探讨Python中的三种推导式:列表推导式、集合推导式和字典推导式&#xff…

pytorch中的transpose用法

注意:维数从0开始,0维 1维2维…,负数代表从右往左数,-1代表第一维,以此类推 import torch import numpy as np# 创建一个二维数组 arr torch.tensor([[[1, 2],[3, 4]],[[5, 6],[7, 8]]]) print("原始数组:"…

resnet 图像分类的项目

1. 项目文件 文件下载资源:resnet 图像分类的项目代码 本章利用reset34 作图像分类,包括计算训练集和测试集的loss、accuracy曲线,对训练好的网络在训练集测试集上求混淆矩阵 data 文件为训练集测试集,图像按照文件夹摆放inferenc…

电源滤波器如何检测?ATECLOUD-POWER电源自动测试软件如何助力?

电源滤波器常用来对电源中的纹波和干扰信号进行滤波,从而确保元器件不受损坏,是保证系统稳定性的重要方法。因此电源滤波器测试是非常重要的,通过检测来评估其质量、性能和稳定性,从而使电源滤波器可以稳定工作,进行滤…

HarmonyOS 修改App的默认加载的界面(ArkTS版本)(十七)

根据鸿蒙系统APP的应用生命周期结构(鸿蒙4.0开发笔记之ArkTS语法基础之应用生命周期)来看。 1、首先在roject/entry/src/main/ets/entryability/EntryAbility.ts文件中找到UI加载函数:onWindowStageCreate(…){…},然后找到windo…