欢迎关注 『网络攻防CTF』 系列,持续更新中
欢迎关注 『网络攻防CTF』 系列,持续更新中
整理的思路是穷举法,根据提示凑可能的字符,下面的题目为了演示,缺省的字符默认是数字字母了,比较难的题目可能还会有可能是标点符号等等,思路类似。
已知一段md5密文
fa2cdddd07f211664697797a54de08ea
已知线索 明文为: flag{Th?s A Pen},求明文
import hashlib
for i in range(32, 127): # 使用for循环逐个尝试所有的字母,chr(i)返回值是当前整数对应的 ASCII 字符。
m = hashlib.md5() # 获取一个md5加密算法对象
m.update(str('flag{Th' + chr(i) + 's A Pen}').encode('utf-8')) # 指定需要加密的字符串
des = m.hexdigest() # 进行md5加密
if des == 'fa2cdddd07f211664697797a54de08ea': # 如果得到的密文和我们预期的密文相同,输出
print('flag{Th' + chr(i) + 's A Pen}')
注意是l
不是This
flag{Th1s A Pen}
这里有一段丢失的md5密文
7257f353cab82f3087cb2113533???
要求你还原出他的明文
已知线索 明文为: flag{HELLO WOR??}
import hashlib
for i in range(32, 127):
for j in range(32, 127):
m = hashlib.md5() # 获取一个md5加密算法对象
m.update(str('flag{HELLO WOR' + chr(i) + chr(j) + '}').encode("utf-8")) # 指定需要加密的字符串
des = m.hexdigest()
if '7257f353cab82f3087cb2113533' in des: # 如果得到的密文和我们预期的密文相同,输出
print(des)
明文是7257f353cab82f3087cb2113533997e4
这里有一段丢失的sha1密文
89aa???0bfd7da1409???c8c76e0461aaf9???
要求你还原出他的原值和hash值
已知线索 明文为: fl??{HELLO ?ORLD}
# @Time : 2022/3/11 11:07
# @Author : 南黎
# @FileName: 3.py
import hashlib
for i in range(32, 127):
for j in range(32, 127):
for k in range(32, 127):
m = hashlib.sha1() # 获取一个md5加密算法对象
m.update(('fl' + chr(i) + chr(j) + '{HELLO ' + chr(k) + 'ORLD}').encode("utf8")) # 指定需要加密的字符串
des = m.hexdigest()
if "89aa" in des and "0bfd7da1409" in des and "c8c76e0461aaf9" in des: # 如果得到的密文和我们预期的密文有相同的字符串子串,输出
print(des)
print('fl' + chr(i) + chr(j) + '{HELLO ' + chr(k) + 'ORLD}')
m = hashlib.sha1()
if "89aa" in des and "0bfd7da1409" in des and "c8c76e0461aaf9" in des: # 如果得到的密文和我们预期的密文有相同的字符串子串,输出
print(des)
flag{HELLO WORLD}
89aa2920bfd7da1409485c8c76e0461aaf92aff0
大家喜欢的话,给个,点个关注!继续跟大家分享敲代码过程中遇到的问题!
版权声明:
发现你走远了@mzh原创作品,转载必须标注原文链接
Copyright 2022 mzh
Crated:2022-3-6
欢迎关注 『网络攻防CTF』 系列,持续更新中
欢迎关注 『网络攻防CTF』 系列,持续更新中
【网络攻防CTF】草稿(保姆级图文)
【更多内容敬请期待】