首页 > 其他分享 >[CISCN2019 华东南赛区]Double Secret

[CISCN2019 华东南赛区]Double Secret

时间:2024-07-07 14:19:37浏览次数:1  
标签:box 加密 rc4 Double Secret res print CISCN2019 256

进入题目
image

由于请求不能过快,目录扫描工具失效可写脚本,
根据题目两个secret,猜测有serect目录
访问
image

猜测还有一个secret参数

image

随意输入

image

image

发现源码泄露
注意到有flask,考虑python模板注入
注意到
image

发现rc4加密
找师傅的加密脚本
import base64
from urllib.parse import quote
def rc4_main(key = "HereIsTreasure", message = "ciscn"):
# print("RC4加密主函数")
s_box = rc4_init_sbox(key)
crypt = str(rc4_excrypt(message, s_box))
return crypt
def rc4_init_sbox(key):
s_box = list(range(256)) # 我这里没管秘钥小于256的情况,小于256不断重复填充即可
# print("原来的 s 盒:%s" % s_box)
j = 0
for i in range(256):
j = (j + s_box[i] + ord(key[i % len(key)])) % 256
s_box[i], s_box[j] = s_box[j], s_box[i]
# print("混乱后的 s 盒:%s"% s_box)
return s_box
def rc4_excrypt(plain, box):
# print("调用加密程序成功。")
res = []
i = j = 0
for s in plain:
i = (i + 1) % 256
j = (j + box[i]) % 256
box[i], box[j] = box[j], box[i]
t = (box[i] + box[j]) % 256
k = box[t]
res.append(chr(ord(s) ^ k))
# print("res用于加密字符串,加密后是:%res" %res)
cipher = "".join(res)
print("加密后的字符串是:%s" %quote(cipher))
#print("加密后的输出(经过编码)

标签:box,加密,rc4,Double,Secret,res,print,CISCN2019,256
From: https://www.cnblogs.com/v3n0m-cccccc/p/18288458

相关文章

  • 字节面试 用double,1.0-0.9的结果不是0.1,为什么?
    让我详细解释一下为什么1.0-0.9在二进制中不能精确表示。1.0的二进制表示1.0在二进制中可以精确表示。它的二进制表示为:1.0=1.0(二进制)0.9的二进制表示0.9是一个无法在二进制中精确表示的小数。二进制小数是通过求和1/2,1/4,1/8,1/16,...等幂次表示的。对......
  • 45、k8s-数据存储-配置存储-secret-(用于存储配置信息的-比configMap安全)-密文存储
    作用:用于存储敏感信息、例如密码、密钥、证书等实验:创建secret、再将secret挂载到容器里去、使用容器查看secret存储的信息1、先使用base64对数据进行编码·echo-n'admin'|base64---------------------------YWRtaW4=---------------------------......
  • secret
    k8ssecretsecret存放一些敏感数据,但是不想被别人知道具体内容,如:密码,token,密钥等敏感信息; 把POD想要访问的数据加密后存储在etcd中,然后可以通过Pod的容器挂载volume的方式或者环境变量等方式访问secret里的信息; secret有些像ConfigMap,但是内容是加密的; 常用类型 opaque:......
  • 【K8s】专题五(4):Kubernetes 配置之 ConfigMap 与 Secret 使用
    以下内容均来自个人笔记并重新梳理,如有错误欢迎指正!如果对您有帮助,烦请点赞、关注、转发!欢迎扫码关注个人公众号!目录一、ConfigMap使用方式1、注入环境变量2、挂载配置文件二、Secret使用方式1、注入环境变量2、设置镜像密钥3、设置TLS凭据一、ConfigMap使用方......
  • C++数据格式化1 - uint转换成字符串 & double转换成字符串
    1.关键词2.strfmt.h3.strfmt.cpp4.测试代码5.运行结果6.源码地址1.关键词C++数据格式化字符串处理std::stringintdouble跨平台2.strfmt.h#pragmaonce#include<string>#include<cstdint>#include<sstream>#include<iomanip>namespacecutl{......
  • QSpinBox、QDoubleSpinBox 的使用,进制转换
    实现目的使用QSpinBox、QDoubleSpinBox实现数量*单价,float结果显示使用QSpinBox、QDoubleSpinBox实现进制的转换拟实现界面布局垂直布局、groupBox中为栅格布局控件进制设置属性displayIntegerBase16代表16进制#include"spinboxexample.h"#include"ui_......
  • 【K8s】专题五(3):Kubernetes 配置之 ConfigMap 与 Secret 异同
    以下内容均来自个人笔记并重新梳理,如有错误欢迎指正!如果对您有帮助,烦请点赞、关注、转发!欢迎扫码关注个人公众号!目录一、相同点二、不同点一、相同点功能作用:ConfigMap与Secret都用于存储配置数据,以便Pod可以访问这些数据创建方式:ConfigMap与Secret都可以通过......
  • [隐私计算学习笔记]4——SecretFlow与SecretNote的安装部署
    目录1.SecretFlow介绍2.安装(亲测)2.1运行要求2.2安装方式2.2.1方式一:docker镜像2.2.2方式二:pypi2.2.3方式三:源码安装3.部署3.1前置知识——SecretFlow和Ray3.2 仿真模式——实现快速验证3.2.1单机仿真3.2.2集群仿真3.3 生产模式——实现安全生产4.关......
  • SAP:SALV双击事件(Double Click)
    *&---------------------------------------------------------------------**&ReportZ17_30*&*&---------------------------------------------------------------------**&SALV双击事件*&*&------------------------------------------------......
  • 数据结构和矩阵细节用法:double、cell和complex #matlab
    建立矩阵用[];矩阵的同一行内的元素用逗号或者空格隔开矩阵的不同行的元素用分号隔开eg.       矩阵     A=123456789在matlab中矩阵A表示为:clc;clear;A=[1,2,3;4,5,6;7,8,9]; %或者A=[123;456;789];小矩阵构建大矩阵假设:A=[......