SharkCTF2021 The_nature_of_the_human
(信安数基的quiz1写不出来 来这放题解泄愤)
crypto类题。
题面
其加密的大致过程是,对明文flag中的逐个字符,随机使用三种加密方式:
第一种,对该字符进行sha256加密后以16进制形式输出。
第二种,将该字符转化为ascii码值,后进行指数运算+取模 加密。
第三种,依次有base32,base64,base16加密;随机生成key,并根据key的二进制后三位,决定是否进行。
代码审计部分:
append()方法在被选元素的结尾(仍然在内部)插入指定内容。
该方法只能对列表使用,且无返回值;但对参数限制较少。
ord()函数只能对字符型变量使用;返回其对应的ascii码值。
其他函数等都来自额外的 {from hashlib import sha256}{from base64 import *}中,使用时照葫芦画瓢即可。
解码时,对于第一种加密,有脚本:
对于第二种加密,有脚本:
这两个脚本的思路都是 算出所有字符对应的加密,然后查询密文。
对于第三种加密,我是用解码器一个一个试的。
https://www.qtool.net/baseencode
工作过程留念:
分类:
杂乱
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?