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
工作过程留念:

SharkCTF2021 The_nature_of_the_human的更多相关文章
- SharkCTF2021 fastcalc题记
web --> python脚本编写练习. 直接访问发现全是乱码: 看包发现Content-Type里面没有charset=utf-8. 于是用python访问一下,用.encoding='ut ...
- SharkCTF2021 bbpop题记
一道挺好的web. 做完这一题,感觉php序列化(甚至魔术方法)之类的有点开始玩明白了. 题面很长: 预备知识: PHP类的方法中,有一部分以下划线开头的"魔术方法".不同于普通方 ...
- SharkCTF2021 easy_phpserialize题记
***先说教训: (1)不要看到正则就走不动路:有些正则不一定能绕. (2)__wakeup()漏洞在php5.6以上就被修复了: 本地复现各种题目时要注意环境. -------- 扫描,得到inde ...
- SharkCTF2021 bybypass&baby_phpserialize题记
(国庆褪10天了 先水一篇) bybypass: payload:?anime_is_bae=hehellotherehoomanllotherehooman baby_phpserialize ro ...
- SharkCTF2021 Babyhttp && get_or_lose
两道web. Babyhttp: 直接dirsearch,发现同时存在git和bak泄露:经验证,git的没用. 访问index.php.bak, 下载源码: 抓包,改包,发包即可. get_or_l ...
- SharkCTF2021 pwn“初见”1
(无内鬼 今日不想学了 水一篇) nc nc nc easyoverflow Intoverflow
- SharkCTF2021 Classic_Crypto_king2
crypto类题. 题面如下: 前面的代码给出了原理:后面的字符串第一行是print出的key,第二行是密文. 加密原理是,首先对table进行乱序处理,然后将明文flag按照(顺序table--&g ...
- SharkCTF2021 BabyGame
web类题. 访问题给页面,页面里没啥信息.抓包,发现: 访问它,发现是一个游戏. F12之后看调试器里的js代码,发现: console.log("balabalabala"); ...
随机推荐
- vue 手机号码隐藏中间
template {{ phone | mobileFilter }} data export default { filters:{ mobileFilter(val){ ...
- 利用Struts2拦截器完成文件上传功能
Struts2的图片上传以及页面展示图片 在上次的CRUD基础上加上图片上传功能 (https://www.cnblogs.com/liuwenwu9527/p/11108611.html) 文件上传 ...
- Django——后台管理
1.要使用Django-admin后台的前提 INSTALLED_APPS = [ 'simpleui', 'django.contrib.admin', #必须有这一项 'django.contri ...
- jq的slideToggle效果
slideToggle() 方法通过使用滑动效果(高度变化)来切换元素的可见状态. 如果被选元素是可见的,则隐藏这些元素,如果被选元素是隐藏的,则显示这些元素. 例子:一个简单的下拉菜单效果----& ...
- python 回归分析
一.线性回归 1 绘制散点图 import matplotlib.pyplot as plt x = [5,7,8,7,2,17,2,9,4,11,12,9,6] y = [99,86,87,88,1 ...
- 眼镜选款新方法,用AR+Scene技术实现3D虚拟试戴
互联网和智慧终端的普及促进了电商的产生和蓬勃发展,而新技术的产生,则推动着电商领域的不断升级.疫情使得人们更加习惯于使用电商进行购物,但对传统的线上购物模式已经产生了一些厌倦,电商市场急需模式上的变革 ...
- C# AutoMaper使用自定义主键
有时候实际业务中主键不一定叫Id,比如示例数据库Northwind中的RegionID,TerritoryID等,本示例用Abp框架并以Northwind数据库Region表为数据依据 一.在Core ...
- AWK的内置变量
ARGC: number (2) 在命令行提供的参数的个数,不包括命令awkARGIND: number (0) 当前文件中正在处理的 ARGV 数组的索引值. 文件的位置,从1开始计数.一个文件处在 ...
- 2. Go并发编程--GMP调度
目录 1. 前言 1.1 Goroutine 调度器的 GMP 模型的设计思想 1.2 GMP 模型 1.3. 有关M和P的个数问题 1.4 P 和 M 何时会被创建 2. 调度器的设计策略 3. g ...
- STM32L0系列EEPROM中结构体的读取
在STM32L0中操作EEPROM本来参考了上篇操作FLASH的方法,多多少少都有些问题.我觉得可能是结构体在转换成其他变量的时候出了问题. 比如下面这段代码,在Windows上可以正常运行(使用g+ ...