Within your course repository, create a directory for the homework, then commit and push to your remote repository.
cd <path_to_repo> mkdir hw9 touch hw9/app.py touch hw9/screencast_url.txt git add hw9 git commit -m "initial commit" git push
In this homework, based on the lab exercises, you will extend the exercises given to you in the labs to build applications that automate the identification, patching, and/or exploitation of vulnerable code or CTF levels.
nmap, sqlmap) and command line tools not used in lab exercises. As an alternative option, you may also
Note that when testing these tools on Google Cloud resources, take care to point them only to the internal IP addresses of servers you deploy on your Google Cloud Project (e.g. 10.x.y.z). Your development should be organized and incremental, with frequent commits into your git repository. Code should also be properly documented via Python docstrings. In addition, you must also ensure API keys do not show up in your source files, but rather are passed in via environment variables. Ensure your application code is pushed to your repository before class.
Upon completing your application, via a narrated screencast of no longer than 5 minutes, you will perform a demonstration and source code walk-through of the application. Ensure that the video camera is turned on initially in your screencast. The screencast should follow the order given below:
Upload your completed screencast on MediaSpace. Ensure that it is published as "Unlisted". Then, update the file screencast_url.txt in the homework's directory to contain the URL that your unlisted screencast on MediaSpace is located. Push the changes that include the updated URL to your repository before class.
We will be using your screencast and git repository to evaluate your homework.
Code checkout shown |
Demonstration of the various capabilities of the application |
Demonstration of the various limitations of the application |
Functionality added |
Code quality (clean with no unused code or variables, readable, modular, documented with Docstrings and comments, no hard-coded keys within source code) |
Walkthrough of source code via git commits shown on Gitlab. (Quantity of submitted code explained minus the quantity of submitted code not explained) |
Instructions followed properly including code submission in the specified repository files, sequencing and length of screencast. |