万本电子书0元读

万本电子书0元读

顶部广告

Security with Go电子书

售       价:¥

5人正在读 | 0人评论 9.8

作       者:John Daniel Leon

出  版  社:Packt Publishing

出版时间:2018-01-31

字       数:40.9万

所属分类: 进口书 > 外文原版书 > 电脑/网络

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
The first stop for your security needs when using Go, covering host, network, and cloud security for ethical hackers and defense against intrusion About This Book ? First introduction to Security with Golang ? Adopting a Blue Team/Red Team approach ? Take advantage of speed and inherent safety of Golang ? Works as an introduction to security for Golang developers ? Works as a guide to Golang security packages for recent Golang beginners Who This Book Is For Security with Go is aimed at developers with basics in Go to the level that they can write their own *s and small programs without difficulty. Readers should be familiar with security concepts, and familiarity with Python security applications and libraries is an advantage, but not a necessity. What You Will Learn ? Learn the basic concepts and principles of secure programming ? Write secure Golang programs and applications ? Understand classic patterns of attack ? Write Golang *s to defend against network-level attacks ? Learn how to use Golang security packages ? Apply and explore cryptographic methods and packages ? Learn the art of defending against brute force attacks ? Secure web and cloud applications In Detail Go is becoming more and more popular as a language for security experts. Its wide use in server and cloud environments, its speed and ease of use, and its evident capabilities for data analysis, have made it a prime choice for developers who need to think about security. Security with Go is the first Golang security book, and it is useful for both blue team and red team applications. With this book, you will learn how to write secure software, monitor your systems, secure your data, attack systems, and extract information. Defensive topics include cryptography, forensics, packet capturing, and building secure web applications. Offensive topics include brute force, port scanning, packet injection, web scraping, social engineering, and post exploitation techniques. Style and approach John Leon has divided the book into two parts which present the team playing defense against anyone breaking into servers and the team playing (ethical!) offense to perform said attacks. All Go *s and programs are workable solutions that can be easily understood and expanded upon by anyone with a system administrator’s level view of networking and cloud-based systems. Golang developers will profit from a swift and incisive approach to security.
目录展开

Title Page

Copyright and Credits

Security with Go

Packt Upsell

Why subscribe?

PacktPub.com

Contributors

About the author

About the reviewer

Packt is searching for authors like you

Preface

Who this book is for

What this book covers

To get the most out of this book

Download the example code files

Conventions used

Get in touch

Reviews

Introduction to Security with Go

About Go

Go language design

The History of Go

Adoption and community

Common criticisms about Go

The Go toolchain

Go mascot

Learning Go

Why use Go?

Why use Go for security?

Why not use Python?

Why not use Java?

Why not use C++?

Development environment

Installing Go on other platforms

Other Linux distributions

Windows

Mac

Setting up Go

Creating your workspace

Setting up environment variables

Editors

Creating your first package

Writing your first program

Running the executable file

Building the executable file

Installing the executable file

Formatting with go fmt

Running Go examples

Building a single Go file

Running a single Go file

Building multiple Go files

Building a folder (package)

Installing a program for use

Summary

The Go Programming Language

Go language specification

The Go playground

A tour of Go

Keywords

Notes about source code

Comments

Types

Boolean

Numeric

Generic numbers

Specific numbers

Unsigned integers

Signed integers

Floating point numbers

Other numeric types

String

Array

Slice

Struct

Pointer

Function

Interface

Map

Channel

Control structures

if

for

range

switch, case, fallthrough, and default

goto

Defer

Packages

Classes

Inheritance

Polymorphism

Constructors

Methods

Operator overloading

Goroutines

Getting help and documentation

Online Go documentation

Offline Go documentation

Summary

Working with Files

File basics

Creating an empty file

Truncating a file

Getting the file info

Renaming a file

Deleting a file

Opening and closing files

Checking whether a file exists

Checking read and write permissions

Changing permissions, ownership, and timestamps

Hard links and symlinks

Reading and writing

Copying a file

Seeking positions in a file

Writing bytes to a file

Quickly writing to a file

Buffered writer

Reading up to n bytes from a file

Reading exactly n bytes

Reading at least n bytes

Reading all bytes of a file

Quickly reading whole files to memory

Buffered reader

Reading with a scanner

Archives

Archive (ZIP) files

Extracting (unzip) archived files

Compression

Compressing a file

Uncompressing a File

Creating temporary files and directories

Downloading a file over HTTP

Summary

Forensics

Files

Getting file information

Finding the largest files

Finding recently modified files

Reading the boot sector

Steganography

Generating an image with random noise

Creating a ZIP archive

Creating a steganographic image archive

Detecting a ZIP archive in a JPEG image

Network

Looking up a hostname from an IP address

Looking up IP addresses from a hostname

Looking up MX records

Looking up nameservers for a hostname

Summary

Packet Capturing and Injection

Prerequisites

Installing libpcap and Git

Installing libpcap on Ubuntu

Installing libpcap on Windows

Installing libpcap on macOS

Installing gopacket

Permission problems

Getting a list of network devices

Capturing packets

Capturing with filters

Saving to the pcap file

Reading from a pcap file

Decoding packet layers

Creating a custom layer

Converting bytes to and from packets

Creating and sending packets

Decoding packets faster

Summary

Cryptography

Hashing

Hashing small files

Hashing large files

Storing passwords securely

Encryption

Cryptographically secure pseudo-random number generator (CSPRNG)

Symmetric encryption

AES

Asymmetric encryption

Generating a public and private key pair

Digitally signing a message

Verifying a signature

TLS

Generating a self-signed certificate

Creating a certificate signing request

Signing a certificate request

TLS server

TLS client

Other encryption packages

OpenPGP

Off The Record (OTR) messaging

Summary

Secure Shell (SSH)

Using the Go SSH client

Authentication methods

Authenticating with a password

Authenticating with private key

Verifying remote host

Executing a command over SSH

Starting an interactive shell

Summary

Brute Force

Brute forcing HTTP basic authentication

Brute forcing the HTML login form

Brute forcing SSH

Brute forcing database login

Summary

Web Applications

HTTP server

Simple HTTP servers

HTTP basic auth

Using HTTPS

Creating secure cookies

HTML escaping output

Middleware with Negroni

Logging requests

Adding secure HTTP headers

Serving static files

Other best practices

CSRF tokens

Preventing user enumeration and abuse

Registration

Login

Resetting the password

User profiles

Preventing LFI and RFI abuse

Contaminated files

HTTP client

The basic HTTP request

Using the client SSL certificate

Using a proxy

Using system proxy

Using a specific HTTP proxy

Using a SOCKS5 proxy (Tor)

Summary

Web Scraping

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

Depth-first crawling

Breadth-first crawling

How to protect against web scraping

Summary

Host Discovery and Enumeration

TCP and UDP sockets

Creating a server

Creating a client

Port scanning

Grabbing a banner from a service

Creating a TCP proxy

Finding named hosts on a network

Fuzzing a network service

Summary

Social Engineering

Gathering intel via JSON REST API

Sending phishing emails with SMTP

Generating QR codes

Base64 encoding data

Honeypots

TCP honeypot

The TCP testing tool

HTTP POST form login honeypot

HTTP form field honeypots

Sandboxing

Summary

Post Exploitation

Cross compiling

Creating bind shells

Creating reverse bind shells

Creating web shells

Finding writable files

Changing file timestamp

Changing file permissions

Changing file ownership

Summary

Conclusions

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

Where to go from here

Getting help and learning more

Another Book You May Enjoy

Leave a review – let other readers know what you think

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部