The objective of this repository is to store my solutions for the exercises proposed as part of the Python for Pentesters and Hackers class.
The current course syllabus and information can be found at: Security Python Scripting Expert.
The syllabus for the exercises in this repository is the following,
- Introduction to Interpreted Languages and Python
- Data Types and variables
- Operators and Expressions
- Program Structure and Control
- Functions and Functional Programming
- Classes, Objects and other OOPS concepts
- Modules, Packages and Distribution
- Python in Linux and Unix
- Python in Windows
- Python in Mobiles: iPhone and Androids
- Python in Embedded Devices: Routers
- Program Portability
- Lab Exercises
- I/O in Python
- File and Directory Access
- Multithreading and Concurrency
- Inter Process Communication (IPC)
- Permissions and Controls
- Case Studies
- Raw Socket basics
- Socket Libraries and Functionality
- Programming Servers and Clients
- Programming Wired and Wireless Sniffers
- Programming arbitrary packet injectors
- PCAP file parsing and analysis
- Case Studies
- Lab Exercises
- Web Servers and Client scripting
- Web Application Fuzzers
- Scraping Web Applications – HTML and XML file analysis
- Web Browser Emulation
- Attacking Web Services
- Application Proxies and Data Mangling
- Automation of attacks such as SQL Injection, XSS etc.
- Case Studies
- Lab Exercises
- Exploit Development techniques
- Immunity Debuggers and Libs
- Writing plugins in Python
- Binary data analysis
- Exploit analysis Automation
- Case Studies
- Lab Exercises
- Process Debugging basics
- Pydbg and its applications
- Analyzing live applications
- Setting breakpoints, reading memory etc.
- In-memory modifications and patching
- Case Studies
- Lab Exercises
- Task Automation with Python
- Libraries and Applications
- Case Studies
- Lab Exercises
Note that the code in this repository was written as part of a Python learning exercise, since then I've improved my Python skills. Reference a more current repository to assess progress.