This is the the pyWars client used in SEC573 and SEC673.
To install the client run the following commands:
$ git clone http://github.com/markbaggett/pyWars
$ cd pyWars
$ pip install .
To use the client you must have two pieces of information provided by the SANS Instructor. You must have the Address of the pyWars server and a registration code. With those two pieces of information you can create your account as follows:
$ import pyWars
>>> d = pyWars.exercise("address provided by instructor")
>>> d.new_acct("Your Chosen Username","Your Chosen Password", "Registration code provide by instructor")
>>> d.login("Your email address","Your Chosen Password")
Once your account the account is created and logged in you can use the following methods to interact with the server:
d.question(<question name or number>)- Retrieve and show the question.d.data(<question name or number>)- Retrieve and show a sample of the data. If True is second argument data is unzipped for you.d.answer(<your answer>)- Submit the answer for the last data you queried.d.solution(<path to your solution script>)- Submit your code for review and scoringd.score([True])- Retrieve and show the scoreboard. If True is passed it will display all scocres instead of only yours.d.displayname(NewDisplayName)- Set your displayname on the scoreboardd.logout()- Log out from your current session.d.password(current,new)- Change the password for the logged on account from current to new.print(d.names)- show a list of all loaded challenge namesd.name2num(<question name>)- Lookup a question number from its name.d.num2name(<question number>)- Lookup a question name from its number.
The following attributes change the behavior of the pywars methods:
d.show_all_scores- By default only your score is shown on the scoreboardd.print_rich_text- By default unformated text is rendered to the screen. Enable this if your terminal supportes it.
Note: You must know the current password to change it. The SANS Instructor or SANS Support can reset your password.