计时攻击 测试程序
程序员文章站
2022-03-13 08:09:53
https://coolshell.cn/articles/21003.html...
今天看了一篇文章,觉得计时攻击很有趣,就写了个小程序测试了一下计时攻击。
使用这种方法去猜测一组字符,速度能比穷举法快很多,具体原理这篇文章中有详细分析:
https://coolshell.cn/articles/21003.html
代码如下:
为了便于研究,假设密码长度已知,并模拟延时0.00001s
# login.py
# 模拟登陆等字符串验证过程
import time
password = "asdfv"
def login(input):
for i in range(0,len(input)):
if password[i] != input[i]:
return False
# 模拟延时
time.sleep(0.00001)
return True
# guess.py
import login
import time
import sys
length = 5
times = 1000
# 获取密码验证耗费时间
def getRunTime(input):
t1 = time.time()
# 多次验证,累计时间
for i in range(int(times)):
login.login(input)
t2 = time.time()
runTime = t2 - t1
return runTime
if __name__ == "__main__":
result = ""
for index in range(length):
# 验证次数随已猜测字符串长度增加而减少
times/=(index+1)
maxTime = 0
bestLetter = ''
for i in range(26):
letter = chr(ord('a')+i)
runTime = getRunTime(result+letter)
if runTime > maxTime:
maxTime = runTime
bestLetter = letter
result += bestLetter
print(str(index/length*100)+"%")
print("100.0%")
print(result)
本文地址:https://blog.csdn.net/string_kai/article/details/107169904
上一篇: Android 使用腾讯TBS