签到
数据安全-easy_tables
这是一道CVS数据库日志文件分析的题目,大概意思就是,通过查看最后的日志文件,去检测用户有没有进行违规操作,违规操作包括不存在的账号执⾏了操作不存在的账号执⾏了操作、账号对其不可操作的表执⾏了操作账号对其不可操作的表执⾏了操作、账号对表执⾏账号对表执⾏
了不属于其权限的操作了不属于其权限的操作、账号不在规定时间段内执⾏操作账号不在规定时间段内执⾏操作,并将违规操作使用特定格式输出,并进行排序,最后进行md5加密即可得到flag
脚本如下:
import pandas as pd
import hashlib
from datetime import datetime
output_list = []
users_df = pd.read_csv('users.csv', header=None)
users_df.columns = ['编号', '账号', '密码', '所属权限组编号']
tables_df = pd.read_csv('tables.csv', header=None)
tables_df.columns = ['编号', '表名', '可操作时间段']
permissions_df = pd.read_csv('permissions.csv', header=None)
permissions_df.columns = ['编号', '权限组名', '可操作权限', '可操作表编号']
actionlog_df = pd.read_csv('actionlog.csv', header=None)
actionlog_df.columns = ['编号', '账号', '操作时间', '执行操作']
users_dict = {}
for index, row in users_df.iterrows():
if index == 0:
continue
user