
This course includes our updated coding exercises so you can practice your skills as you learn.
See a demo
Welcome to the course!
An overview of what we will be covering in this course and how it is structured.
We take a look at a quick example of a log analysis security tool.
This is the kind of tool that you will be able to build using Python once you finish this course.
We will use https://repl.it/ for this example.
The code for the log analyzer tool. Be sure to download the access.log file from the lecture resources to try as your sample input.
We take a look at another security tool, this time it is a password checker.
You will be able to easily build Python tools like these once you finish this course.
We will use the https://haveibeenpwned.com API for this example.
We go over the development environment that we will be using for this course.
repl.it is at https://repl.it/
We will add latest updates relating to the course in this text
An introductory look at what is covered in section 2
We explore what is meant by cyber security in the modern world and what actually comprises the work of a cyber security professional.
We will review the methodology of cyber security professionals.
In this brief text summary we will talk about Python and the crash course that's available as a bonus in section 7
An overview of repl.it and how to use Python with this great, free tool
Penetration Testing is a key practice for cyber security professionals. Here we go over the basics of what it is and the variables involved.
Demonstrate a python-based penetration testing workflow by sending requests, evaluating status codes, and probing for admin panels and potential vulnerabilities on a simple web site.
As the number of Internet-connected devices continue to grow, botnets are a dominant cause for concern in today's cyber security and information technology landscape. This is an overview of what they are and how they work, including an explanation of DDoS attacks.
Explore a simple Python example that dumps environment variables to a dict, converts to JSON, and posts secrets to a server to simulate botnet data collection and phoning home.
Understand how code exploits enable remote or local unauthorized code execution and data access, and examine zero days, bug bounty programs, and the Madis ploy framework.
Learn how a code exploit can overflow buffers by feeding a binary file of crafted bytes using Python, revealing how garbage data can leak passwords when the file is processed.
Stay informed about vulnerabilities and patches, apply timely updates, test systems after patches, and use authorized sources with multi-factor authentication to prevent exploits.
Maintain regular backups and tamper-proof audit trails, including access logs, to prevent the need for forensic investigation and to reconstruct past events for compliance.
Explore network traffic analysis with a Python code example using scapy to sniff packets on a specified interface, print packet summaries, and run with administrator privileges.
Explore how wireless connectivity relates to cybersecurity, covering wardriving, rogue access points, and the risks of zero physical access and default credentials.
Demonstrates web reconnaissance with Python by fetching a domain via requests, detecting SSL, stylesheets, and JavaScript, and cataloging results into a JSON profile with a unique digest.
We explore the topic of antivirus evasion and how an application can bypass an antivirus scan.
Examine how a simple Python command can be concealed with base64 encoding and obfuscated code to bypass antivirus checks, including writing and evaluating decoded content.
Explore antivirus evasion remediation by updating virus definitions, applying signatures across devices, and integrating a security tool suite with firewalls, authentication, and monitoring to prevent and detect malicious code.
We take a look at the various non-technical ways in which attackers can get sensitive information and compromise information systems.
An introductory look at the content covered in section 3
Build a Python security tool named Achilles with a command line interface, using argument parsing, input validation, and HMO document parsing to perform vulnerability analysis and output a report.
Parse HTML documents served by a local http server using urllib.parse and BeautifulSoup, inspect forms with find_all, and assess elements for vulnerability reporting.
Generate a report from our analysis by flagging non-secure forms in the document. Print the issue report for form vulnerabilities and prepare for the next check.
Understand how to test a Python security tool with integration testing, treating it as a black-box by feeding inputs and validating outputs, including error conditions on the command line.
A brief look at the content covered in section 4
Explain how command injection exploits rely on unsanitized input to execute code on a server, often targeting Linux-based systems with Java, AWS, Red Hat, and other stacks.
Demonstrates command injection in a Rails app by showing unsanitized input triggering os commands, and explains stopping it by sanitizing input and applying a character blacklist.
Examine SQL injection as a common vulnerability from unsanitized inputs and poorly structured queries. Learn how proper query discipline and input sanitization protect databases in web apps.
Explain sql injection in rails by showing how unsafely built queries can return all users, and demonstrate fixing it with parameterized queries.
Examine broken authentication and how password complexity shapes security, highlighting risks of weak or reused passwords across systems and legacy eight-character or restricted rules in web applications.
Explore password complexity and how weak passwords create a vulnerability in sign up forms, as the PHP example shows length checks and rules to enforce longer, more complex passwords.
illustrates information leakage in authentication with a Rails login example, showing how specific messages reveal username or password errors and how generic failure messages remediate security risk.
Protect sensitive data by preventing information leakage, enforcing encryption, and restricting data returned to users to avoid exposing passwords, cookies, or personal records.
Examine xml external entities (XXE) vulnerabilities where external entities load local files, exposing sensitive data; learn to defend by disabling external entity loading and scanning inputs for patterns.
Identify and prevent broken access control by enforcing proper authorization rules, guarding against manipulated requests and role-based access, to protect sensitive data and avoid data leaks.
Explore how security misconfiguration affects any web app stack—from data layers to gateways—through insecure defaults, unnecessary features, and outdated software, and how to harden with proper configuration.
Demonstrate how insecure deserialization in a PHP example lets an attacker tamper with cookies and gain admin rights by manipulating user data, and suggest encrypting and separating cookies.
Applications that use vulnerable components can often be the target of devastating breaches. It is important to understand the underlying issues with not keeping dependencies up to date.
A look at how using vulnerable components in Rails might happen and how to avoid and/or remediate it.
An example of how this vulnerability can look in a PHP app and how to remediate it.
A vulnerability that is often overlooked but one that can make a huge difference is not having enough logging and monitoring.
This is an explanation of why logging and monitoring are important.
We look at an example of insufficient logging and monitoring and how to remediate this vulnerability in Rails.
What does it look like when the "Insufficient Logging and Monitoring" vulnerability shows up in a PHP application? We take a look at that here.
We take a look at a popular web security analysis tool for Rails - Brakeman Security Scanner.
Understand data breaches, their causes, and downstream effects, and learn practical strategies such as data retention policy, encryption, intrusion detection, and clear communication plans to mitigate exposure.
Build a Python password hashing tool for secure storage and authentication. Learn why plain-text passwords are unsafe, and how salted hashing prevents recovery while still allowing login checks.
Check the python version, create a folder called incorruption, write a python file with a shebang, make it executable, and run it from the command line to print hello.
Learn to build a Python command line tool with argparse and pip, define a version, add a required password argument, parse inputs, and test printing before adding encryption logic.
Evaluate a Python password hashing tool by printing the encrypted password and validating it with a check password function to confirm the encrypted and original passwords match, ensuring secure storage.
Tools we will use to learn python
Working with Strings in Python
In this lecture we learn how to work with numbers in Python
Investigate lists and tuples in Python
In this lecture we will explore dictionaries
We will explore adding conditional logic and make python respond to such logic along with writing functions
Explore how to work with imports and introduce the standard library
We explore basics of object oriented programming in this lecture
Thank you for taking the course!
*** Course updated 10/30/2018 (always kept up-to-date) ***
Learn a practical skill-set in detecting and defeating online threats and become a Cyber Security Specialist - not just in theory - but in practice.
Go from a beginner to advanced in this easy to follow expert course by building security analysis tools using the wildly popular Python programming language, along with analyzing web application security vulnerabilities and solutions using frameworks like Ruby on Rails and php.
There is NO platform dependency in this course - You can use any platform you choose - Windows, MacOS and Linux.
No prior experience required with Python or any of the topics covered in this course - There is a Python crash course included!
This course covers the fundamental building blocks of your required skill set - some key items include:
Vulnerability Analysis
Building and Publishing Security Tools - Dynamic web app security scanner, Password hashing and encrypt tool among many others!
Security Scanning
Phishing Protection
Web Application Vulnerability Mitigation
Password Complexity Analysis
Antivirus Evasion Remediation
Multi-Factor Authentication
Network Traffic Analysis
Cloud Security
Ethical Hacking
Web Reconnaissance
Wireless Access Point Protection
Programming with Python
We also cover the biggest threats in the information technology world today, including:
Botnets
Code Exploits
Sensitive Data Exposure
SQL Injection
Social Engineering
Cross-Site Scripting
Port Scanning
and many more!
You will get lifetime access to over 100 lectures and 11 hours of video lectures plus corresponding text guides for the lectures!
This course comes with a 30 day money back guarantee! If you are not satisfied in any way, you'll get your money back, no questions asked!
So what are you waiting for? Learn Cyber Security, Python for Cyber Security and Web Application Security in a way that will advance your career and increase your knowledge, all in a fun and practical way!