2024西湖论剑misc方向wp

每年的misc都是最无聊坐牢的

在这里插入图片描述

数据安全-easy_tables

import pandas as pd
import hashlib
from datetime import datetime

users_df = pd.read_csv('users.csv')
permissions_df = pd.read_csv('permissions.csv')
tables_df = pd.read_csv('tables.csv')
actionlog_df = pd.read_csv('actionlog.csv')

#判断操作是否在允许的操作中
def is_action_allowed(allowed_actions, action):
    return action in allowed_actions

#判断表是否在允许的表中
def is_table_allowed(allowed_tables, table_name):
    return str(table_name) in allowed_tables

#检查时间
def is_time_in_range(time_str, time_range_str):
    time = datetime.strptime(time_str, "%H:%M:%S").time()
    for period in time_range_str.split(','):
        start, end = period.split('~')
        start_time = datetime.strptime(start, "%H:%M:%S").time()
        end_time = datetime.strptime(end, "%H:%M:%S").time()
        if start_time <= time <= end_time:
            return True
    return False

def calculate_md5(s):
    return hashlib.md5(s.encode()).hexdigest()

user_permission_group = {row['账号']: row['所属权限组编号'] for index, row in users_df.iterrows()}
group_permissions = {row['编号']: row['可操作权限'].split(',') for index, row in permissions_df.iterrows()}
group_tables = {row['编号']: row['可操作表编号'].split(',') for index, row in permissions_df.iterrows()}
table_times = {row['编号']: row['可操作时间段(时:分:秒)'] for index, row in tables_df.iterrows()}

bad = []

for index, log in actionlog_df.iterrows():
    user = log['账号']
    operation = log['执行操作'].split()[0]  # 操作类型 (insert, delete,......),并且不同的类型出现的表位置不同
    if(operation == 'update'):
        table_name = log['执行操作'].split()[1]
    elif(operation == 'select'):
        table_name = log['执行操作'].split()[3]
    else:
        table_name = log['执行操作'].split()[2]
    operation_time = log['操作时间'].split()[1]
    # print(user,operation,table_name,operation_time)

    # 检查账号是否存在
    if user not in user_permission_group:
        bad.append(f"0_0_0_{log['编号']}")
        continue

    permission_group_id = user_permission_group[user]
    allowed_actions = group_permissions.get(permission_group_id, [])
    allowed_tables = group_tables.get(permission_group_id, [])
    # print(allowed_tables,allowed_actions)

    # 检查表是否存在及是否允许操作此表
    table_id = tables_df[tables_df['表名'] == table_name]['编号'].values
    if len(table_id) == 0 or not is_table_allowed(allowed_tables, table_id[0]):
        print('can')
        bad.append(f"{users_df[users_df['账号'] == user]['编号'].values[0]}_{permission_group_id}_{table_id[0]}_{log['编号']}")
        continue
    else:
        table_id = table_id[0]

    # 检查操作权限
    if not is_action_allowed(allowed_actions, operation):
        print('allow')
        bad.append(f"{users_df[users_df['账号'] == user]['编号'].values[0]}_{permission_group_id}_{table_id}_{log['编号']}")
        continue

    # 检查操作时间
    allowed_time_ranges = table_times.get(table_id, "")
    if not is_time_in_range(operation_time, allowed_time_ranges):
        print('time')
        bad.append(f"{users_df[users_df['账号'] == user]['编号'].values[0]}_{permission_group_id}_{table_id}_{log['编号']}")


print(bad)
bad_sort = ','.join(sorted(bad, key=lambda x: [int(i) for i in x.split('_')]))
flag_md5 = hashlib.md5(bad_sort.encode()).hexdigest()
flag_auto = f"DASCTF{{{flag_md5}}}"

print(bad_sort)
print(flag_auto)

allow
can
allow
time
can
time
time
['30_87_36_235', '7_64_69_3448', '9_18_61_5681', '6_14_91_6786', '0_0_0_6810', '49_37_30_8295', '0_0_0_8377', '75_15_43_8461', '79_3_15_9011', '31_76_85_9617']
0_0_0_6810,0_0_0_8377,6_14_91_6786,7_64_69_3448,9_18_61_5681,30_87_36_235,31_76_85_9617,49_37_30_8295,75_15_43_8461,79_3_15_9011 
DASCTF{271b1ffebf7a76080c7a6e134ae4c929}

easy_rawraw

管理员密码 mimikatz第一个密码das123admin321

image-20240131130330630

剪贴板 clipboard第二个密码DasrIa456sAdmIn987image-20240131130702116

image-20240131130806002

对应rar密码,解开根据大小、乱码和前面剪贴板内容的描述显然是vc容器

image-20240131131920355

第三个密码文件,在documents下

image-20240131131007625

解开png文件尾有zip

image-20240131131209952

8位数字爆破,对上zip的注释Have a good New Year!!!,应该刚好是正月初一

image-20240131131402008

得到一个密码本,爆破vc容器密码无果,fuzz后将其当作密钥文件解开vc

image-20240131132041787

一个隐藏excel

image-20240131132032898

excel密码是前面admin的密码

中间隐藏了一行,重新拉开是flag

image-20240131132124668

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

外汇监管牌照解析:确保交易安全与合规性

外汇交易中&#xff0c;资金安全与平台监管是大家最关心的话题。监管是评估外汇经纪商是否值得信赖、是否具备相关资质的关键依据&#xff0c;因此选择一家拥有海外合法监管的经济商至关重要。 那么&#xff0c;今天我们就来聊聊全球权威的几大监管机构 — FCA、ASIC、NFA、FSA…

(2024,定性评估、定量评估、人类评估)神经风格转移评估:综述

Evaluation in Neural Style Transfer: A Review 公和众和号&#xff1a;EDPJ&#xff08;进 Q 交流群&#xff1a;922230617 或加 VX&#xff1a;CV_EDPJ 进 V 交流群&#xff09; 目录 0. 摘要 1. 简介 2. 神经风格转移方法 0. 摘要 神经风格转移&#xff08;Neural St…

2024全力推进七大流域数字孪生整体立项建设

2024年伊始&#xff0c;各大流域委密集召开会议或发布重要文件&#xff0c;部署开展各流域数字孪生建设。 1月中旬&#xff0c;《中国水利》杂志刊发了珠江委党组书记、主任王宝恩署名文章《坚定不移推动高质量发展 为中国式现代化贡献珠江水利力量》。珠江委积极践行“江河战略…

PYTHON蓝桥杯——每日一练(简单题)

题目 对于长度为5位的一个01串&#xff0c;每一位都可能是0或1&#xff0c;一共有32种可能。它们的前几个是&#xff1a; 00000 00001 00010 00011 00100 请按从小到大的顺序输出这32种01串。 输入格式 本试题没有输入。 输出格式 输出32行&#xff0c;按从小到大的…

大数据学习之Redis,十大数据类型的具体应用(一)

目录 3. 数据类型命令及落地应用 3.1 备注 3.2 Redis字符串&#xff08;String&#xff09; 单值单value 多值操作 获取指定区间范围内的值 数值增减 获取字符串长度和内容追加 分布式锁 getset(先get后set) 3.3 Redis列表&#xff08;List&#xff09; 简单说明 …

pve web无法访问

一、问题描述 我这边修改了网络,导致ip发生了变更,pve网页版直接登不上了,ssh又可以登录。 二、解决方法 首先确认是不是网络的问题&#xff0c;我这边是内网&#xff0c;有多个路由器&#xff0c;笔记本连的是一个网段&#xff0c;pve又是一个网段&#xff0c;通过ping&…

生信学院|02月02日《云端设计一体化平台—3DEXPERIENCE》

课程主题&#xff1a;云端设计一体化平台—3DEXPERIENCE 课程时间&#xff1a;2024年02月02日 14:00-14:30 主讲人&#xff1a;郭俊辰 生信科技 解决方案顾问 1、云产品发展趋势 2、3DExperience产品的介绍 3、3DExperience DEMO演示 请安装腾讯会议客户端或APP&#xff…

芒果tv数据采集与可视化实现

摘 要 一个爬虫从网上爬取数据的大致过程可以概括为&#xff1a;向特定的网站服务器发出请求&#xff0c;服务器返回请求的网页数据&#xff0c;爬虫程序收到服务器返回的网页数据并加以解析提取&#xff0c;最后把提取出的数据进行处理和存储。因此&#xff0c;一个爬虫程序可…

[Vue3] useRoute、useRouter

useRoute 返回当前路由地址。相当于在模板中使用 $route。必须在 setup() 中调用。用于在组件中获取当前路由的信息&#xff0c;返回一个包含路由信息的对象。这个函数适用于那些不需要监听路由变化的场景&#xff0c;只是获取当前路由信息的静态数据。 useRouter 返回 route…

模拟实现哈希表 - HashMap(Java版本)

目录 1. 概念 2. 冲突-概念 3. 冲突-避免 4. 冲突-避免-哈希函数设计 5. 冲突-避免-负载因子调节 ⭐⭐⭐⭐⭐ 6. 冲突-解决 6.1 冲突-解决-闭散列 6.2 冲突-解决-开散列/哈希桶 ⭐⭐⭐⭐⭐ 7. 冲突严重时的解决办法 8. 模拟实现 1. 概念 顺序结构以及平衡树中&#…

蓝桥杯---牌型种数

小明被劫持到X赌城&#xff0c;被迫与其他3人玩牌。一副扑克牌(去掉大小王牌,共52张)&#xff0c;均匀发给4个人&#xff0c;每个人13张。这时&#xff0c;小明脑子里突然冒出一个问题&#xff1a;如果不考虑花色&#xff0c;只考虑点数&#xff0c;也不考虑自己得到的牌的先后…

HTM标签 - 2

HTM标签 超链接标签 超链接标签&#xff1a;<a> 文本或图片 </a> 用法1&#xff1a;在页面中使用超链接标签跳转到另一个页面 属性描述href页面跳转的地址&#xff0c;相对地址或绝对地址&#xff1b;###&#xff1a;空连接&#xff1b;#&#xff1a;跳转到当前…

vue3+threejs+koa可视化项目——实现登录注册(第三步)

文章目录 ⭐前言&#x1f496;往期node系列文章&#x1f496;threejs系列相关文章&#x1f496;vue3threejs系列 ⭐koa后端登录注册逻辑&#xff08;jwt&#xff09;&#x1f496; koa登录注册 ⭐vue3前端登录注册权限控制&#x1f496; 登录页面&#x1f496; 注册页面 ⭐总结…

AcWing.883.高斯消元解线性方程组

输入一个包含 n 个方程 n 个未知数的线性方程组。 方程组中的系数为实数。 求解这个方程组。 下图为一个包含 m 个方程 n 个未知数的线性方程组示例&#xff1a; 输入格式 第一行包含整数 n n n。 接下来 n n n 行&#xff0c;每行包含 n 1 n1 n1 个实数&#xff0c;表…

01背包问题 动态规划

01背包问题 动态规划 01背包问题 动态规划写了点代码 C#实现程序运行结果代码和程序已经上传 01背包问题 动态规划 很有意思的问题。 写了点代码 C#实现 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Ta…

二进制漏洞挖掘之ret2text栈溢出

栈溢出产生的主要原因是对一些边界未进行严格检查&#xff0c;攻击者可以通过覆盖函数的返回地址执行任意代码。栈溢出漏洞主要的利用方式是ROP&#xff08;Return Oriented Programming&#xff0c;返回导向编程&#xff09;&#xff0c;通过覆盖返回地址&#xff0c;使程序跳…

【01】Linux 基本操作指令

带⭐的为重要指令 &#x1f308; 01、ls 展示当前目录下所有文件&#x1f308; 02、pwd 显示用户当前所在路径&#x1f308; 03、cd 进入指定目录&#x1f308; 04、touch 新建文件&#x1f308; 05、tree 以树形结构展示所有文件⭐ 06、mkdir 新建目录⭐ 07、rmdir 删除目录⭐…

C++进阶(八)红黑树

&#x1f4d8;北尘_&#xff1a;个人主页 &#x1f30e;个人专栏:《Linux操作系统》《经典算法试题 》《C》 《数据结构与算法》 ☀️走在路上&#xff0c;不忘来时的初心 文章目录 一、红黑树的概念二、红黑树的性质三、红黑树结构四、红黑树的插入操作1、情况一2、情况二3、…

vue3开发,axios发送请求是携带params参数的避坑

vue3开发,axios发送请求是携带params参数的避坑&#xff01;今天一直报错&#xff0c;点击新增购物车&#xff0c;报错&#xff0c; 【Uncaught (in promise) TypeError: target must be an object】。查询了网上的资料说的都不对。都没有解决。最终还是被我整明白了。 网上网…

力扣之2621.睡眠函数

/*** param {number} millis* return {Promise}*/ async function sleep(millis) {return new Promise(resolve > setTimeout(resolve, millis)); }/** * let t Date.now()* sleep(100).then(() > console.log(Date.now() - t)) // 100*/ 这样的异步休眠功能在实际应用…