第五周
单向散列函数(哈希函数)
应用:
1.检测软件是否被篡改
2.基于口令的加密(PBE)
3.消息认证码
4.数字签名
5.伪随机数生成器
6.一次性口令
目前的 Hash 函数主要有 MD5,SHA1,SHA256,SHA512。目前的大多数 hash 函数都是迭代性的,即使用同一个 hash 函数,不同的参数进行多次迭代运算。
常见的 Hash 函数的攻击方法主要有:
暴力攻击:
不依赖于任何算法细节,仅与 Hash 值长度有关;
生日攻击 (Birthday Attack):
没有利用 Hash 函数的结构和任何代数弱性质,只依赖于消息摘要的长度,即 Hash 值的长度。
中点交会攻击 (Meet-In-The-Middle):
是生日攻击的一种变形,不比较 Hash 值,而是比较中间变量。这种攻击主要适用于攻击具有分组链结构的 Hash 方案。
哈希长度拓展攻击(hash length extension attacks):
指针对某些允许包含额外信息的加密散列函数的攻击手段。该攻击适用于在消息与密钥的长度已知的情形下,所有采取了 H(key ∥ message) 此类构造的散列函数。
Python调库实现哈希函数:
SHA-1
import hashlib
# 创建一个SHA-1哈希对象
sha1 = hashlib.sha1()
# 读取要哈希的数据,这里假设要哈希的数据是一个字符串
data = "hello world"
# 更新哈希对象
sha1.update(data.encode())
# 获取哈希值,以16进制字符串形式表示
hash_value = sha1.hexdigest()
# 输出哈希值
print(hash_value)
首先创建了一个sha1对象,然后通过update()向对象中添加要哈希的数据,最后调用hexdigest()方法获取哈希值。
SHA-256
import hashlib
sha256 = hashlib.sha256()
data = "hello world"
sha256.update(data.encode())
hash_value = sha256.hexdigest()
print(hash_value)
ctf-show
ZIP伪加密
一个ZIP文件由三大部分组成:压缩源文件数据区+压缩源文件目录区+压缩源文件目录结束标志
判断加密方式:主要看压缩源文件数据区的6-7字节和压缩源文件目录区的8-9字节。
加密方式 | 压缩源文件数据区 | 压缩源文件目录区 |
---|---|---|
加密 | 09 00 | 09 00 |
无加密 | 00 00 | 00 00 |
伪加密 | 00 00 | 09 00或01 00 |
解题:伪加密将压缩源文件目录区改成00 00
萌新 密码3
摩斯密码,去掉 / ,再解码
http://www.zhongguosou.com/zonghe/moErSiCodeConverter.aspx
MORSEISCOOLBUTBACONISCOOLERMMDDMDMDMMMDDDMDMDDMMMMMMMDDMDMMDDM
看见解码后的M,D,结合题目“我想吃培根”,培根密码,将M,D换成A,B即解码
http://www.hiencode.com/baconian.html
转大写
萌新 密码#4
密文最后两个==,先用base64得到
Ao(mgHX^E)ARAnTF(J]f@<6".
题目提示:比base64还大的base
用base85
http://www.atoolbox.net/Tool.php?Id=934
萌新_密码1
53316C6B5A6A42684D3256695A44566A4E47526A4D5459774C5556375A6D49324D32566C4D4449354F4749345A6A526B4F48303D
十六进制转字符串
S1lkZjBhM2ViZDVjNGRjMTYwLUV7ZmI2M2VlMDI5OGI4ZjRkOH0=
看到=尝试base64
KYdf0a3ebd5c4dc160-E{fb63ee0298b8f4d8}
根据题目提示,栅栏密码
萌新 隐写3
打开图片得到flag
萌新 隐写4
word隐写
萌新 隐写2
ARCHPR掩码攻击
1、暴力破解:尝试选择范围内所有的字符组合
例如:选择范围:数字 长度:1-6
从1开始跑到999999
2、掩码:已知道密码某个位置的字符
掩码默认为:?
例如:掩码为:www.???.com 范围选小写a-z
从www.aaaaa.com 跑到www.zzzzz.com
3、字典:在字典中寻找密码
密码必须在字典内
杂项4
暴力破解
杂项5
挑出大写字母
杂项7
题目提示,修改图片的高。
可以从属性中看到图片原本的高,转十六进制,https://www.xiao84.com/tools/103102.html?ivk_sa=1024320u,搜索到了高的所在处
改高,注意winhex中为十六进制形式。
杂项8
改图片的宽
左框为宽,右框为高。