Chapter
Chapter 1: Introduction to Security with Go
Common criticisms about Go
Installing Go on other platforms
Other Linux distributions
Setting up environment variables
Creating your first package
Writing your first program
Running the executable file
Building the executable file
Installing the executable file
Building a single Go file
Building multiple Go files
Building a folder (package)
Installing a program for use
Chapter 2: The Go Programming Language
Go language specification
switch, case, fallthrough, and default
Getting help and documentation
Chapter 3: Working with Files
Opening and closing files
Checking whether a file exists
Checking read and write permissions
Changing permissions, ownership, and timestamps
Seeking positions in a file
Quickly writing to a file
Reading up to n bytes from a file
Reading all bytes of a file
Quickly reading whole files to memory
Extracting (unzip) archived files
Creating temporary files and directories
Downloading a file over HTTP
Finding the largest files
Finding recently modified files
Generating an image with random noise
Creating a steganographic image archive
Detecting a ZIP archive in a JPEG image
Looking up a hostname from an IP address
Looking up IP addresses from a hostname
Looking up nameservers for a hostname
Chapter 5: Packet Capturing and Injection
Installing libpcap and Git
Installing libpcap on Ubuntu
Installing libpcap on Windows
Installing libpcap on macOS
Getting a list of network devices
Converting bytes to and from packets
Creating and sending packets
Storing passwords securely
Cryptographically secure pseudo-random number generator (CSPRNG)
Generating a public and private key pair
Digitally signing a message
Generating a self-signed certificate
Creating a certificate signing request
Signing a certificate request
Other encryption packages
Off The Record (OTR) messaging
Chapter 7: Secure Shell (SSH)
Authenticating with a password
Authenticating with private key
Executing a command over SSH
Starting an interactive shell
Brute forcing HTTP basic authentication
Brute forcing the HTML login form
Brute forcing database login
Chapter 9: Web Applications
Adding secure HTTP headers
Preventing user enumeration and abuse
Preventing LFI and RFI abuse
Using the client SSL certificate
Using a specific HTTP proxy
Using a SOCKS5 proxy (Tor)
Web scraping fundamentals
Finding strings in HTTP responses with the strings package
Using regular expressions to find email addresses in a page
Extracting HTTP headers from an HTTP response
Setting cookies with an HTTP client
Finding HTML comments in a web page
Finding unlisted files on a web server
Changing the user agent of a request
Fingerprinting web application technology stacks
Fingerprinting based on HTTP response headers
Fingerprinting web applications
How to prevent fingerprinting of your applications
Using the goquery package for web scraping
Listing all hyperlinks in a page
Finding documents in a web page
Listing page title and headings
Crawling pages on the site that store the most common words
Printing a list of external JavaScript files in a page
How to protect against web scraping
Chapter 11: Host Discovery and Enumeration
Grabbing a banner from a service
Finding named hosts on a network
Fuzzing a network service
Chapter 12: Social Engineering
Gathering intel via JSON REST API
Sending phishing emails with SMTP
HTTP POST form login honeypot
HTTP form field honeypots
Chapter 13: Post Exploitation
Creating reverse bind shells
Changing file permissions
Recapping the topics you have learned
More thoughts on the usage of Go
What I hope you take away from the book
Be aware of legal, ethical, and technical boundaries
Getting help and learning more
Another Book You May Enjoy
Leave a review – let other readers know what you think