public static int ProcessPut(string host, string id, string flag) { log.Info("Processing Vuln1.Put"); var r = new Random(); var candidateUsers = GenerateCandidates(candidatesMinCount, candidatesMaxCount); var candidateWithFlagNum = r.Next(candidateUsers.Length); var candidateWithFlag = candidateUsers[candidateWithFlagNum]; candidateWithFlag.PrivateMessage = flag; log.InfoFormat("Generated {0} candidates (#{1} has flag)", candidateUsers.Length, candidateWithFlagNum); candidateUsers = Vuln2Methods.RegisterCandidates(host, candidateUsers).OrderBy(user => user.Login).ToArray(); var election = Vuln2Methods.StartElection(host, candidateUsers[0], true, nominateTimeInSec, voteTimeInSec); var electionStartDt = DateTime.UtcNow; Vuln2Methods.NominateUsers(host, election, candidateUsers.Skip(1).ToArray()); var state = new Vuln1State { ElectionStartDate = electionStartDt, NominateTimeInSec = nominateTimeInSec, VoteTimeInSec = voteTimeInSec, ElectionId = election.Id.ToString(), Candidates = candidateUsers }; log.Info("Flag put"); Console.Out.WriteLine(Convert.ToBase64String(Encoding.UTF8.GetBytes(state.ToJsonString()))); return((int)ExitCode.OK); }
public static int ProcessPut(string host, string id, string flag) { log.Info("Processing Vuln1.Put"); var r = new Random(); var candidateUsers = GenerateCandidates(candidatesMinCount, candidatesMaxCount); var candidateWithFlagNum = r.Next(candidateUsers.Length); var candidateWithFlag = candidateUsers[candidateWithFlagNum]; candidateWithFlag.PrivateMessage = flag; log.InfoFormat("Generated {0} candidates (#{1} has flag)", candidateUsers.Length, candidateWithFlagNum); candidateUsers = Vuln2Methods.RegisterCandidates(host, candidateUsers).OrderBy(user => user.Login).ToArray(); var election = Vuln2Methods.StartElection(host, candidateUsers[0], true, nominateTimeInSec, voteTimeInSec); var electionStartDt = DateTime.UtcNow; Vuln2Methods.NominateUsers(host, election, candidateUsers.Skip(1).ToArray()); var state = new Vuln1State { ElectionStartDate = electionStartDt, NominateTimeInSec = nominateTimeInSec, VoteTimeInSec = voteTimeInSec, ElectionId = election.Id.ToString(), Candidates = candidateUsers }; log.Info("Flag put"); Console.Out.WriteLine(Convert.ToBase64String(Encoding.UTF8.GetBytes(state.ToJsonString()))); return (int) ExitCode.OK; }