计时攻击 测试程序
程序员文章站
2022-06-26 08:54:32
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
上一篇: Python爬虫突破反爬虫机制知识点总结
推荐阅读
-
Appium+Python自动化测试之运行App程序示例
-
IP攻击升级,程序改进以对付新的攻击
-
飞云写的防CC攻击的ASP程序插件 打包下载
-
javascript实现抢购倒计时程序
-
微信小程序授权 获取用户的openid和session_key【后端使用java语言编写】,我写的是get方式,目的是测试能否获取到微信服务器中的数据,后期我会写上post请求方式。
-
详解微信小程序用定时器实现倒计时效果
-
微信小程序项目实践之验证码倒计时功能
-
读书笔记《PHP高级程序设计、模式、框架与测试》
-
程序运行时间测试 - 使用libc 中 clock 函数
-
程序运行时间测试 - 使用libc 中 time 函数 实现秒级的运行时间检测